Fontes de Dívida

Quais áreas da base de código acumularam dívida técnica?

O módulo de autenticação de usuário está extremamente complexo e difícil de manter devido a vários hacks e soluções temporárias ao longo do tempo.
Temos muito código duplicado em diferentes componentes que deveriam ser refatorados em utilitários compartilhados.
Muitos de nossos modelos de dados principais estão fortemente acoplados, dificultando a extensão ou modificação de funcionalidades sem riscos de regressão.
Impacto e Riscos

Como essa dívida técnica está impactando a equipe e o produto?

A integração de novos desenvolvedores é extremamente difícil devido à complexidade e falta de documentação em certas áreas.
Estamos constantemente apagando incêndios e incapazes de entregar novos recursos em um ritmo razoável devido à instabilidade causada pela dívida.
Nosso processo de implantação é frágil e propenso a erros, levando a problemas frequentes em produção.
Priorização

Quais áreas de dívida devem ser abordadas primeiro?

Devemos começar com o módulo de autenticação, já que é uma dependência central que impacta várias áreas da aplicação.
Melhorar a cobertura de testes para nossos componentes mais voláteis forneceria uma base sólida para futuros esforços de refatoração.
Atualizar nosso frontend para a versão mais recente do React deve ser uma prioridade máxima para aproveitar melhorias de desempenho e novos recursos.
Plano de Ação

Como podemos abordar sistematicamente a dívida priorizada?

Vamos alocar 20% de cada sprint para focar em itens de dívida de alta prioridade, começando com a refatoração do módulo de autenticação.
A cada duas semanas, teremos um dia dedicado ao 'pagamento da dívida' para fazer melhorias incrementais com base na priorização.
Para o próximo trimestre, um desenvolvedor sênior será totalmente dedicado a liderar nossos esforços de redução de dívida técnica.

O que é uma Retrospectiva de Dívida Técnica?

Uma Retrospectiva de Dívida Técnica é uma reunião focada em identificar áreas de dívida técnica dentro de uma base de código ou sistema. Permite que as equipes discutam abertamente as fontes de dívida, priorizem quais itens devem ser abordados e criem um plano de ação para pagar essa dívida ao longo do tempo. Dívida técnica refere-se ao acúmulo de soluções menos que ideais dentro de uma base de código. Essa dívida pode surgir da priorização da entrega a curto prazo sobre a qualidade do código a longo prazo, falta de compreensão ou adiamento de refatoração. Se não for controlada, a dívida técnica aumenta a complexidade e retarda o desenvolvimento futuro. Ao realizar regularmente Retrospectivas de Dívida Técnica, as equipes podem manter a consciência de sua dívida, evitar que ela se torne incontrolável e alocar tempo para melhorias incrementais. Essa abordagem proativa melhora a qualidade do código, reduz bugs e melhora a produtividade geral.

Formato da Retrospectiva de Dívida Técnica

Fontes de Dívida

Quais áreas da base de código acumularam dívida técnica?

Incentive os participantes a serem específicos sobre os tipos de dívida, como code smells, problemas arquiteturais ou falta de testes.

Impacto e Riscos

Como essa dívida técnica está impactando a equipe e o produto?

Incentive a discussão sobre as consequências reais de permitir que a dívida continue se acumulando.

Priorização

Quais áreas de dívida devem ser abordadas primeiro?

Oriente a equipe na priorização dos itens de dívida com base no impacto, esforço necessário e importância estratégica.

Plano de Ação

Como podemos abordar sistematicamente a dívida priorizada?

Facilite a criação de um plano concreto com cronogramas, responsabilidades e verificações regulares.

Quando usar essa retrospectiva

  • Quando sua equipe está lutando com uma base de código antiga e complexa que está se tornando cada vez mais difícil de manter e estender.
  • Se você está constantemente apagando incêndios e incapaz de entregar novos recursos em um ritmo razoável devido à instabilidade causada pela dívida técnica.
  • Quando a integração de novos desenvolvedores é extremamente desafiadora devido à falta de documentação e código confuso em certas áreas.
  • Se você está gastando mais tempo em manutenção e correção de bugs do que trabalhando em novos recursos inovadores devido à dívida técnica.
  • Quando o moral está sofrendo à medida que os desenvolvedores ficam frustrados com os desafios constantes apresentados por uma base de código em acúmulo.

Sugestões de perguntas quebra-gelo

  • Se nossa base de código fosse uma estrutura física, como ela seria e por quê?
  • Compartilhe uma história engraçada ou experiência relacionada a lidar com dívida técnica no passado.

Ideias e dicas para sua reunião de retrospectiva

  • Incentive discussão aberta e honesta sem culpa ou apontar dedos. Dívida técnica é um subproduto natural do desenvolvimento de software.
  • Garanta que todos os membros da equipe, incluindo papéis não técnicos, entendam o conceito de dívida técnica e seus potenciais impactos.
  • Priorize itens de dívida com base no impacto, esforço necessário e importância estratégica, em vez de tentar resolver tudo de uma vez.
  • Crie um plano de ação concreto com cronogramas, responsabilidades e verificações regulares para garantir responsabilidade e progresso.
  • Considere alocar uma parte dedicada de cada sprint ou ciclo para focar nos esforços de redução de dívida técnica.
  • Explore a automação de processos como linting, testes e revisões de código para evitar a introdução de nova dívida ao longo do tempo.

Está começando a usar retrospectivas? Leia nosso guia sobre como realizar uma retrospectiva →