Desenvolvimento de Software AD HOC, a Armadilha!

Quem gerencia projetos, ou já contratou empresas para executar projetos, sabe que uma das maneiras de se diminuir custos e prazos de entrega é diminuir a qualidade do produto, não utilizar processos definidos, não gerar documentação, não executar fases previstas no desenvolvimento de software e não planejar e executar testes apropriados.

É justamente aqui que se está se armando uma grande armadilha. Os envolvidos podem não estar cientes das consequências geradas da entrega do sistema desenvolvido sem ter sido dada a devida atenção à qualidade. Todo numerário economizado no desenvolvimento poderá e será gasto na geração de novas versões corrigidas que deverão ser entregues ao cliente, além de termos um custo imensurável ligado a imagem do produto e da própria empresa.

Outro efeito da falta da utilização de processos definidos e da engenharia de software é a geração de sistemas não amigáveis para uso, apresentando informações consideradas não fidedignas e com erros de funcionamento. Neste cenário, nenhum usuário se interessará em utilizar o sistema desenvolvido, fazendo que o projeto fracasse e que seja perdido todo o investimento realizado.

Imagine o cenário de um sistema de cobrança bancária, para o qual você poderia estar participando de um processo de manutenção corretiva, sem ter documentação do sistema e sem ter conhecimento das regras de negócio implementadas. Imagine também que esta manutenção está relacionada à correção de informações, que estão sendo geradas incorretamente. Agora, para finalizar, imagine que o sistema possui milhares de linhas de código e você é novo na equipe, sendo que os programadores que implementaram o sistema não estão mais na empresa.

Por mais que este cenário seja assustador, podemos encontrá-lo neste exato momento em diversos lugares, enquanto você lê este artigo.

O que faltou no projeto de desenvolvimento deste tipo de sistema?

Tecnicamente, poderia citar:

  • Engenharia de Software e utilização de processos definidos
  • Utilização de metodologia de desenvolvimento de sistema alinhado ao paradigma associado ao projeto
  • Utilização de Design Patterns quando apropriado
  • Documentação adequada
  • Planejamento e execução de testes adequados

Do lado humano, poderia citar:

  • Participação no projeto de profissionais com conhecimento dos itens técnicos acima relacionados
  • Falta de percepção do sponsor do projeto do valor e benefícios de se utilizar os itens acima relacionados
  • Falta de conhecimento dos envolvidos no projeto, das melhores práticas de mercado para desenvolvimento de software e de seus benefícios

Já tive a oportunidade de presenciar de empresários e executivos, o seguinte comentário:

Prefiro o desenvolvimento de software sem utilizar Orientação a Objetos e processos de desenvolvimento, pois é mais barato e mais rápido de se disponibilizar o sistema para os usuários.

Pessoas que pensam assim, provavelmente desconhecem o que vou apresentar no próximo artigo, denominado “Crise do legado”, onde mostro informações que deixam claro, a grande armadilha de quem escolhe este tipo de procedimento no desenvolvimento de software.

Desenvolver código baseado nesta idéia pode gerar as seguintes conseqüências:

  • Implantação de sistemas cheios de erros, constantemente entrando em manutenção
  • Sistemas que podem não atender às expectativas dos Stakeholders
  • Softwares com alto custo de manutenção
  • Softwares difíceis de serem utilizados, não atendendo às necessidades dos StakeHolders
  • Grande insatisfação dos usuários
  • Fracasso do projeto

O desenvolvimento de sistema sem utilizar processos, AD HOC, acaba custando muito mais caro, gerando insatisfação.

Já presenciei várias vezes, pessoas que simplesmente não queriam e não utilizavam sistemas disponibilizados pela empresa, por pelo menos um dos seguintes motivos:

  • Não confiavam nos dados por eles apresentados
  • Porque não atendiam a suas expectativas e necessidades do dia a dia
  • Porque tinham usabilidade ruim
  • Porque viviam apresentando problemas de funcionamento

O detalhe mais triste é que as empresas onde estas pessoas trabalhavam, investiram dinheiro e tentaram disponibilizar sistemas para melhorar a produtividade e diminuir custos das mesmas. O resultado foi exatamente o contrário, além de não diminuir custos, nem aumentar produtividade, as empresas perderam todo o investimento realizado e o sistema caiu em desuso, literalmente, sendo jogado fora.


Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!