Fuja da dívida técnica

Dívida TécnicaO projeto começa e a equipe de desenvolvimento está produzindo muito, várias partes do software vão sendo construídas e o time está feliz.

Passadas algumas semanas a produtividade caiu um pouco, a euforia do time passou, mas o projeto ainda transcorre dentro da normalidade e o time de desenvolvimento não está aborrecido.

Passadas mais algumas semanas e a produtividade cai drasticamente, muito bugs começam a ser encontrados, neste momento o time já está com a moral baixa, o cliente notou que o projeto não anda bem, o custo de mudança de qualquer funcionalidade é muito alto, e você não entende o motivo desta queda de produtividade, afinal de contas o time é bom, a especificação foi bem feita, o cliente está próximo, a comunicação flui e as pessoas são comprometidas. Então o que está acontecendo?

É bem provável que o projeto possua uma dívida técnica grande.

O termo dívida técnica é utilizado para indicar trechos de código que foram mal escritos, ou escritos de qualquer forma, sem respeitar padrões, são as chamadas gambiarras. Com o passar do tempo estes trechos de código vão atrapalhar os desenvolvedores, e mudanças que teoricamente seriam simples passam a levar muito tempo para serem realizadas.

É natural que o custo de mudança do software aumente com o passar do tempo, pois logicamente quanto mais código um projeto possui maior tende a ser o impacto de adicionar uma funcionalidade (mais código). Se formos alterar uma funcionalidade o custo de mudança tende ser maior ainda, já que em alguns casos uma mudança de regra de negócio pode afetar várias partes do software.

É provável que você já tenha se deparado com uma funcionalidade impossível de ser evoluída, tamanho era a falta de qualidade do código, em alguns casos quando isto ocorre somos obrigados a refazer toda a funcionalidade, pois o código se tornou ilegível, e isto gera um grande desperdício de tempo e dinheiro.

Muitos desenvolvedores ainda consideram que qualidade do código é algo extra, que se der para produzir código de qualidade legal, mas o foco é entregar software com qualidade, não necessariamente produzindo código de qualidade. Esta é um escolha perigosa, pois a menos que o projeto seja bem pequeno o desenvolvedor vai precisar pagar a conta da dívida técnica produzida, ou simplesmente o projeto vai parar.

Mas como desenvolver software sem gerar dívida técnica? Ah meu amigo, isto é assunto para outro post 😉 mas recomendo assistir um vídeo do Alexandre Freire da Industrial Logic, que falou sobre isto no Agile Brazil 2012 -> Link do vídeo na InfoQ.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s