Papéis e Atividades > Papéis Gerenciais > Gerente de Projeto > Desenvolver Plano de Iteração
Atividade:
|
Propósito Desenvolver um plano detalhado para uma iteração, contendo:
|
|
Passos | |
Artefatos de Entrada:
|
Artefatos
de Saída:
|
Freqüência: A cada iteração | |
Papel: Gerente de Projeto |
Subfluxo: |
A iteração é um conjunto de tarefas que devem ser executadas em um período de tempo fixo (entre duas e quatro semanas), focado em produzir um executável. Para todas as iterações, exceto a última da fase de transição, este executável é um produto que contém apenas um subconjunto das funcionalidades requeridas. O foco na produção de um executável força a integração contínua do produto e permite que o projeto ataque cedo os riscos técnicos, diminuindo assim outros riscos associados a eles.
Trabalhar iterativamente implica uma certa quantidade de retrabalho dos artefatos existentes e, juntamente com isso, uma mudança de atitude em relação ao retrabalho. Uma certa dose de retrabalho é necessária para entregar um produto de qualidade: construindo produtos intermediários e avaliando a adequação da arquitetura do produto cedo e freqüentemente, aumenta-se a qualidade do produto final e mudanças são menos custosas e mais fáceis de implementar.
Propósito
|
Guias: |
A equipe, em conjunto com representantes do cliente ou especialistas do negócio, deve escolher os casos de uso e requisitos não-funcionais que serão trabalhados durante a iteração. Esta escolha deve ser guiada por cinco fatores:
Com base nos objetivos da iteração, deve-se determinar que atividades devem ser executadas para cumpri-los. Tipicamente, cada iteração irá passar, ainda que parcialmente, por todas as atividades do processo de desenvolvimento, por exemplo:
O grau em que estas atividades são executadas varia conforme a iteração e a fase do projeto. Cada uma das disciplinas (Requisitos, Análise e Projeto, Testes, etc.) define atividades genéricas, que devem ser adaptadas para a organização durante a configuração do processo.
Após ter escolhido os cenários ou casos de uso (mais os defeitos a serem consertados), o Gerente de Projeto precisa determinar que atividades serão necessárias e que artefatos serão afetados:
Para fazer isto, toda a equipe deve estar reunida e realizar um brainstorming das atividades necessárias para desenvolver cada caso de uso ou cenário escolhido.A participação de todos no planejamento é importante para garantir que nenhuma atividade será esquecida, já que quem realmente as realiza está presente, e para aumentar a motivação da equipe e o comprometimento com o plano, pois todos participam ativamente de sua construção e têm direito a expressar sua opinião.
As atividades devem ser determinadas com base no processo utilizado pela equipe. Caso seja detectado que uma atividade necessária não está no processo, deve-se registrar uma Requisição de Mudança para a melhoria do processo, que será avaliada na Atividade: Avaliar Iteração.
Algumas atividades, como esta, são realizadas uma vez a cada iteração. Outras, como Modelar Interface com o Usuário, podem ser realizadas para cada caso de uso, ou cada subsistema. Se houver uma atividade muito abrangente, ou seja, que irá envolver um grande número de passos ou de artefatos, ela pode ser dividida em atividades menores. Isto facilita tanto as estimativas quanto a divisão de responsabilidades.
Além das atividades de desenvolvimento dos casos de uso, podem haver outras que não estão relacionadas diretamente a um caso de uso específico, como "configurar o servidor de aplicação" ou "atualizar o banco de dados". Elas também devem ser levadas em conta no planejamento.
Uma vez definido o conjunto de atividades da iteração, é preciso estimar a duração de cada uma e dividi-las entre a equipe do projeto. Estes dois passos são feitos em paralelo. Cada membro da equipe escolhe uma tarefa que deseja realizar e diz quanto tempo levará para completá-la. Isto é repetido até que todos os membros da equipe estejam com o máximo de trabalho que possam realizar ou até que não haja mais tarefas.
No primeiro caso, onde nota-se não haverá tempo para realizar todas as tarefas, deve-se reduzir o escopo da iteração em vez de estender sua duração, pois as iterações devem ter a duração fixa (timeboxing), ditando o ritmo do desenvolvimento. Depedendo da fase em que o projeto se encontra, torne os cenários mais simples ou elimine algumas funcionalidades. No segundo caso, menos provável de acontecer, deve-se incluir mais casos de uso na iteração atual, retornando-se ao primeiro passo desta atividade.
Ao final da divisão das atividades, deve-se verificar se não há ninguém da equipe sobrecarregado. Caso haja, deve-se remanejar as tarefas para desenvolvedores menos ocupados. Atividades que não foram escolhidas por ninguém também devem ser distribuídas entre as pessoas que estão mais livres. De preferência, elas devem escolher, dentre as que restaram, as que preferem realizar.
Como resultado da divisão de tarefas, cada membro da
equipe deve ter sua Ordem de
Trabalho, que irá listar as atividades de sua
responsabilidade e as respectivas estimativas. Dependências
externas e de outras tarefas também pode estar listadas.
Rational Unified Process |