Finalidade
  • 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 produtos liberados do 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 programa e o orçamento do projeto.
  • Desenvolver um plano de recursos para o projeto.
  • Definir as atividades para que o projeto seja concluído na ordem certa.
Função:  Coordenador de Projeto  
Freqüência: Uma vez por projeto. 
Etapas
Artefatos de Entrada:    Artefatos Resultantes:   
Mentores de Ferramentas:   

Detalhes de Workflow:   

Estimar o Projeto Para o início da página

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.

Dimensionando 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 atores, 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.

Dimensionando 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 o Esforço Total e os Custos 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 Para o início da página

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 é criado 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.

Definir Metas do Marco Para o início da página

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 
Início  Objetivo do Ciclo de Vida  Engajar recursos no projeto 
Elaboração  Arquitetura do Ciclo de Vida  Estabilizar a arquitetura do produto 
Construção  Recurso Operacional Inicial  Concluir o desenvolvimento do produto 
Transição  Liberação do Produto  Implementar o produto com sucesso 

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 o Número, o Comprimento, e os Objetivos das Iterações nas FasesPara o início da página

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. 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 Conceitos: 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 Datas do Marco e do Escopo Para o início da página

Finalidade Refinar as estimativas com base 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 de Recursos do Projeto Para o início dapágina

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 Para o início da página

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 atividades 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 liberado/entregue ao cliente

Definir Atividades de Finalização

Em primeiro lugar, liste o plano das atividades que você executará durante a finalização do projeto. Geralmente, essas atividades 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
  • Arquivamento dos artefatos do projeto
  • 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 Atividades de Finalização

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

Definir Programação para Atividades de Finalização

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



Rational Unified Process   2003.06.15