PPS - Planejamento do Projeto de Software 

A finalidade do PPS é estabelecer os planos que serão executados para desenvolver um determinado software, bem como para gerenciar o projeto de desenvolvimento segundo estes planos.

Durante o planejamento são realizados passos visando identificar os artefatos de software a serem desenvolvidos, estimar o tamanho desses artefatos, estimar os recursos necessários para produzi-los, produzir o cronograma, identificar e avaliar os riscos inerentes ao projeto e negociar os compromissos. Também é importante que as revisões do planejamento sejam programadas, e que para cada uma delas, as ações corretivas ou de melhoria sejam documentadas e acompanhadas até a completa resolução.

As estimativas de projeto são a base do planejamento e serão a base, juntamente com o plano de desenvolvimento de software, para o acompanhamento do projeto. Dever ser realizada uma estimativa de tamanho para o projeto (ou para artefatos), e desta estimativa deve ser derivado o esforço, o custo, a necessidade de recursos críticos e o cronograma.

No que se refere a estimativas de artefatos de software, podem ser utilizadas técnicas como:

Comparação histórica

Linhas de código

Análise de pontos por função

COCOMO

 

Metas 

Documentar as estimativas de software a serem usadas no planejamento do projeto de software 

Planejar e documentar as atividades e os compromissos do projeto de desenvolvimento de software 

Obter a concordância dos grupos e das pessoas envolvidos quanto aos respectivos compromissos relacionados ao projeto de desenvolvimento de software 

 

Compromissos

1. Um gerente do projeto de software é responsável pelos compromissos e pelo plano de desenvolvimento de software.

2. Seguir uma política organizacional de PPS, que especifica que:

- os requisitos de sistema alocados para software são usados como base para o planejamento do projeto de software 

- os compromissos do projeto de software são negociados entre o gerente de projeto, gerente do projeto de software, e outros gerentes de software 

- O envolvimento de outros grupos de engenharia nas atividades de sistema é negociado e documentado como esses grupos

- Os grupos envolvidos revisam os projetos de software, em particular as estimativas do tamanho, esforço, custo, e cronograma de software e outros compromissos. Exemplo de grupos envolvidos : grupo de engenharia de software, estimativa de software, engenharia de sistemas, teste de sistema, qualidade de software, gerência de configuração, gerência de contrato, etc.

- A gerência sênior revisa todos os compromissos do projeto de software realizados junto a indivíduos e grupos externos à organização

- O plano de projeto é gerenciado e controlado.

 

Habilitações

1. Ter uma declaração de trabalho documentada e aprovada 

2. Ter responsáveis pela elaboração do plano de desenvolvimento de software . O gerente de projeto, diretamente ou por delegação, coordena o planejamento do software do projeto. As responsabilidades pelos artefatos e atividades de software são dividas e atribuídas aos gerentes de software de uma maneira observável e rastreável.

Exemplos de artefatos: 

- Artefatos a serem entregues ao cliente externo ou usuário final, quanto apropriado

- Artefatos a serem usados por outros grupos de engenharia

- Principais artefatos para uso interno do grupo de engenharia de software 

3. Ter recursos e fundos disponíveis para PPS. Por exemplo: pessoas experientes, ferramentas para dar suporte às atividades de planejamento, etc.

4. Ter gerente de software, engenheiros de software e outros envolvidos treinados em procedimentos e estimativa de software

 

Padrões

1. Declaração de Trabalho

Conteúdo : 

escopo do trabalho, 

objetivos e metas técnicas, 

descrição sumária dos artefatos a serem entregues, 

identificação dos clientes e usuários finais,

padrões a serem obedecidos,

restrições e metas para custo e cronograma,

dependências entre o projeto de software e as outras organizações (por exemplo: cliente, contratados, parceiros),

outras restrições e metas para o desenvolvimento ou manutenção.

 

2. Plano de Desenvolvimento de Software

Conteúdo:

O propósito, escopo, metas e objetivos do projeto de software 

Ciclo de vida de software selecionado

Identificação dos procedimentos selecionados, métodos, e padrões para desenvolver e/ou manter software. 

Por exemplo: 

- gerência de configuração, 

- garantia de qualidade, 

- design de software, 

- acompanhamento e resolução de problemas, 

- medições de software, 

- normas técnicas de projeto, documentação e codificação)

Identificação dos artefatos de software a serem desenvolvidos 

Por exemplo: 

- planos, 

- documentos de especificação de projeto, 

- programas, 

- documentação técnica explorável pelos diversos grupos, 

- roteiros de teste, 

- documentação para o usuário, 

- arquivos contendo textos de auxílio

- tutoriais para treinamento de usuários 

- bases de dados inicializadas

- discos de distribuição do produto

Estimativas do tamanho dos artefatos de software e de qualquer mudança nos mesmos

Estimativas de esforço e do custo do projeto de desenvolvimento de software 

Estimativa da necessidade de recursos computacionais críticos

Por exemplo:

- Espaço em disco de servidores

- Estações de trabalho

- Redes de computadores

- Equipamentos com desempenho acima do convencional

- Equipamentos com características especializadas

- Hardware de apoio aos testes

- Software especializados

- Capacidade do canal de comunicação

Cronograma do projeto de software incluindo a identificação dos marcos de acompanhamento de progresso do projeto (milestones) e a identificação das revisões.

Identificação e avaliação dos riscos inerentes ao projeto de software 

Planos para os recursos de engenharia de software e as ferramentas de apoio ao projeto de desenvolvimento de software 

 

Atividades

