Como você lida com as crescentes pilhas de problemas a serem resolvidos "de alguma forma"?

15

Estamos usando o JIRA para acompanhar os problemas em nossos projetos de software. Um efeito que notamos é que geralmente criamos um novo problema, mas ainda não sabemos quando / se o problema será resolvido. Por isso, inventamos um marco falso 'Futuro Distante', ao qual essas questões são atribuídas.

Por acaso, a pilha de questões atribuídas a esse marco continua crescendo o tempo todo, portanto parece que essa não é uma boa abordagem. Existem tantos deles até agora que se tornou bastante trabalhoso revisar todos eles quanto à validade. Alguns deles se tornaram inválidos desde que o componente relacionado a você foi removido. Alguns deles foram duplicados por outros problemas. Alguns deles têm uma descrição tão fracassada que ninguém sabe mais sobre o que se trata.

Como outras equipes de desenvolvimento de software lidam com problemas que são válidos, mas que podem não ser corrigidos a qualquer momento. Você se incomoda em gravá-los? Você os atribui à próxima versão planejada e os olha novamente à medida que a próxima versão se aproxima? Algo mais?

Frerich Raabe
fonte
1
Parece que você está falando do meu local de trabalho, muito perturbador. Boa sorte com isso, estou pressionando por um tempo agora e fico lento, sem progresso nesse ponto. A gerência parece não se incomodar até termos tanto lixo que não podemos mais ignorá-lo.
deadalnix
Por que ele precisa ser corrigido? Se não é importante e nunca é consertado, isso é perfeito.
B Sete

Respostas:

11

Esses são bons bugs de primeiro contato para corrigir para novos desenvolvedores que acabaram de ingressar na sua empresa. Ou para desenvolvedores juniores gastarem seu conhecimento do sistema.

Caso contrário, você pode marcá-los como "não serão corrigidos" se não forem sérios o suficiente para justificar o tempo que levaria para ser corrigido.

Sardathrion - Restabelecer Monica
fonte
3
+1 Para não corrigir, pode ser um problema social e também técnico. Às vezes você apenas tem que dizer NÃO. Se você continuar corrigindo bugs, os recursos particularmente triviais ou supérfluos solicitam que as expectativas das pessoas aumentem e elas continuarão pedindo mais.
Keyo 13/10/11
4
Ter programadores juniores corrigindo bugs é uma péssima idéia, infelizmente essa é uma prática generalizada no setor. A maneira mais econômica de corrigir um erro é permitir que o desenvolvedor que o introduziu o conserte.
Trasplazio Garzuglio
6
@MarcoDinacci - Depende do que você coloca em "custo-benefício". Com uma visão de curto prazo, você está correto. Mas se o projeto durar muito, atribuir atribuições de 'correção de bugs' a programadores juniores pode ser visto como um investimento.
Mouviciel 13/10/11
2
@mouviciel Eu acho que existem maneiras melhores e mais estimulantes de treinar programadores juniores do que deixá-los trabalhar em bugs, mas eu concordo que é uma maneira de aprender a base de código. Outro problema com essa abordagem é que os desenvolvedores seniores podem acabar escrevendo código não se importando com a introdução de bugs, porque há os desenvolvedores juniores que os corrigem de qualquer maneira.
Trasplazio Garzuglio 13/10
3
@MarcoDinacci, deixe-me colocar de outra maneira: se os desenvolvedores seniores precisam de um processo externo para forçá-los a produzir um trabalho de qualidade, a equipe tem um problema fundamental. IMHO qualquer bom desenvolvedor - mas especialmente os idosos - deve ter uma motivação interna para a qualidade. Se essa motivação estiver faltando no (s) líder (s) de opinião da equipe, o projeto quase inevitavelmente falhará, de um jeito ou de outro, e nenhuma quantidade de processo pode ajudá-lo.
Péter Török
11

Você deve corrigir um bug apenas se o aplicativo for mais valioso sem o bug.

Se um campo de texto estiver desalinhado e levar três dias para corrigi-lo, o custo provavelmente será alto demais e você deverá deixá-lo. Pelo contrário, se os usuários não puderem escrever no campo de texto, você deve corrigi-lo rapidamente.

Em geral, é mais fácil corrigir um problema imediatamente após ser descoberto. Se você deixar o tempo passar, os desenvolvedores podem esquecer como essa parte do código funciona e a correção do bug levará mais tempo e, portanto, será mais caro.

