Nós usamos o Trac há vários anos e nossa lista de "tickets ativos" aumentou para quase 200 itens. Isso inclui bugs de baixa prioridade e complicados de corrigir por enquanto, solicitações de recursos adiadas, problemas que nunca geraram reclamações, mas todos concordam que algum dia serão corrigidos, refatorações de código planejadas e outras infelicidades de design que não solucionamos ' não quero perder o controle, etc.
Como resultado, com quase 200 desses problemas, a lista é quase esmagadora; não é mais útil como fonte do que precisa ser trabalhado no momento.
Qual é a melhor maneira de acompanhar problemas desse tipo?
Parte do problema é que alguns desses problemas são de baixa prioridade e talvez nunca sejam resolvidos. Eu odeio perder o controle desses itens (semelhante a não querer jogar algo fora da minha casa, caso eu precise dele algum dia); preciso jogá-los fora independentemente (marcando-os como wontfix) e supor que posso encontrá-los no futuro, se precisar deles?
fonte
Respostas:
Primeiro, peça a cada desenvolvedor que analise cada um dos itens e revise / teste cada item para verificar se ainda é um problema (pode ser melhor dividi-los entre as pessoas). Em seguida, feche qualquer um que não seja mais um problema ou que já tenha sido resolvido com outros esforços de desenvolvimento.
Agora, verifique se cada um deles está marcado como um esforço de desenvolvimento grande, médio ou pequeno. Essa é uma estimativa bastante aproximada, usada apenas para categorizar os projetos com mais facilidade e ajudar a reunir as coisas. Se tudo já estiver estimado, isso ajudará, mas não desligue as horas. Basta ir com uma verificação rápida do intestino. Geralmente funciona para colocar os desenvolvedores em uma sala e apenas passar por cada item e usar o esforço que a maioria das pessoas considera apropriado.
Revise cada um dos três grupos de esforço e marque cada item no grupo com uma prioridade de Crítico, Alto valor comercial, Alto valor técnico, Médio valor, Baixo valor e Nunca será corrigido.
A essa altura, você realmente conhece a lista de dentro para fora e realmente entende o trabalho envolvido em sua lista de pendências e pode começar a tomar realmente uma decisão sobre o que fazer com os itens. Pegue todos os itens marcados como nunca corrigidos e arquive-os no seu backlog.
Agora, quando você agendar os itens para o próximo lançamento, poderá usar os itens críticos e de alta importância como o núcleo do seu lançamento. Revise a lista de itens de média e baixa prioridade e adicione itens que possam ser trabalhados ao mesmo tempo que os outros itens da sua lista, porque os desenvolvedores já estarão trabalhando nessa parte do sistema.
A lista de itens marcados com prioridade média ou baixa pode ser usada como uma lista de itens para as pessoas trabalharem quando tiverem algum tempo livre ou como treinamento para novos funcionários. Eu sempre acho que é bom ter uma pessoa na equipe durante cada iteração trabalhando nesses itens e ajudando o restante da equipe sempre que necessário. Dessa forma, você ainda está concluindo o trabalho na iteração atual, mas possui alguém que é flexível e pode ajudar a apagar incêndios quando necessário, mas está lidando com os problemas que normalmente não chamariam atenção.
Uma coisa que achamos interessante foi que, entre cada iteração, tivemos um período curto de duas semanas em que toda a equipe trabalhava apenas em itens marcados com um pequeno esforço de desenvolvimento. Nos concentraríamos em fechar um grande número de tickets em pouco tempo.
fonte
O Trac tem uma configuração de prioridade? Algo como 1 para grandes artistas e 5 ou mais para coisas que seria bom ter feito em algum momento?
Se você pode classificar por prioridade, pode desconsiderar os itens de menor prioridade por enquanto.
fonte
leia: http://en.wikipedia.org/wiki/5S_%28methodology%29
Coloque-os no sótão, espere um ano e depois mude de casa. É isso que eu faço.
Sério, se você não vai consertar, esqueça. Consulte Programação extrema.
Mas para itens sobre código. Você pode colocá-los em um sistema de revisão de código, como pequenas observações. Este sistema pode ser configurado para sinalizar problemas quando essa parte do sistema é editada. Descobri que isso não funcionava como colegas de trabalho, pensei que era o que era esperado e não abordava as observações da revisão.
A única maneira de fazer isso é a priorização implacável. Faça agora ou não se incomode.
fonte
Esta não é realmente uma questão de controle de versão, mas uma questão de fluxo de trabalho e prioridade de negócios. O rastreamento de coisas que se sabe estarem erradas é uma boa idéia, mesmo que seja improvável que "sempre" seja consertado, tem alguns benefícios. Por um lado, significa que o controle de qualidade (se você tiver uma equipe de controle de qualidade separada) sabe que não deve registrar um novo bug para ele. Outro benefício é que, se um novo problema surgir, mas sua causa principal for devido a um desses problemas "sabemos sobre ele, mas é de baixa prioridade", qualquer análise sobre a correção já será rastreada - o que pode tornar o mais novo e mais alto - versão prioritária do bug muito mais fácil de corrigir.
Outro aspecto disso é que pode haver alguma margem de manobra para lidar com parte desse trabalho, agora ou no futuro. Talvez um dia você consiga um estagiário e possa atribuir alguns dos mais simples a eles como uma introdução para molhar os pés na base de código.
Se os desenvolvedores acharem que esses problemas seriam bons de corrigir - por exemplo, se eles representam dívida técnica e facilitaria o trabalho da base de código para corrigi-los, mas eles não têm valor comercial - talvez valha a pena discutir isso. com as partes interessadas da empresa e ver se é possível chegar a um acordo em que esses itens da lista de pendências são retirados ocasionalmente. Vi equipes de scrum fazerem coisas como bloquear de 3 a 5 pontos de velocidade por sprint para itens de "lista técnica pendente" - isso pode exigir algum detalhamento político, dependendo do relacionamento da equipe de desenvolvimento com as partes interessadas nos negócios, mas já vi funciona muito bem.
fonte
Isso realmente depende de algumas coisas.
fonte