1. Participar da proposição do projeto (preparação e submissão da proposta, discussões e submissões de esclarecimentos, negociações das alterações realizadas sobre os compromissos que afetam o projeto de software.

Exemplo de compromissos:

- metas e objetivos do projeto

- solução técnica do software e do software 

- orçamento, cronograma e recursos de software 

- padrões e procedimentos de software 

2. Iniciar planejamento do projeto do projeto de software, nos estágios anteriores do planejamento do projeto como um todo, e em paralelo com este.

3. Participar do planejamento do projeto (revisão dos planos no nível do projeto)

4. Revisar os compromissos externos do projeto de software 

5. Identificar ou definir um ciclo de vida de software 

6. Elaborar um plano de desenvolvimento de software de acordo com um procedimento documentado, que especifica:

- Padrões do cliente, quando apropriado

- Padrões do projeto

- Declaração de trabalho aprovada

- Requisitos alocados

Os planos para outros grupos de engenharia e grupos relacionados a software, que estão envolvidos nas atividades do grupo de engenharia de software, são negociados com estes grupos, os esforços de suporte são orçados e os acordos são documentados.

7. Documentar o plano de desenvolvimento de software 

8. Identificar os artefatos de software 

9. Estimar o tamanho dos artefatos de software. 

- As atividades de tamanho devem ser realizadas para todos os principais artefatos e atividades ( software operacional e de suporte, artefatos a serem entregues ou não, código, auxílio (help), documentos, atividades para desenvolver, verificar e validar artefatos)

- Dados históricos são utilizados quando disponíveis

- As estimativas de tamanho são documentadas, revisadas e acordadas

10. Estimar esforço e custo do projeto de software 

- Os dados de produtividade (histórico e/ou atuais), quando disponíveis, são empregados nas estimativas. As fontes e as justificativas para o uso destes dados estão documentadas.

Exemplo de custos relevantes:

- Gastos com mão de obra direta

- Gastos com despesas gerais

- Gastos com viagens

- Custo de aquisição ou uso de computadores

- Custo de aquisição ou licenciamento de software 

- Overheads

11. Estimar recursos computacionais críticos ( carga de processamento operacional, tráfego de comunicação)

12. Estabelecer o cronograma de software de projeto, definindo os marcos de acompanhamento de progresso do projeto, as datas das dependências críticas e outras restrições.

13. Identificar, avaliar e documentar os riscos de software.

- Os riscos são analisados e priorizados em consonância com o seu impacto potencial no projeto

- As contingências para os riscos são identificadas (exemplo: folgas nos cronogramas, planos para substituição de pessoal, planos para alocação de pessoal alternativo, planos alternativos para equipamentos adicionais)

14. Planejar as facilidades e ferramentas de suporte ao projeto.

Exemplos:

- Os computadores e periféricos para o desenvolvimento 

- Os computadores e periféricos para o teste 

- O ambiente de hardware e software a ser utilizado para desenvolvimento

- O ambiente de hardware e software em que operará o software 

- Outro software de suporte

15. Registrar, gerenciar e controlar dados de planejamento

- As informações registradas incluem as estimativas e as informações associadas necessárias para reconstruir as estimativas e avaliar sua plausibilidade 

 

Medição e Análise

1. Determinar o estado da atividades de PPS, utilizando medições, como:

- Conclusão de marcos de acompanhamento do progresso do projeto para as atividades de planejamento do projeto de software comparados ao plano.

- Trabalhos completados, esforços despendidos, recursos consumidos e fundos gastos nas atividades de planejamento do projeto de software comparadas ao plano.

 

Verificação da Implementação

1. Revisar atividades de PPS - Gerente sênior

- Desempenho técnico, de custo, de pessoal e de cronograma

- Riscos de projetos são abordados

- Itens de ação resultantes das revisões revisados e acompanhados até sua finalização

- Relatório sumário de cada reunião é preparado e distribuído aos grupos e indivíduos envolvidos

2. Revisar atividades de PPS - Gerente de projeto

- Resultados correntes e o estado das atividades de planejamento do projeto de desenvolvimento são revisados com relação aos requisitos alocados e à declaração de trabalho de projeto de software

- As interdependências entre grupos são tratadas

- Os riscos do projeto são abordados

- Itens de ação resultantes das revisões revisados e acompanhados até sua finalização

- Relatório sumário de cada reunião é preparado e distribuído aos grupos e indivíduos envolvidos

3. Revisar e/ou auditar atividades e artefatos de PPS - grupo de GQS. 

- Atividades para planejar e estimar software 

- Atividades para revisar e realizar compromissos de projeto

- Atividades para preparar o plano de desenvolvimento de software 

- Conteúdo do plano de desenvolvimento de software 

 

Recomendações

Treinamento:

- Procedimentos, métodos e ferramentas para estimar software 

- Procedimentos de planejamento aplicáveis a cada área de responsabilidade

Ferramentas:

- de suporte às atividades de planejamento do projeto de software (planilhas eletrônicas)

- modelos de estimativas

- programas para a criação de planos, cronogramas e acompanhamento de projetos

- bases de dados contendo dados históricos de projetos passados ou em andamento

 

Produtos Gerenciados e Controlados

Declaração de trabalho

Plano de desenvolvimento de software do projeto

 

Procedimentos Documentados

Atividade 4 - Revisar os compromissos externos do projeto de software 

Atividade 6 - Elaborar o plano de desenvolvimento de software 

Atividade 9 - Estimar o tamanho dos artefatos de software 

Atividade 10 - Estimar o esforço e o custo do projeto de software 

Atividade 11 - Estimar a necessidade de recursos computacionais críticos

Atividade 12 - Estabelecer o cronograma de software do projeto