Os casos devem ser reabertos para erros ou devem ser abertos como um novo caso?


9

Atualmente, no meu local de trabalho, usamos o FogBugz para gerenciar todos os nossos recursos e bugs para nossos diferentes aplicativos da web.

Quando um novo recurso deve ser adicionado a um de nossos aplicativos da web, um novo Caso é criado. Por exemplo, "Criar formulário de upload CSV".

Depois, trabalho no caso, registrando a quantidade de tempo que gastei nele. Depois que esse caso é concluído, eu o resolvo e ele é atribuído de volta ao abridor de casos (geralmente o gerente de projeto), que então fecha o caso.

Se houver algum erro com o recurso, meu gerente de projeto reabrirá o caso e o atribuirá de volta a mim com uma lista de erros.

Na minha opinião, acredito que esses erros apontados por marcadores devem ser abertos como casos de erros individuais, para que possam ser rastreados com mais facilidade e não ficarem desordenados com as notas do caso do recurso original.

Meus gerentes discordam de mim, afirmando que é mais fácil calcular o tempo total gasto no recurso, se tudo estiver em um caso.

Além disso, eles acreditam que é menos confuso para nossos clientes, pois eles têm apenas 1 referência de número de caso para o recurso. No entanto, gostaria de enfatizar que os bugs devem ser tratados como casos separados, pois isso é pós-conclusão do caso original.

Estou certo ao afirmar que os bugs devem ser reabertos como um novo caso? E quais são os prós / contras de cada maneira de gerenciar isso?



2
Não acho que seja uma duplicata real, é semelhante, mas há uma diferença importante: aqui está sobre um novo recurso sendo implementado e um tempo de ida e volta relativamente curto para o desenvolvedor. A resposta pôde (ou não pode) ser semelhante, mas a questão é diferente
Joachim Sauer

11
Mas talvez eu tenha interpretado mal isso. Os bugs foram encontrados pelo controle de qualidade / antes da liberação de um lançamento? Ou esse é um caso "vários meses depois"?
Joachim Sauer

2
@ Cort: isso realmente não muda o fato de que ele não deve fechar o ticket, a menos que tenha certeza de que está concluído (seja qual for a sua definição).
Joachim Sauer

3
Você poderia abrir casos de crianças do processo principal para o acompanhamento, todos eles serão listados com o processo principal quando você procurá-lo
JF Dion

Respostas:


10

Você e seu gerente têm boas razões para lidar da maneira que cada um de vocês prefere, e não há uma necessidade real de se comprometer. Existe uma solução que funciona para mim e aborda as duas preocupações.

Para casos como o seu, eu uso a abordagem de tarefa de alto nível / subtarefas de baixo nível (conceito que escolhi no JIRA , não posso dizer se o FogBugz suporta explicitamente o que parece ). Dessa forma, as listas com marcadores "voltadas para o cliente" passam para tarefas de alto nível, enquanto as "iterações do desenvolvedor" que são importantes para mim são refletidas nas subtarefas.

Quando a tarefa de alto nível é "reaberta", crio uma nova subtarefa para rastrear o esforço adicional por conta própria .

http://i.stack.imgur.com/ng4jn.jpg

Dessa forma, o desenvolvedor reflete claramente todas as permutações, perversões e reviravoltas passadas pela especificação do recurso, permitindo que o gerente a apresente aos clientes como se fosse perfeito. A propósito, a apresentação como se perfeita tem seu valor para mim como desenvolvedor - porque a leitura mais fácil para os clientes ajuda a obter ajustes mais precisos.

Isso também permite, naturalmente, uma justificativa clara nos casos em que a implementação do recurso leva muito mais tempo do que o previsto originalmente.

Quanto ao rastreamento de tempo por tarefa ou subtarefa - como o JIRA permite incluir o rastreamento de subtarefas no resumo de nível superior, é aceitável para o gerente rastrear o tempo nas subtarefas. No entanto, mesmo que não fosse esse o caso, eu poderia viver formalmente com o tempo de rastreamento na tarefa "pai" - nesse caso, usaria apenas comentários de subtarefas para indicar quanto tempo foi gasto em uma iteração específica.


3
O FogBugz suporta subtarefas - crie um caso por erro e depois atribua o caso original como pai de cada caso de erro. Ele até resume a quantidade total de tempo gasto por bug mais pai, além de rastrear individualmente o tempo gasto em cada caso de bug individual.
Tacroy

1 Obrigado mosquito, esta é uma grande ajuda para o meu argumento para o uso de casos separados para erros, e como eles ainda podem estar ligadas à função Originais
Curt

@ Curt boa sorte. Lembre-se de que isso tem muito a ver com escolher corretamente suas batalhas. Tudo o que eles insistem em ter na "tarefa dos pais", não lute muito - deixe-os pendurar em sua própria corda. Suas subtarefas são sua fortaleza - essa deve ser sua linha de defesa. Btw que você pode realmente precisa defendê-lo - o próprio fato de que o gerente era incapaz de descobrir que a solução, me faz pensar se eles são suficientemente qualificados no acompanhamento esforços dev
mosquito

