O que devemos fazer pelas histórias de usuários sobre dívidas técnicas no Pivotal Tracker? Devemos considerá-los como características (dando pontos) ou como tarefas (não dando pontos, diminuindo assim a velocidade)?
Estou confuso sobre o que deve ser considerado uma tarefa:
Duplicação de código - É claro que, se colocarmos o mesmo código em vários locais, isso é realmente uma prática ruim de código e indica que os desenvolvedores da equipe devem pensar mais para tornar o software sustentável, refatorar e a equipe deve dedicar tempo às análises de código. Como tudo isso requer experiência em maturidade, tempo e nível de código, é melhor fornecer menos número de pontos para que a qualidade do código não seja comprometida. Portanto, esses erros devem ser penalizados e a velocidade reduzida, não dando pontos à tarefa.
Atualização de tecnologia - como mudar para modularizar JS, HTTP2, React, MVC ou qualquer outra nova / melhor tecnologia. Essas etapas melhorarão o desempenho e a manutenção do código. Mas isso deveria ser tarefa ou recurso? Eu acredito que é assim que o mundo da tecnologia é, as novas tecnologias vêm de vez em quando e você precisa migrar para ele. Portanto, não vejo sentido em penalizar a velocidade da equipe por esse trabalho. Sugestões?
Código de duplicação / sub-padrão no código legado - Poucos são os códigos que são intocados desde muito tempo OU quando uma nova equipe é formada, mas a base de código é um pouco antiga, enfrentamos esse desafio. A equipe diz que não codificou esta seção, por que sua velocidade deve ser penalizada escolhendo dívidas técnicas que nunca as criaram.
Código abaixo do padrão devido à urgência dos negócios - Às vezes, os desenvolvedores são forçados a enviar recursos o mais rápido possível, ao vivo, devido à pressão dos concorrentes / alvos / negócios / usuário. A limpeza desse código incorreto também deve ser considerada uma tarefa (sem dar pontos)? Desta vez, a equipe de desenvolvimento não tem culpa; então, por que a velocidade deve ser reduzida, quando na verdade eles costumam colocar horas extras nesses casos.
Acredito que todos os tipos de tarefas mencionados acima, se realizados com sabedoria, devem melhorar a velocidade da equipe no futuro. Mas como devemos manter o equilíbrio, mantendo a velocidade da equipe e penalizando os erros técnicos que a equipe está cometendo ao tomar más decisões?
A pergunta é semelhante a: Dívida técnica deve ser agendada como um recurso ou uma tarefa (ou um bug)? , mas não encontrei respostas convincentes que abranjam todos os quatro pontos, por isso estou publicando de uma maneira diferente.