Em nossa empresa, várias equipes trabalharão em diferentes componentes de vários projetos ao mesmo tempo. Por exemplo, uma equipe pode criar tipos específicos de software (ou hardware) para alguns projetos, outra equipe outro tipo específico de software. Usamos os projetos Jira para hospedar problemas para projetos específicos e os painéis Jira para sprints para diferentes equipes.
Enfrentamos o problema de evitar a duplicação de código nos projetos e desenvolvemos um conjunto de bibliotecas principais que usamos nesses projetos. Enquanto estiver trabalhando em um projeto, alguns desenvolvedores perceberão que um pedaço de código que eles escreveram é de maior interesse e deve ser extraído em uma biblioteca principal, ou que algum código principal que eles estão usando possui um erro, precisa de mais parametrização ou novo recurso ... o nome dele.
Portanto, eles criam um problema de biblioteca principal que entra no backlog do projeto principal. Todas essas questões são revisadas, priorizadas e estimadas em uma reunião central da biblioteca (uma vez por semana) e serão abordadas de acordo com a prioridade (ao lado de questões específicas do projeto) em alguns sprints futuros.
A priorização é feita através da classificação dos problemas e colocamos um sorted
rótulo nos problemas classificados (para que possamos procurar por não classificados). Em seguida, colocamos manualmente um problema por componente principal no topo da lista de pendências para que eles sejam solucionados primeiro. Quando uma equipe coloca esse problema em seu sprint, eles precisam arrastar manualmente outro item para o topo da lista de pendências.
Isso é bastante propenso a erros. Basicamente, o que temos são os status de problemas adicionais "classificados" e "estimados" entre "aberto" e "em andamento". Refletir isso através do sorted
rótulo e sua posição no quadro é bastante complicado e propenso a erros. (Por exemplo, se alguém mover um problema para cima e para baixo, isso será refletido no quadro principal, misturando silenciosamente a ordem dos problemas que a equipe poderia ter decidido em uma extensa discussão semanas antes.)
Então, qual seria a melhor maneira de implementar isso?