7

Se tudo isso estiver acontecendo antes do recurso ser lançado para o cliente, basta ter um caso. O argumento aqui é que o caso não está realmente completo até que seja aprovado no controle de qualidade e pronto para ser lançado. Os outros benefícios - um número de caso único para o faturamento e os usuários finais fazerem referência são válidos e importantes.

Depois que o recurso é lançado e os erros são encontrados, eles devem ser levantados como novos problemas no seu software de rastreamento de problemas.


5

Eu concordo totalmente com você, assim como o FogBugz - é por isso que define categorias diferentes para Bugs e Recursos. O FogBugz não foi projetado para ser uma ferramenta para rastrear o uso do tempo; este é um subproduto acidental da introdução do agendamento baseado em evidências.

Os erros de um recurso concluído podem ser vinculados ao caso principal do recurso (no FogBugz, usando um nome de tag ou uma referência cruzada ou tornando-os sub-casos). Percebo que é um pouco mais trabalhoso para o seu gerente consolidar informações em vários casos, mas também costuma fazer sentido separar o tempo gasto no desenvolvimento original e o tempo gasto na manutenção, especialmente em contratos de preço fixo, e você perde a capacidade de fazer isso se colocar tudo em um caso.


3

É minha opinião que, assim que um ticket for fechado, ele permanecerá fechado, seu rastreador de erros deverá ser capaz de vincular a outros casos de qualquer maneira. Gostaria de salientar que criar novos bugs e vinculá-los ao caso original oferece melhores benefícios do que o método que você descreve.

  • os clientes ainda podem ter um número de referência que contém links para cada bug.
  • o status de cada bug pode ser rastreado individualmente, permitindo uma melhor priorização e relatórios de status.
  • ter bugs separados permitirá que o gerente reduza o tempo gasto em bugs versus o tempo gasto no desenvolvimento de novos recursos e deve ser apenas um esforço adicional mínimo para obter um número total de todos os bugs relacionados a uma alteração e ao desenvolvimento dessa alteração.
  • separar bugs torna muito mais fácil para seu gerente reunir outras métricas como bugs totais, tempo médio por correção de bugs, proporções de bugs fechados / em andamento / corrigidos.
  • casos separados por bug permitem que as tarefas sejam melhor divididas entre todos os desenvolvedores e responsabilizam cada um por seu próprio trabalho, ou permite essa possibilidade caso mais desenvolvedores sejam contratados posteriormente.

A única vantagem da sua configuração atual é que é extremamente simples para as pessoas que não são os principais usuários do sistema. O objetivo de um rastreador de erros é que o desenvolvedor tenha um lugar para relatar tudo sobre um bug em um único local que também seja amigável o suficiente para que outras pessoas vejam o progresso; seu sistema atual parece prejudicar quase todas as partes dele.


Concordo principalmente com o bit "o ticket fechado deve permanecer fechado", mas sempre há exceções, como se um bug for reintroduzido, como pode acontecer com uma reversão (ou pior, se parte de um projeto for perdida e precisar ser restaurada) de backup).
precisa saber é o seguinte

@zzzzBov, essas são exceções bastante significativas e, se você se encontrar nessa posição, duvido que o modo como lida com o rastreamento de bugs seja uma preocupação nesse momento.
precisa saber é o seguinte

1

Os erros foram encontrados antes ou depois do produto ter sido 'enviado / liberado' para os clientes?

Se for antes do lançamento, os bugs devem ser rastreados no ticket original.

Se for após um lançamento, cada bug deve ter seu próprio ticket.


Copiamos o aplicativo para um servidor de desenvolvimento em que o cliente pode acessar o site. Às vezes, os erros são encontrados internamente, às vezes são encontrados pelo cliente. Você está sugerindo que os erros encontrados internamente (por PM) significam que o caso deve ser reaberto e o erro anexado à parte inferior do caso / ticket?
18712 Curt

Se os erros forem encontrados antes do lançamento, eles deverão ser tratados como se o recurso não tivesse sido concluído. Veja a resposta de ChrisF.
Colin D

1

Onde trabalho, apenas o pessoal do controle de qualidade pode encerrar um caso. Temos caixas de seleção para revisão de código, teste de engenharia e demonstração para as partes interessadas (no seu caso, gerente de projeto). Se a equipe de controle de qualidade vir um caso marcado como "Concluído" que não possui todos esses campos marcados, eles o marcarão como desfeitos e o enviarão de volta para nós.

Depois que um caso passa por todas essas fases e o controle de qualidade fecha o caso, quaisquer novos problemas encontrados são registrados como bugs.

Este sistema parece funcionar bem para nós.


0

Eu acho que você pode argumentar nos dois sentidos. Eu tentaria me sentar com o PM e explicar por que você acha que ter problemas discretos o ajudará. Pessoalmente, quero que cada item de tarefa seja seu próprio ticket, mas posso ver por que ele quer dessa maneira.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.