26 fevereiro 2008

Technical debt -- Introdução ao Débito Técnico

Conceito



O termo descreve a obrigação que uma empresa adiciona a um projeto de software quando escolhe uma abordagem de desenvolvimento que permita um resultado rápido que aumentará a complexidade do software e que custará muito mais caro a longo prazo.

Inserido acidentalmente

Uma abordagem tecnológica não adequada ou o código inserido por um programador inexperiente. Este é o resultado não estratégico de um trabalho mal desempenhado. Pode ser criado, ironicamente, na tentativa de refatorar algum setor de código problemático sem o auxílio de mecanismos de verificações/validações.

Inserido intencionalmente



Ocorre com a decisão da empresa em favorecer conscientemente o resultado presente em detrimento dos ganhos futuros. Entre os exemplos mais comuns e mais preocupantes: “Se não entregarmos esta release no prazo, não haverá outra entrega”, ou ainda “se não esta features não for implementada, perderemos N clientes”. A escolha em deixar para o futuro a preocupação com a qualidade do código produzido é o principal motivo para a ampliação dos custos de manutenção.



Identificar o Débito Técnico

  • Existe um único desenvolvedor capaz de tocar em “certas partes do código”

  • Desenvolvedores não possuem confiança em estimar o esforço em realizar atividades

  • A falta de validação/testes dificulda a confiabilidade no sistema. Desenvolvedores dificilmente garantem o funcionamento do sistema

  • Inserções no sistema são feitas e entregues rapidamente, mas levam muito mais tempo para realmente estarem utilizáveis no sistema (retrabalho)



Aprofunde Conhecimento

Nenhum comentário:

Postar um comentário