O que é prioritário?
Os itens de trabalho são usados para priorizar:
- requisitos e solicitações de melhoria em um nível de abstração adequado a priorização dos Stakeholders, tais como casos de uso e cenários;
- tarefas de projeto, tais como o estabelecimento da infra-estrutura necessária;
- defeitos;
ou qualquer outro trabalho que precisa ser priorizado. A Lista de Itens de Trabalho fornece um lugar para priorizar o trabalho. Priorizar unidades de trabalho muito pequenas pode conduzir à paralisia analítica.
Quem prioriza?
A priorização é feita por toda a equipe. Seguem alguns exemplos de como diversos membros da equipe contribuem para a priorização:
-
Os Analista colaboram com os Stakeholders para definir as prioridades iniciais para os itens de trabalho a serem implementados, tais como características, casos de uso e cenários.
-
O Arquiteto colabora com os Stakeholders e a equipe de desenvolvimento para identificar os cenários e casos de uso arquiteturalmente significantes, e os re-prioriza, para que a equipe compreenda o que precisa ser feito para reduzir os riscos técnicos e progredir com a evolução do produto de uma forma técnica razoável.
-
Os Desenvolvedor e os Testador identificam (não decidem), as prioridades dos defeitos em relação aos objetivos a serem alcançados na iteração.
-
Os Gerente de Projeto facilitam (não decidem) a condução da convergência do que a equipe deve focar quando do planejamento de um projeto, planejamento de uma iteração ou da gestão de uma iteração para garantir uma boa execução e que as perspectivas de todos os membros da equipe sejam devidamente ouvidas. Quando a equipe não pode obter consenso num prazo razoável, o gerente de projeto tem a palavra final a respeito da prioridade dos itens de trabalho para garantir a atenção dos patrocinadores.
-
Os Stakeholder que irão pagar pela aplicação tem a palavra final sobre a priorização das capacidades.
Quando Você Prioriza?
Quando você coloca um novo item de trabalho na Lista de Itens de Trabalho, você deve dar-lhe uma prioridade inicial. As prioridades estão sempre mudando e, a seguir, descrevemos o que a re-priorização paz quando do Planejamento de um Projeto, Planejamento de uma iteração e Gestão de uma Iteração.
Priorização Quando do Planejamento de um Projeto
Quando do planejamento do projeto, veja Planejar o Projeto, as principais características, casos de uso e cenários são priorizados e potencialmente atribuídos às iterações como parte da construção do plano de projeto e do que deve ser feito quando. Estas prioridades serão revistas posteriormente quando as iterações forem planejadas.
Quando iniciar um projeto onde melhoramos uma aplicação existente, devemos ter Listas de Itens de Trabalho existentes dos projetos anteriores e uso da aplicação. Se for o caso, revisaremos a Lista de Itens de Trabalho e re-priorizaremos os itens de trabalho existentes, de forma que possamos compreender o que deve ser focado.
Priorização Quando do Planejamento de uma Iteração
Quando do planejamento do que deve ser entregue em uma iteração, veja Planejar a Iteração, a equipe precisa equilibrar o que entrega valor imediato aos Stakeholders com a atenuação dos riscos, veja Ciclo de Vida de Projeto. O equilíbrio escolhido deve ser refletido nos objetivos da iteração, que orientarão mais priorizações e atribuições de itens de trabalho para a próxima iteração. Este exercício deve ser feito por toda a equipe para refletir todas as principais perspectivas, tais como as técnicas ("fazer A antes de B lhe poupa tempo"), de gestão ("não temos ninguém que conheça a aplicação legada até à próxima iteração"), ou negócio ("este cenário é mais importante do que aquele cenário").
Priorizando Quando da Gestão de uma Iteração
Nós recomendamos a expansão ou alteração do escopo da iteração, veja Gerenciar a Iteração, visto que isto irá quase certamente levar a confusão sobre o escopo e, potencialmente à confusão do que a equipe deve fazer. Isto significa que, à medida que você puder levantar novas solicitações de mudança, você deve capturá-las como itens de trabalho, mas não atribuí-las à iteração atual.
Durante uma iteração, você estará desenvolvendo e testando código. À medida que você desenvolve incrementos da solução, você irá encontrar defeitos. Na maioria dos casos, você irá corrigir os defeitos visto que são triviais, foram feitos por você e devem ser corrigidos agora. Exemplos de tais defeitos são os vários problemas que você encontra quando implementa o código usando uma abordagem de desenvolvimento orientada a teste. Em outros casos, o defeito deve ser capturado como um item de trabalho. Isso permite que sejam priorizados e potencialmente desenvolvidos por outra pessoa em outra época. Se um defeito precisa ser tratado para fornecer uma construção de iteração, de qualidade razoável, que atenda aos objetivos da iteração, ele deve ser tratado na iteração atual. Note que isto não é uma perda ou mudança de escopo, uma vez que indica apenas que temos de corrigir algo para oferecer aquilo que já nos comprometemos.
Como Você Prioriza
A priorização é o difícil equilíbrio das prioridades freqüentemente concorrentes. Para mais informações sobre a arte da priorização, veja, por exemplo, [COH05]. |