O preço das gambiarras (débito técnico) - Blog CMMI & MPS.Br
Home > Engenharia > O preço das gambiarras (débito técnico)
O preço das gambiarras (débito técnico)
By Washington Souza on April 17, 2012
Assim como o saldo negativo no banco exige o pagamento de juros o mesmo acontece no desenvolvimento de software. Segundo pesquisa da Cast Software em 745 aplicações de 160 empresas em 12 segmentos, a quantidade de aplicações mal projetadas aumentou no mercado mundial e consequentemente muito lixo e gambiarras está rodando por ai ao redor do mundo. O nome dado a este evento é débito técnico e isto acontece em especial devido a quantidade de gambiarras que são feitas para implementar os sistemas.
Gambiarras para se ganhar tempo
Para "ganhar tempo" não se faz um levantamento detalhado, não se documenta os requisitos, não se obtém aprovações e os testes são mal feitos entre diversas outras "más práticas". O mesmo acontece quando o objetivo é a redução de custos onde profissionais com pouco preparo recebem tarefas que vão além da sua capacidade.
Há um equilíbrio entre qualidade, custo e prazo e quando isto não é respeitado, um destes elementos é sacrificado.
Quando da implementação de uma nova funcionalidade em um sistema pensamos em duas formas de atender: A primeira é mais rápida, você desenvolve apenas o código e pronto, já atendeu seu cliente. O problema é que as coisas saem meio bagunçadas, sem planejamento e sem pensamento no futuro além da quantidade de "cheio de gambiarras". O débito técnico será pago no futuro.
Cenário onde as gambiarras pagam um alto preço – débito técnico
A outra é mais elegante e organizada pois planeja-se o que será feito, documenta-se o que será feito e os códigos são gerados e testados de acordo com cenários pré-definidos para atender o negócio. Nestes casos o débito técnico é mínimo.
Ambos os cenários acontecem o tempo todo no desenvolvimento de software e quando seguimos a linha das gambiarras, estamos jogando fora todo o conhecimento em engenharia de software, recomendações, boas práticas e principalmente as lições que a comunidade de engenharia de software aprendeu nos últimos 30 anos. Um programador pode se vangloriar de ter entregue um sistema em metade do tempo e cinco dias depois se decepcionar ao perceber que uma tela demora 5 minutos para ser mostrada em decorrência da falta de estruturação, arquitetura, planejamento e principalmente testes. Alguém vai ter que corrigir isto e haverá um custo ou também podemos chamar de "débito técnico". Quem vai pagar isso?
É possível entregar antes, mas com gambiarras. Resultado: alto débito técnico
Um bom sinal de débito técnico é quando ouvimos aquela frase "estava tão ruim que tive que refazer".
Com o tempo o volume de débitos técnicos em um sistema vão inviabilizando a implementação de novas melhorias devido ao volume de trabalho adicional necessário, nestes casos os juros é ainda maior pois pode ser necessário reconstruir todo o sistema para atender à uma nova necessidade.
Então… quer dizer que não há como fazer um projeto em pouco tempo com qualidade?
A resposta é: claro que é possível, só que não há mágica nem bala de prata, para isso é preciso investimento em processos, padrões e gestão. A palavra chave para conseguir baixo custo, qualidade e agilidade no atendimento ao prazo é basicamente maturidade. Enfim, paga-se um alto preço pelas gambiarras, é melhor fazer certo da primeira vez, vai sair bem mais barato e não haverá débito técnico.
Apenas para exemplificar que é possível ter qualidade, baixo custo e agilidade, vejam um exemplo claro disto aqui.