Tarefa: Planejar Fases e Iterações
Esta tarefa descreve como planejar as fases do projeto e iterações: quais são os objetivos, qual é a duração, quantas iterações, etc.
Disciplinas: Gerenciamento de Projeto
Objetivo

A finalidade dessa tarefa é:

  • Estimar o escopo, o esforço e o custo totais do projeto.
  • Desenvolver um plano de granulação graúda do projeto, enfocando os principais marcos e os distribuíveis-chave no ciclo de vida do produto.
  • Definir um conjunto de iterações nas fases do projeto e identificar os objetivos de cada uma dessas iterações.
  • Desenvolver o planejamento e o orçamento para o projeto.
  • Desenvolver um planejamento de recursos para o projeto.
  • Definir as tarefas para que o projeto seja concluído na ordem certa.
Relacionamentos
FunçõesExecutor Primário: Executores Adicionais:
EntradasObrigatório:
    Opcional:
    • Nenhum
    Saídas
      Etapas
      Estimar o Projeto
      Finalidade Estimar a importância do trabalho necessário para liberar o projeto.
      Selecionar o planejamento ideal que satisfaça as restrições do projeto. 

      Durante a Fase de iniciação, você deve preparar as estimativas para o trabalho proposto no projeto (para obter uma discussão geral da estimativa do projeto de software, consulte [BOE81], [PUT92], e [MCO96]). A estimativa do projeto de software baseia-se em uma matemática complexa. Portanto, você não encontrará aqui nenhuma informação técnica detalhada. A estimativa é um processo de quatro etapas:

      1. Estimar o tamanho do produto
      2. Estimar o esforço e o custo totais do projeto
      3. Aplicar restrições e prioridades (por exemplo, número de pessoas na equipe, data de liberação, orçamento)
      4. Selecionar a estimativa ideal de programação, esforço e custo

      Estimar Tamanho do Produto

      Esta é a entrada principal para o processo de estimativa. Se você não puder estimar a grandeza do trabalho a ser feito, qualquer programação criada estará provavelmente longe da realidade. Há duas abordagens para estimar o tamanho do produto do software que pode ser utilizado no início do projeto: Dimensionando por Analogia e Dimensionando por Análise. É claro que, posteriormente no projeto (durante a fase de elaboração), você poderá preparar estimativas mais rigorosas (de baixo para cima), com base em uma Estrutura de Divisão do Trabalho detalhada do projeto.

      Tamanho por Analogia

      Ao estimar o escopo do projeto usando a abordagem Dimensionamento por Analogia, você compara o novo produto que estará desenvolvendo com os produtos (de tamanho conhecido) desenvolvidos em projetos anteriores. Você deve comparar as várias características dos produtos que estão sendo comparados, como o número de casos de uso de negócios, o número de agentes, o tamanho/complexidade do banco de dados e, provavelmente, a quantidade de programas on-line e em lotes.

      Comparando essas características, você poderá estimar o tamanho relativo do novo produto em relação aos antigos e, em seguida, poderá usar o tamanho conhecido do produto antigo para calcular o tamanho estimado do novo. Lembre-se de que é importante comparar os produtos de complexidade similar, desenvolvidos por meio de abordagens parecidas, já que as variações em itens, como o nível de detalhe em descrições de casos de uso, podem invalidar as comparações.

      Tamanho por Análise

      Posteriormente na fase de iniciação, é provável que você precise coletar informações suficientes sobre o novo produto para usar técnicas analíticas a fim de estimar o tamanho do produto. Essas técnicas baseiam-se em uma descrição funcional do produto de software que está sendo disponibilizado (por exemplo, Especificação dos Requisitos de Software, Documento de Arquitetura de Software) e aplicam regras de contagem padrão para determinar um tamanho com base nessas descrições. Provavelmente, a mais conhecida dessas técnicas é a Contagem de Pontos de Função, embora uma série de outras medidas tenha sido desenvolvida, incluindo os Pontos de Recurso (uma modificação de Pontos de Função para aplicativos em sistemas de tempo real) e os Pontos de Objeto Previsto (uma métrica para sistemas orientados por objetos com base em uma análise das complexidades e hierarquias de classe).  

      Há também white papers disponíveis no IBM Web site, que descreve métodos para a estimativa de tamanho com base em Casos de Uso. Ao utilizar esses papers, você deve estar ciente de que para fazer as estimativas de tamanho iniciais com base em Casos de Uso, você deve calibrar para adequar-se ao estilo do Caso de Uso da organização porque os Casos de Uso podem variar muito no nível de abstração e na maneira de expressão entre as organizações e, até mesmo, em uma mesma organização. Após a calibragem, é importante manter o estilo padrão selecionado para escrever Casos de uso, pois, do contrário, as estimativas de tamanho poderão ser completamente erradas.

      Estimar Esforço e Custos Totais do Projeto

      O esforço total da equipe e a programação de um projeto podem ser calculados com base na estimativa de tamanho de produto, usando modelos científicos estabelecidos. Os dois modelos proeminentes em uso atualmente são os COCOMO (Constructive Cost Model), desenvolvidos porBarry Boehm e a Metodologia Putnam, de Larry Putnam. Os dois modelos foram validados com base nos dados do setor. Para obter informações adicionais sobre a versão mais recente do COCOMO, consulte o Web site do COCOMOII.

      Deixando de lado a entrada de tamanho, a outra entrada importante é uma métrica da produtividade da equipe. Esse valor determina o esforço geral do projeto. O programa total do projeto está relacionado de modo não linear ao esforço total. Infelizmente, os modelos são matematicamente complexos e, portanto, é melhor usar as ferramentas de software para auxiliar nos cálculos.

      Aplicar Restrições e Prioridades

      Quase todos os projetos estão sujeitos a algumas restrições (por exemplo, devem ser entregues em uma determinada data ou o custo não pode exceder R$850.000) ou prioridades (por exemplo, a urgência de um produto). Dado um tamanho fixo de produto, eles são afetados por ajustes no tamanho da equipe. Ele reporta que o relacionamento entre o tamanho da equipe e a programação não é linear. Portanto, você precisará usar os modelos científicos para gerar uma série de cenários com base nos tamanhos de equipe variáveis. O software de estimativa automatizado é muito útil para este exercício.

      Selecionar a Estimativa Ideal de Planejamento, Esforço e Custo

      Agora que você tem uma variedade de cenários para o projeto, revise e selecione o cenário que melhor se adapta às necessidades do projeto. Isso lhe dará uma visão inicial da duração geral do projeto conforme proposto e indicará o tamanho da equipe e o orçamento necessários.

      Definir Marcos da Fase do Projeto
      Finalidade Definir os pontos em que o andamento do projeto é formalmente avaliado.
      Alocar o esforço e os custos estimados para cada fase. 

      Primeiramente o Plano de Desenvolvimento de Software define as datas e a natureza dos maiores marcos (consulte Fases). Esta parte do Plano de Desenvolvimento de Software serve como o "roteiro" geral do projeto e é criada no início do projeto (fase de iniciação).

      Para planejar as fases de um projeto no ciclo de desenvolvimento inicial, talvez seja necessário fazer algumas suposições disciplinadas sobre os marcos, tendo como base:

      • A experiência em projetos similares em termos de natureza e domínio.
      • O grau de inovação.
      • As restrições de ambiente específicas, como tempo de resposta, distribuição e segurança.
      • A maturidade da organização.

      Usando estimativas com base nas suas próprias experiências em outros projetos de natureza similar, você cria o orçamento de projeto inicial alocando as partes apropriadas do esforço e os custos totais estimados para cada fase do projeto.

      Para obter informações adicionais sobre como definir o comprimento e o número das iterações, consulte Diretriz: Plano de Desenvolvimento de Software.

      Definir Objetivos de Marcos
      Finalidade Definir os critérios utilizados para avaliar as fases.  

      Cada marco está centrado em um produto liberado específico; cada um deles fornece um ponto de transição bem definido na próxima fase.

      Fase 
      Marco 
      Finalidade 
      Iniciação  Marco dos Objetivos de Ciclo de Vida Confirmar recursos humanos para o projeto 
      Elaboração  Marco de Arquitetura do Ciclo de Vida Estabilizar a arquitetura do produto 
      Construção  Marco dos Recursos Operacionais Iniciais Concluir o desenvolvimento do produto 
      Marco de Liberação do Produto Implementar com êxito o produto 

      Cada marco representa um obstáculo crítico que o projeto deve transpor; em cada marco, o projeto se depara com uma decisão difícil.

      Definir Número, Comprimento e Objetivos das Iterações dentro das Fases
      Finalidade Determinar quantas iterações serão planejadas para cada fase do projeto.
      Determinar a alocação relativa do trabalho entre iterações.
      Determinar os objetivos de cada iteração.  

      Depois que o tamanho das fases do projeto for determinado, o número de iterações e seus respectivos tamanhos também precisarão ser especificados. Para obter informações adicionais sobre como definir o comprimento e o número das iterações, consulte  Diretriz: Plano de Desenvolvimento de Software. Há vários padrões de iteração que podem ser aplicados, dependendo do tipo do projeto, o domínio do problema e da inovação do domínio do problema (consulte também Conceito: Iteração).

      Cada iteração gera um produto liberado, um release (que é um produto executável utilizado para avaliar o andamento) e a qualidade. Como cada iteração tem um enfoque diferente, a funcionalidade e a abrangência do produto liberado da iteração variam. As metas da iteração devem ser específicas o suficiente para que seja possível avaliar, no final da iteração, se essas metas foram atingidas. Nas primeiras iterações, as metas são normalmente expressas em termos de riscos mitigados; nas iterações posteriores, as metas são expressas em medidas de conclusão funcional e de qualidade.

      Refinar Escopo e Datas do Marcos
      Finalidade Refinar as estimativas baseadas nas informações disponíveis no final da fase de iniciação 

      No final da fase de iniciação, as fases podem ser planejadas de forma mais precisa, levando em consideração:

      • O número de casos de uso identificados.
      • A complexidade dos casos de uso já estudados.
      • Os riscos identificados, tanto técnicos quanto de negócios.
      • O ponto de função ou as métricas de caso de uso.
      • O resultado de qualquer protótipo.

      Esse plano simples é atualizado durante a fase de elaboração. Ele serve como base para a criação do restante do plano de projeto.

      Determinar Requisitos dos Recursos do Projeto
      Finalidade Definir os números e os tipos de recursos necessários para este projeto, alocados por fase/iteração.  

      Com base nas estimativas de esforço e na programação de projeto derivada dessas estimativas, agora você pode definir os recursos necessários para a realização do projeto. Para cada fase/iteração, identifique quais papéis precisam ser envolvidos e quantos de cada um deles.

      Desenvolver Plano de Finalização do Projeto
      Finalidade Desenvolver o plano para uma finalização seqüencial do projeto.  

      O Plano de Finalização do Projeto está documentado na Seção 5.6 Plano de Finalização do Plano de Desenvolvimento de Software. A Finalização do Projeto é a série de tarefas realizadas para finalizar o projeto seqüencialmente, garantindo que quaisquer métricas e lições aprendidas serão capturadas para fins de referência futura.

      O processo de finalização começa quando as seguintes condições forem atendidas:

      • Todos os produtos liberados do projeto foram concluídos e armazenados sob um controle de configuração
      • O teste de aceitação foi concluído e o produto foi formalmente aceito pelo cliente
      • O produto foi formalmente entregue ao cliente

      Definir Tarefas de Finalização

      Em primeiro lugar, liste o plano das tarefas que você executará durante a finalização do projeto. Geralmente, essas tarefas incluem:

      • Uma reunião post-mortem do projeto
      • Desenvolvimento de um relatório post-mortem do projeto
      • Término das revisões do pessoal do projeto
      • Produtos de trabalho do projeto em archives
      • Reatribuição do pessoal do projeto
      • Inclusão de métricas de projeto no banco de dados de métricas do histórico das organizações para fins de estimativa futura do projeto.

      Identificar Participantes para Tarefas de Finalização

      Em seguida, identifique no plano quem será envolvido em cada uma das tarefas de finalização.

      Definir Planejamento para Tarefas de Finalização

      Depois, defina a programação das tarefas de finalização. Normalmente esse detalhe é incluído no Plano de Desenvolvimento de Software no final do projeto.



      Considerações de Teclas

      É no planejamento do projeto que o coordenador de projeto instancia (e subseqüentemente gerencia a execução de) um processo de entrega específico (consulte Produto de Trabalho: Processo de Desenvolvimento), para o projeto. Isso é geralmente chamado de execução do processo.

      Um processo "Instanciado" é um plano de atividade/iteração/projeto executável (inclui atividades atuais e produtos de trabalho para um projeto atual.  Um processo de entrega pode ser instanciado importando um Processo de Entrega do Compositor do Método Racional no RPM (Rational Portfolio Manager) e, em seguida, efetuando trabalho de instanciação, através da duplicação de atividades e de tarefas que estão configuradas como isRepeatable ou hasMultipleOccurrences, criando produtos de trabalho reais, designando recursos reais a funções, etc. 

      Informações Adicionais