As iterações no OpenUP mantêm a equipe focada na entrega incremental de valor ao cliente em poucas semanas, fornecendo uma construção demonstrável e despachável totalmente testada (incremento de produto). Isto cria um foco saudável na garantia de que o que é construído é de valor para os Stakeholders. A tomada de decisão deve acontecer mais depressa, pois não há tempo para discussões intermináveis. O desenvolvimento iterativo foca-se na produção de código funcional reduzindo o risco de paralisia-analítica. Demonstrações freqüentes de código funcional fornecem mecanismos de feedback que permitem correções de curso a serem tomadas, conforme necessário.
O planejamento, a estimativa e o acompanhamento do progresso da iteração estão centralizados nos itens de trabalho. O plano de iteração é criado pela seleção dos itens de trabalho de alta prioridade. As técnicas de estimativa ágil são utilizadas para compreender quantos itens de trabalho podem seguramente caber na duração da iteração, e os itens de trabalho são filtrados para garantir que os itens escolhidos permitirão à equipe entregar os objetivos da iteração acordados com os Stakeholders. O progresso é demonstrado através da conclusão contínua de vários itens de trabalho pequenos (veja Micro-Incrementos).
Assim como um projeto percorre um ciclo de vida, as iterações percorrem um ciclo de vida com um foco diferente para a equipe, dependendo se você está na primeira ou na última semana da iteração, veja a figura abaixo e [Jazz]. Uma iteração começa com uma reunião de planejamento da iteração de algumas horas de duração. Os primeiros dias são normalmente mais centrados no planejamento e na arquitetura para, entre outras coisas, compreender as dependências e a ordenação lógica dos itens de trabalho, e os impactos arquiteturais do trabalho a ser feito. A maior parte do tempo de duração de uma iteração é gasto na execução dos micro-incrementos. Cada micro-incremento deve entregar código testado para uma construção, bem como artefatos validados. Para impor uma maior disciplina, construções estáveis são produzidas ao final de cada semana. Mais atenção é dada para essas configurações para certificar que a qualidade não está diminuindo e que os problemas estão sendo tratados com antecedência de forma que o sucesso da iteração não seja comprometida. A última semana ou os últimos dias da iteração normalmente têm uma forte ênfase no polimento e na correção de erros do que as semanas anteriores, mesmo que novas características sejam adicionadas apropriadamente. A meta é nunca deixar a qualidade diminuir, assegurando assim que um incremento do produto, útil e de alta qualidade, seja produzido ao final da iteração. A iteração termina com uma avaliação (com os Stakeholders) do que foi construído, e uma retrospectiva para descobrir uma forma de melhorar o processo para a próxima iteração.
Uma iteração acontece durante um ciclo de vida com ênfase mais forte no planejamento e na construção de uma arquitetura precoce, e na correção e estabilização de erros até o fim.
Os membros da equipe trabalham de forma mais eficaz se eles puderem influenciar no que fazem e como fazem, ao invés de atuarem num ambiente onde é determinado o que deve ser feito. Dar à equipe a capacidade e a responsabilidade de organizar seu trabalho e de determinar a melhor forma de cumprir seus compromissos motiva seus membros para fazer o melhor possível. Isso também os ajuda a colaborar para garantir que as habilidades corretas sejam aplicadas às tarefas adequadas. A auto organização afeta muitas áreas, incluindo como o planejamento e o comprometimento acontecem (por uma equipe, e não por indivíduos), como o trabalho é atribuído (você se prontifica, não sendo determinado), e como os membros da equipe enxergam o seu papel no projeto (membro da equipe em primeiro, função de trabalho em segundo).
A auto-organização necessita de algumas coisas para funcionar:
- A transparência e comprometimento são cruciais para auxiliar na comunicação da equipe e para conseguir o melhor de seus membros. Uma comunicação aberta sobre os compromissos da equipe relacionados ao ciclo de vida da iteração, e compromissos pessoais assumidos em relação aos micro-incrementos garante que os problemas de execução sejam examinados e que a pessoa certa seja focada para a sua solução.
- É necessário instruir a equipe para ajudá-la a se organizar e eliminar as barreiras que impedem o sucesso. O pressuposto é que o gerente do projeto seja o instrutor. Isto exige que o gerente do projeto evite o estilo de gestão do tipo comando-e-controle e assuma o estilo instrutor. Esta tem sido uma recomendação essencial dos livros de gestão nas últimas duas décadas, mas alguns gerentes de projeto podem ainda não ser capazes de fazer essa transição.
|