Algumas empresas não escrevem uma linha de novo código se ainda houver erros pendentes. Outros não se incomodam até a fase de testes antes da entrega.

Na sua empresa, você obviamente está deixando passar muito tempo antes de corrigir novos bugs para que eles se acumulem. Também é ruim para o moral da equipe ver uma enorme lista de bugs.

Sugiro que você gaste um dia apenas para resolver os bugs existentes, decidindo aqueles que valem a pena consertar e os que não valem e designando os que devem ser corrigidos para os membros da equipe existentes, com o objetivo de resolver os problemas antes do próximo marco. .

Trasplazio Garzuglio
fonte
6

Em nosso rastreamento de problemas, há um status "com restrição de tempo". Se um problema tiver vários meses ou até anos e nenhum cliente insistir ou refilá-lo, esse status será usado como status final. Isso não é feito automaticamente, mas manualmente, sempre que os gerentes nos pedem para limpar os problemas em aberto. Durante esse processo, também é provável que alguns dos problemas sejam corrigidos porque são fáceis de corrigir e / ou relativamente importantes (apesar de não serem solicitados ou redefinidos).

user281377
fonte
1
Esta é uma boa estratégia - saber que um bug que o incomoda há anos pode ser varrido para sempre debaixo do tapete é um grande motivador para resolvê-lo.
13133 Steve Jackson
2

Não uso o JIRA, tenho o fogbugz no trabalho, mas tenho certeza de que isso se aplica à maioria dos rastreadores de bugs. Ao escrever isso, percebi que a maneira como trabalho é mais ágil que a cascata, os prazos não são concretos para mim e o que importa é a prioridade.

  • Se seu chefe se preocupa com a abertura de muitos ingressos, simplesmente não crie os triviais. Você deve ser prgamatic e não adicionar nenhum recurso / correção que não traga benefícios. Se facilitará sua vida para polir algum código ou ajustar a interface do usuário, adicione-o. Não faça o trabalho sozinho tentando consertar pequenas falhas no produto, pois nada é perfeito.
  • Coloque os bugs / recursos sem importância no marco atual, mas com uma prioridade baixa. Se mais reclamações / solicitações forem mencionadas sobre o problema, você poderá aumentar a prioridade.
  • Feche / resolva o que você pode não corrigir, não pode reproduzir, duplicar etc. Alguns bugs são muito triviais para serem corrigidos ou são solicitações de recursos que levariam muito tempo. Às vezes, você só precisa dizer à pessoa que solicita essas correções / recursos "Não Desculpe, não temos tempo".
  • Priorize os bugs conforme necessário e organize sua lista de tickets por prioridade e marco.
  • Se eles não chegarem ao marco, mova-os para um marco futuro.
  • Se um ticket depende de algum outro ticket, marque-o como bloqueado ou organize-os em uma hierarquia, para que fique óbvio que o ticket x e o ticket y estão relacionados.
  • Se um ticket exigir algum feedback de alguém, atribua-o a essa pessoa.

Por fim, você sempre terá um monte de tickets de baixa prioridade, mas os pontos acima devem ajudar a minimizar isso.

Keyo
fonte
2

Usamos o JIRA e temos um estado de resolução adicional chamado Suspended - se um recurso / bug é algo que precisamos desistir por um tempo, ele é resolvido como suspenso. Dessa forma, ele não se confunde com a lista de problemas ativos no momento em que temos que manter nossa atenção ou com a lista de problemas resolvidos que sabemos que foram tratados como satisfatórios, e ainda está no banco de dados.

A lista de problemas suspensos é algo que reviso periodicamente (mas não com muita frequência) para reabrir conforme necessário.

Jason S
fonte
1

Não tem certeza da terminologia correta do JIRA, mas considere colocar uma data de validade em cada "ticket". Se não tiver sido escalado, por necessidades de recursos ou gravidade de bugs, para implementação dentro de um certo período de tempo, provavelmente não era tão importante em primeiro lugar. Isso deve ajudar a manter a pilha aparada automaticamente. Costumo receber ingressos com base em "não seria legal" ou "isso não funciona perfeitamente como eu quero". Se ninguém mais insistir o suficiente para isso, ou se o usuário não tiver influência suficiente, isso não será feito e eu fecho o ticket após alguns meses.

cdkMoose
fonte