introdução ao planejamento de projetos

89
Introdução ao Planejamento de Projetos Leonardo Gresta Paulino Murta [email protected]

Upload: others

Post on 16-Oct-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução ao Planejamento de Projetos

Introdução ao Planejamento de

Projetos

Leonardo Gresta Paulino Murta

[email protected]

Page 2: Introdução ao Planejamento de Projetos

Exercício motivacional(sério!!!)

• Em grupo, imaginem que estão em 2.500 AC

• Um Faraó lhes disse:

– Quero uma pirâmidepara mim!!!

• Como vocês fariam para concretizar o desejo do Faraó?

Leonardo Murta 2Introdução ao Planejamento de Projetos

Page 3: Introdução ao Planejamento de Projetos

Outro exercício motivacional(sério também!)

• Em grupo, imaginem que vamos fazer um churrasco de início do curso de ES 2

• Como vocês fariam para concretizar o nosso churrasco?

Leonardo Murta 3Introdução ao Planejamento de Projetos

Page 4: Introdução ao Planejamento de Projetos

Análise dos exercícios

• O que teve em comum em fazer pirâmide no Egito antigo e fazer churrasco em Niterói?

– Ambos podem ser vistos como projetos, e projetos precisam ser gerenciados!

“Um projeto é um esforço temporário, realizado para criar um produto ou serviço único”

(PMI, 2004)

Leonardo Murta 4Introdução ao Planejamento de Projetos

Page 5: Introdução ao Planejamento de Projetos

Quais desses são projetos?

• Criar o logo para uma camisa do curso de ES 2• Produzir 50 camisas com esse logo• Passar na disciplina de ES 2• Estudar• Arrumar um(a) namorado(a)• Ficar com alguém• Idealizar um novo modelo de casa pré-moldada• Produzir milhares de casas pré-moldadas• Desenvolver um novo software• Dar manutenção nesse software

Leonardo Murta 5Introdução ao Planejamento de Projetos

Page 6: Introdução ao Planejamento de Projetos

Mas os que não são projetos não importam?

• Importam! Eles são operações permanentes, e também precisam ser gerenciados, contudo...

– São repetitivos

– Têm um grau mais alto de previsibilidade

– Exigem pouca criatividade

– Em alguns casos, podem ser automatizados

• Em suma: são mais fáceis de serem gerenciados!

Leonardo Murta 6Introdução ao Planejamento de Projetos

Page 7: Introdução ao Planejamento de Projetos

Operações Permanentes x Projetos

Operação 1 Operação 2 ... Operação N Operação N + 1

Projeto

Leonardo Murta 7Introdução ao Planejamento de Projetos

Page 8: Introdução ao Planejamento de Projetos

Voltando ao exercício...

• Mas fazer pirâmide ou churrasco é um projeto ouuma operação permanente?

• Depende...

– A primeira pirâmide construída sem dúvida é um projeto

– Um churrasco feito por uma churrascaria sem dúvida é uma operação permanente

A resposta está associada ao grau de inovação da tarefa!

Leonardo Murta 8Introdução ao Planejamento de Projetos

Page 9: Introdução ao Planejamento de Projetos

Tarefa de Casa

• Um dos maiores projetos da humanidade foi a ida à lua

• O Discovery Channel e a NASA fizeram um documentário sobre esse projeto– “When We Left Earth”

– São 6 episódios de 45 minutos cada

– Está disponível no Youtube

• Assistam ao vídeo!!!– Tragam comentários para as próximas aulas

Leonardo Murta Introdução ao Planejamento de Projetos 9

Page 10: Introdução ao Planejamento de Projetos

Projeto de Software

• Então, fazer software é igual a fazer pirâmide, churrasco, hambúrguer, ponte ou prédio? Não!!!– Software é intangível

– Software não está sujeito a leis externas ou normas aceitas universalmente

– Software não tem economia de escala

• Mas... Quando pensamos em uma ponte inédita, como a ponte Rio-Niterói quando foi construída, podemos encontrar sim algumas semelhanças!!!

Leonardo Murta 10Introdução ao Planejamento de Projetos

Page 11: Introdução ao Planejamento de Projetos

Software como produto intangível

• Um hambúrguer, um prédio ou uma ponte são produtos concretos

• Software é invisível

– Em alguns casos, vemos uma possível interface do software, em outros casos, nem isso!

• Software é pouco repetitivo

– Um prédio de 100 andares pode ter a mesma planta em cada andar

– Cada parte do software será (deveria ser!) diferente

Leonardo Murta 11Introdução ao Planejamento de Projetos

Page 12: Introdução ao Planejamento de Projetos

Software e as leis da natureza

• Na construção civil, o espaço da solução é restringido por– Leis da natureza (e.g., gravidade)

– Normas (obrigatórias) internacionais (e.g., ISO)

• Na construção de software, o espaço de opções se assemelha ao das artes– Não existem leis

– Normas são adotadas por opção

Leonardo Murta Introdução ao Planejamento de Projetos 12

Page 13: Introdução ao Planejamento de Projetos

Economia de escala

• Quanto maior for a compra, mais barato será proporcionalmente

• Quais desses produtos estão sujeitos a economia de escala:– Refrigerante (350 ml, 600 ml ou 2 litros)

– Ações na bolsa de valores (100 ou 100.000 ações)

– Disco rígido de computador (40, 80, 120 ou 500 Gb)

– Diamante (1, 10, 100 ou 1000 gramas)

– Prato no restaurante (para 1 ou 2 pessoas)

– Software (10, 100 ou 1000 KLOCS)

Leonardo Murta Introdução ao Planejamento de Projetos 13

Page 14: Introdução ao Planejamento de Projetos

Economia de escala em software

200 ml R$ X

2 litros Menos que 10 x R$ X

10 KLOC R$ X

100 KLOCs Mais que 10 x R$ X

Leonardo Murta 14Introdução ao Planejamento de Projetos

Page 15: Introdução ao Planejamento de Projetos

O que torna um projeto complexo?

• Número de sub-sistemas e elementos relacionados no contexto do projeto

• Número de empresas envolvidas na execução do projeto

• Número de áreas do conhecimento relacionadas ao projeto

• Número de fases necessárias na execução do projeto

Leonardo Murta Introdução ao Planejamento de Projetos 15

Page 16: Introdução ao Planejamento de Projetos

Quais fatores dificultam um projeto?

• Especificações incompletas ou imprecisas

• Domínio de conhecimento volátil

• Troca ou heterogeneidade tecnológica

• Mão de obra insuficiente ou incapacitada

• Alta rotatividade da equipe

• Verbas inexistentes ou intermitentes

• Influências políticas contradizendo decisões técnicas

Leonardo Murta 16Introdução ao Planejamento de Projetos

Page 17: Introdução ao Planejamento de Projetos

Gerência de Projetos

• Gerência de Projetos visa “aplicar conhecimentos, habilidades, ferramentas e técnicas nas atividades do projeto de maneira a atingir os objetivos estabelecidos” (PMI, 2004)

• Etapas:

Leonardo Murta Introdução ao Planejamento de Projetos 17

Planejamento

Execução

Monitoramento e Controle

Iniciação Encerramento

Page 18: Introdução ao Planejamento de Projetos

Planejamento

• Planejar é uma atividade fundamental para prever problemas e se preparar para lidar com eles

Leonardo Murta Introdução ao Planejamento de Projetos 18

Page 19: Introdução ao Planejamento de Projetos

Questões básicas a serem tratadas no Planejamento

• O que precisa ser feito (escopo)?

• Quanto tempo vai levar para fazer (prazo)?

• Quanto vai custar para fazermos (custo)?

• Quais pessoas e equipamentos vão estar disponíveis (recursos)?

• É possível ou viável executar o trabalho com um grau de qualidade aceitável (qualidade)?

Leonardo Murta Introdução ao Planejamento de Projetos 19

Page 20: Introdução ao Planejamento de Projetos

Principais forças

Leonardo Murta Introdução ao Planejamento de Projetos 20

Page 21: Introdução ao Planejamento de Projetos

Exercício

• Imagine as seguintes alterações no planejamento e diga o efeito colateral nos outros elementos do plano (escopo, prazo, custo, qualidade)– Aumento do escopo: “por favor, permita também que o

software faça venda parcelada”

– Diminuição do prazo: “preciso do software funcionando 1 mês antes do combinado”

– Diminuição dos recursos: “infelizmente somente poderemos pagar 80% do valor acertado”

– Aumento da qualidade: “O software deve funcionar em Linux e Mac, além de Windows”

Leonardo Murta Introdução ao Planejamento de Projetos 21

Page 22: Introdução ao Planejamento de Projetos

Etapas do planejamento (Métodos Clássicos)

Especificar o escopo

Detalhar o escopo

Definir as atividades

Definir a sequência das

atividades

Estimar a duração das atividades

Estimar os custos das atividades

Definir o cronograma

Definir o orçamento

Integrar planos

Leonardo Murta Introdução ao Planejamento de Projetos 22

Page 23: Introdução ao Planejamento de Projetos

Passo 1: especificar o escopo

• Escopo do produto: características e funcionalidades que o produto deve ter quando estiver pronto

• Escopo do projeto: trabalho que deve ser feito para construir o produto

Leonardo Murta Introdução ao Planejamento de Projetos 23

Page 24: Introdução ao Planejamento de Projetos

Problema!!!

• Especificar o escopo do produto (sem planejamento) para posteriormente especificar o escopo do projeto

• Especificar o escopo do projeto (impreciso) e uma das atividades ser a especificação do escopo do produto

Leonardo Murta Introdução ao Planejamento de Projetos 24

Page 25: Introdução ao Planejamento de Projetos

Problema!!!

Leonardo Murta Introdução ao Planejamento de Projetos 25

Escopo do produto primeiro

• Custo não orçado para o projeto

• Provável prejuízo caso o projeto não se concretize

Escopo do projeto primeiro

• Alto grau de incerteza no planejamento

• Elevação do risco de prejuízo caso o projeto se concretize (erro para baixo)

• Elevação do risco do projeto não se concretizar (erro para cima)

Page 26: Introdução ao Planejamento de Projetos

Solução...

• Para a especificação do escopo do projeto, é possível iniciar com o escopo do produto

• O nível de refinamento e detalhe será diretamente proporcional ao risco envolvido

• Existem diferentes opções para especificar o escopo do produto:– Documento de Visão (RUP)– Histórias (Métodos Ágeis)– Casos de uso – Cenários– Narrativa livre– Etc.

• O plano deve ser refinado sempre que mais conhecimento for adquirido

Leonardo Murta Introdução ao Planejamento de Projetos 26

Page 27: Introdução ao Planejamento de Projetos

Passo 2: detalhar o escopo

• Planejar em granularidade grossa é uma atividade propensa a erros

• Para evitar esses erros, devemos aplicar a técnica dividir para conquistar– Quebrar o problema em problemas menores

– Planejar em granularidade fina

– Inferir o planejamento completo a partir das partes

• Documento resultante (Métodos Clássicos):– Estrutura analítica do projeto (EAP, do inglês, WBS – Work

Breakdown Structure)

Leonardo Murta Introdução ao Planejamento de Projetos 27

Page 28: Introdução ao Planejamento de Projetos

EAP

• Técnica criada pelo Departamento de Defesa (DoD) e NASA, nos EUA, em 1962

• Oficializada pelo PMI em 1987

• Define elementos e suas decomposições

Leonardo Murta Introdução ao Planejamento de Projetos 28

Todo

1 Parte A

1.1 Parte X

1.2 Parte Y

...

2 Parte B 3 Parte C

Page 29: Introdução ao Planejamento de Projetos

Características da EAP

• Não determina sequência entre elementos (somente decomposição)

• Precisa ter 100% de cobertura– A decomposição do todo é 100% equivalente às partes– Nenhuma parte se repete em diferentes todos

• O somatório do trabalho das partes deve ser equivalente ao todo

Leonardo Murta Introdução ao Planejamento de Projetos 29

∑=

Page 30: Introdução ao Planejamento de Projetos

Características da EAP

• No primeiro nível, é representado o produto completo

• No segundo nível podem ser representados– Fases do desenvolvimento

– Produtos parciais

• Nos demais níveis são representadas– Decomposições de fases ou produtos parciais

– Pacotes de trabalho (tarefas)

• Cada nível deve ser numerado: 1, 2.3, 5.3.4, etc.

Leonardo Murta Introdução ao Planejamento de Projetos 30

Page 31: Introdução ao Planejamento de Projetos

Exemplos de EAP

Leonardo Murta Introdução ao Planejamento de Projetos 31

Churrasco

1 Local

1.1 Visitar Local

1.2 Escolher local

1.3 Limpar local

2 Bebidas

2.1 Escolher bebidas

2.2 Comprar bebidas

2.3 Gelar bebidas

3 Convidados

3.1 Escolher Convidados

3.2 Enviar convite

Churrasco

1 Planejamento

1.1 Escolher local

1.2 Escolher bebidas

1.3 Escolher convidados

2 Preparação

2.1 Visitar local

2.2 Comprar bebidas

2.3 Convidar pessoas

2.4 Gelar bebidas

3 Finalização

3.1 Limpar local

Os pacotes de trabalho se repetem, independentemente da organização (por fases, produtos parciais, etc)

Page 32: Introdução ao Planejamento de Projetos

Como construir a EAP

• Abordagem top-down

– Pense no panorama geral

– Insira as grandes fases ou produtos parciais

– Repita a decomposição para os demais níveis

• Abordagem bottom-up

– Faça um brainstorming com a equipe, visando identificar tarefas pontuais necessárias

– Organize as tarefas obtidas gerando fases ou produtos parciais de mais alto nível

Leonardo Murta Introdução ao Planejamento de Projetos 32

Page 33: Introdução ao Planejamento de Projetos

Quando parar de decompor a EAP?

• Quando for possível estimar com segurança o pacote de trabalho

• Pacotes de trabalhos muito grandes

– Imprecisão nas estimativas

– Incapacidade de monitoramento e controle precisos

• Pacotes de trabalho muito pequenos

– Ineficiência no planejamento, monitoramento e controle

Leonardo Murta Introdução ao Planejamento de Projetos 33

Page 34: Introdução ao Planejamento de Projetos

Exercício

• Faça uma EAP para o churrasco editando e complementando a EAP parcial abaixo

Leonardo Murta Introdução ao Planejamento de Projetos 34

Churrasco

1 Local

1.1 Visitar local

1.2 Escolher local

2 Compras

2.1 Comprar bebidas

3 Convidados

3.1 Convidar Professor

Page 35: Introdução ao Planejamento de Projetos

Passo 3: definir as atividades

• Para cada pacote de trabalho da EAP, definir:

– As atividades necessárias para gerar o pacote de trabalho

– Os recursos necessários para executar as atividades

• Exemplo para o pacote de trabalho 2.1 comprar bebidas

– Atividade: ir ao supermercado adquirir as bebidas

– Recurso: uma pessoa, um carro, dinheiroLeonardo Murta Introdução ao Planejamento de Projetos 35

Page 36: Introdução ao Planejamento de Projetos

Passo 4: definir a sequência das atividades

• Para executar uma determinada atividade, outras atividades precisam já terem sido concluídas

• Assim, é necessário estabelecer as dependências (ou sequência) das atividades

• Dependências para a atividade ir ao supermercado adquirir as bebidas– Definir quantidade de bebidas a serem compradas

– Escolher supermercado com melhor preço

Leonardo Murta Introdução ao Planejamento de Projetos 36

Page 37: Introdução ao Planejamento de Projetos

Exercício

• Estabeleça as atividades necessárias para cada pacote de trabalho

• Estabeleça a lista de dependências de cada atividade

Leonardo Murta Introdução ao Planejamento de Projetos 37

Page 38: Introdução ao Planejamento de Projetos

Passo 5: estimar aduração das atividades

• Cada atividade tem uma duração esperada• Caso a atividade seja ainda muito grande, será

complexo determinar a sua duração– Neste caso, decomponha a atividade

• Existem diferentes técnicas para estipular a duração da atividade, dentre elas:– Opinião de especialista– Estimativa por analogia (projeto anterior)– Planning Poker (Métodos Ágeis)– PERT - Program Evaluation and Review Technique– Estimativa paramétrica (fórmula)

Leonardo Murta Introdução ao Planejamento de Projetos 38

Page 39: Introdução ao Planejamento de Projetos

Estimativa via Planning Poker

• Técnica que visa o comprometimento dos membros da equipe

– Todos participam do processo de estimativa

– Todos são responsáveis pela sua concretização

• Permite rapidamente chegar a uma estimativa

• Normalmente cativa os envolvidos por ter uma dimensão lúdica

• É baseada em consenso!

Leonardo Murta Introdução ao Planejamento de Projetos 39

Page 40: Introdução ao Planejamento de Projetos

Estimativa via Planning Poker(artefatos necessários)

• Elementos a serem estimados

– Histórias

– Casos de Uso

– Pacotes de trabalho

– Atividades

– Etc.

Leonardo Murta Introdução ao Planejamento de Projetos 40

Título: Pagamento em cartão de créditoDescrição: O usuário será capaz de pagar a compra em cartão de crédito VISA.

Page 41: Introdução ao Planejamento de Projetos

Estimativa via Planning Poker(artefatos necessários)

• Um deque de 13 cartas para cada membro da equipe

– As cartas representam homens-dia

– Ex.: 3 = 3 pessoas em 1 dia ou 1 pessoa em 3 dias

Leonardo Murta Introdução ao Planejamento de Projetos 41

Page 42: Introdução ao Planejamento de Projetos

Estimativa via Planning Poker(processo)

1. Coloque o elemento a ser estimado no centro da mesa

2. Cada membro coloca a sua carta de estimativa na mesa, virada para baixo– A estimativa não é só codificação, mas inclui também

modelagem, testes, integração, etc.– Nenhum membro deve argumentar a razão da sua

escolha

3. As cartas são virada para cima ao mesmo tempo– Raramente cartas iguais aparecem. Isso é normal!!!

4. Calcula-se a média e o desvio padrão das estimativas

Leonardo Murta Introdução ao Planejamento de Projetos 42

Page 43: Introdução ao Planejamento de Projetos

Estimativa via Planning Poker(processo)

5. As estimativas são analisadas

– Os membros com estimativas distantes da média explicam seus raciocínios (eles podem ser os certos!!!)

– Se o desvio padrão está muito alto, pode ser necessário decompor o elemento sendo estimado e estimar as partes

– Se as estimativas estiverem baseadas em hipóteses não fundamentadas, essas hipóteses devem ser discutidas com o cliente

6. O processo se repete até que o consenso seja obtido

Leonardo Murta Introdução ao Planejamento de Projetos 43

Page 44: Introdução ao Planejamento de Projetos

Estimativa via PERT

• Coleta de estimativas de tempo (usando diferentes técnicas)– Melhor caso - Otimista (O)

– Caso mais Provável - Normal (N)

– Pior Caso - Pessimista (P)

• Cálculo do Tempo Esperado (TE)– Baseado em distribuição Beta

– Pior e melhor casos a 3 desvios-padrão da média

– TE = (O + 4 x N + P) / 6

Leonardo Murta Introdução ao Planejamento de Projetos 44

Page 45: Introdução ao Planejamento de Projetos

Estimativa paramétrica

• A partir da execução de diversos projetos semelhantes, é possível construir fórmulas via regressão que representem esses projetos

• Essas fórmulas normalmente levam em consideração o contexto para aumentar a precisão– Linguagem de programação

– Nível de qualidade

– Domínio do problema

– Etc.

Leonardo Murta Introdução ao Planejamento de Projetos 45

Page 46: Introdução ao Planejamento de Projetos

Estimativa paramétrica

• Cada organização deve adaptar as fórmulas para a suas situação específica!!!

• Não é necessária a decomposição das atividades do projeto para sua utilização

• Não permite um entendimento analítico da estimativa obtida

• Normalmente são utilizadas como complemento a outras técnicas, com intuito comparativo

• Alguns modelos paramétricos para estimativas: COnstructive COst Model (COCOMO) e Análise de pontos de função (APF)

Leonardo Murta Introdução ao Planejamento de Projetos 46

Page 47: Introdução ao Planejamento de Projetos

Estimativa via COCOMO• Modelo paramétrico criado por Berry Boehm• O modelo é dividido em níveis de complexidade• Está implementado em diversas ferramentas

– http://csse.usc.edu/tools/COCOMOII.php– http://cost.jsc.nasa.gov/COCOMO.html

• Fórmula básica:– Projetos simples: fácil entendimento e equipe pequena

– Projetos de complexidade media: experiência limitada da equipe

– Projetos complexos: software crítico, interagindo com hardware

• Esforço calculado em homem-mês!

Leonardo Murta Introdução ao Planejamento de Projetos 47

05,14,2 KLOCEsforço

12,10,3 KLOCEsforço

20,16,3 KLOCEsforço

Page 48: Introdução ao Planejamento de Projetos

Estimativa via COCOMO

• Duração– Projetos simples: fácil entendimento e equipe pequena

– Projetos de complexidade media: experiência limitada da equipe

– Projetos complexos: software crítico, interagindo com hardware

• Duração calculada em meses!

Leonardo Murta Introdução ao Planejamento de Projetos 48

38,05,2 EsforçoDuração

35,05,2 EsforçoDuração

32,05,2 EsforçoDuração

Page 49: Introdução ao Planejamento de Projetos

Mas como saber o número de LOC antes de ter o produto?

• Análise de Pontos de Função (APF) visa contar a quantidade de funcionalidades de um sistema

– É independente da linguagem de programação

– Permite dar uma noção de tamanho do software

– Útil para estimativas e normalização de outras métricas

• APF ocorre baseado em informações de análise

• Existem constantes de transformação entre pontos de função e LOC

Leonardo Murta Introdução ao Planejamento de Projetos 49

Page 50: Introdução ao Planejamento de Projetos

Estimativa via APF(algoritmo)

1. Contar os elementos do software– Número de Entradas Externas (EE): conjunto de dados únicos

que entram na fronteira do sistema – Ex.: tela de cadastro de produtos

– Número de Saídas Externas (SE): conjunto de dados únicos que saem da fronteira do sistema – Ex.: relatório de vendas

– Número de Consultas Externas (CE): combinação de entrada e saída onde a saída ocorre em função da entrada

– Número de Arquivos Lógicos Internos (ALI): entidades únicas manipuladas pelo sistema – Ex.: entidade pedido

– Número de Arquivos de Interface Externos (AIE): entidades compartilhadas por diferentes sistemas externos – Ex.: estoque sendo compartilhado pelos sistemas de vendas e financeiro

Leonardo Murta Introdução ao Planejamento de Projetos 50

Page 51: Introdução ao Planejamento de Projetos

Estimativa via APF(algoritmo)

2. Determinar o nível de complexidade de cada elemento do software

– Para Número de Arquivos Lógicos Internos (ALI) e Número de Arquivos de Interface Externos (AIE)

Leonardo Murta Introdução ao Planejamento de Projetos 51

Campos de Dados

1 a 19 20 a 50 51 ou mais

Reg

istr

os

de

Dad

os 1 Baixa Baixa Média

2 a 5 Baixa Média Alta

6 ou mais Média Alta Alta

Page 52: Introdução ao Planejamento de Projetos

Estimativa via APF(algoritmo)

2. Determinar o nível de complexidade de cada elemento do software

– Para Número de Saídas Externas (SE) e Número de Consultas Externas (CE)

Leonardo Murta Introdução ao Planejamento de Projetos 52

Campos de Dados

1 a 5 6 a 19 20 ou mais

Tip

os

de

D

ado

s 0 ou 1 Baixa Baixa Média

2 a 3 Baixa Média Alta

4 ou mais Média Alta Alta

Page 53: Introdução ao Planejamento de Projetos

Estimativa via APF(algoritmo)

2. Determinar o nível de complexidade de cada elemento do software

– Para Número de Entradas Externas (EE)

Leonardo Murta Introdução ao Planejamento de Projetos 53

Campos de Dados

1 a 4 5 a 15 16 ou mais

Tip

os

de

D

ado

s 0 ou 1 Baixa Baixa Média

2 Baixa Média Alta

3 ou mais Média Alta Alta

Page 54: Introdução ao Planejamento de Projetos

Estimativa via APF(algoritmo)

3. Atribuir peso para as contagens de cada elemento do software

Leonardo Murta Introdução ao Planejamento de Projetos 54

Elemento\Complexidade Baixa Média Alta

Entradas Externas (EE) 3 4 6

Saídas Externas (SE) 4 5 7

Consultas Externas (CE) 3 4 6

Arquivos Lógicos Internos (ALI) 7 10 15

Arquivos de Interface Externos (AIE) 5 7 10

Page 55: Introdução ao Planejamento de Projetos

Estimativa via APF(algoritmo)

4. Obter Pontos de Função não Ajustados (PFNA)

5. Ajustar os pontos de função

– Responder a 14 questões

– Menor nota: 0 (não importante ou não aplicável)

– Maior nota: 5 (absolutamente essencial)

Leonardo Murta Introdução ao Planejamento de Projetos 55

PesoElementoPFNA

Page 56: Introdução ao Planejamento de Projetos

Estimativa via APF

• Questões de ajuste1. Necessita de backup?2. Necessita de mecanismos especializados de comunicação?3. Tem processamento distribuído?4. Precisa de alto desempenho?5. Terá grande número de usuários em paralelo?6. Precisará de entrada de dados on-line?7. No caso de entradas on-line, existirão múltiplas telas?8. A atualização das entidades será feita on-line?9. As entradas e saídas de dados serão complexas?10. O processamento interno será complexo?11. O código será projetado para ser reutilizado?12. Migração e instalação estarão incluídos?13. O sistema será instalado em diversas organizações?14. O projeto pretende facilitar mudanças e operação do usuário?

Leonardo Murta Introdução ao Planejamento de Projetos 56

Page 57: Introdução ao Planejamento de Projetos

Estimativa via APF(algoritmo)

6. Obter Pontos de Função Ajustados (PF)

7. Converter PFNA em LOC

– 1 PFNA é igual a...

Leonardo Murta Introdução ao Planejamento de Projetos 57

)01,065,0( RespostaPFNAPF

Linguagem LOC

Assembly 320

C 128

C++ 55

COBOL 91

Linguagem LOC

FORTRAN 77 107

Java 53

PASCAL 91

PERL 27

Linguagem LOC

Prolog 64

Shell Script 107

Visual Basic 5 29

Visual C++ 34

Page 58: Introdução ao Planejamento de Projetos

Exemplo

• Orçar um sistema de automação residencial

Leonardo Murta Introdução ao Planejamento de Projetos 58

Fonte: Pressman

Page 59: Introdução ao Planejamento de Projetos

Exemplo

• Contagem de PFNA– Entradas Externas (EE): 3 x 3 = 9– Saída Externa (SE): 2 x 4 = 8– Consultas Externas (CE): 2 x 3 = 6– Arquivos Lógicos Internos (ALI): 1 x 7 = 7– Arquivos de Interface Externos (AIE): 4 x 5 = 20

• PFNA = 50• Desenvolvimento em Java

– Tamanho ≈ 2,6 KLOC– Esforço ≈ 6,5 homem-mês– Duração ≈ 5 meses– Custo da mão de obra (R$ 3.000,00 por pessoa) ≈ R$ 19.500,00

Leonardo Murta Introdução ao Planejamento de Projetos 59

Page 60: Introdução ao Planejamento de Projetos

Exercício

• Estabeleça a duração das atividades utilizando a técnica de Planning Poker

Leonardo Murta Introdução ao Planejamento de Projetos 60

Page 61: Introdução ao Planejamento de Projetos

Passo 6: estimar oscustos das atividades

• Tendo em mãos...– Os recursos necessários para a execução das atividades

– A duração estimada das atividades

• ... é possível estimar os custos das atividades

• Recursos diferentes influenciam diferentemente nos custos:– Recursos humanos: valor por hora do recurso x duração em

horas

– Recursos de capital (e.g., carro): valor do recurso x número de recursos (esses recursos podem ser reutilizados em atividades que não estejam em paralelo)

– Recursos de consumo (e.g., combustível): valor do recurso x quantidade necessária para a atividade

Leonardo Murta Introdução ao Planejamento de Projetos 61

Page 62: Introdução ao Planejamento de Projetos

Exercício

• Defina o valor dos recursos necessários

– Humanos

– Capital

– Consumo

• Defina o custo das atividades

Leonardo Murta Introdução ao Planejamento de Projetos 62

Page 63: Introdução ao Planejamento de Projetos

Passo 7: definir o cronograma

• Um elemento chave do planejamento é o cronograma

• O cronograma define– O que deve ser feito

– Em que ordem deve ser feito

– Quanto tempo leva para fazer

– Quanto custa para fazer

• Cronogramas existem sempre, mas em diferentes graus de detalhamento– Métodos Clássicos: cronograma detalhado com atividades

– Métodos Ágeis: cronograma em alto nível, com iterações

Leonardo Murta Introdução ao Planejamento de Projetos 63

Page 64: Introdução ao Planejamento de Projetos

Marcos de cronograma

• Além das atividades, os cronogramas definem marcos(do inglês, milestones)– Representam o encerramento de alguma etapa– São um bom momento para uma avaliação geral do

andamento do projeto

• Pense em uma viagem longa...

Leonardo Murta Introdução ao Planejamento de Projetos 64

Page 65: Introdução ao Planejamento de Projetos

Tarefa de casa

• Analise algum projeto open-source e traga na próxima aula

– O seu cronograma (chamado de roadmap por alguns projetos)

– Os marcos (chamado de release milestones por alguns projetos)

Leonardo Murta Introdução ao Planejamento de Projetos 65

Page 66: Introdução ao Planejamento de Projetos

Gráfico de Gantt

• Cronogramas são usualmente representados por meio de gráficos de Gantt– Eixo X: tempo

– Eixo Y: atividades

• Gráficos de Gantt contém– As atividades

– A dependência entre as atividades

– A duração das atividades

Leonardo Murta Introdução ao Planejamento de Projetos 66

Page 67: Introdução ao Planejamento de Projetos

Exemplo(Gantt resumido)

Leonardo Murta Introdução ao Planejamento de Projetos 67

Page 68: Introdução ao Planejamento de Projetos

Caminho crítico

• Um cronograma define a ordem e duração de atividades

• Com isso, algumas atividades podem ser executadas em paralelo

• Mas determinadas atividades são mais críticas que outras, pois podem impactar no atraso de todo o projeto

Leonardo Murta Introdução ao Planejamento de Projetos 68

Page 69: Introdução ao Planejamento de Projetos

CPM

• CPM (Critical Path Method) é uma técnica clássica criada nos anos 50 para encontrar o caminho crítico

• O caminho crítico contém as atividades que, caso atrasem, atrasarão o projeto como um todo

• As atividades que não estão no caminho crítico têm folga– Que também é calculada via CPM

• As atividades que estão no caminho critico, quando otimizadas, melhoram o desempenho do projeto como um todo!!!

Leonardo Murta Introdução ao Planejamento de Projetos 69

Page 70: Introdução ao Planejamento de Projetos

Exercício

• Encontre o caminho crítico e as folgas das atividades do Churrasco.

• Qual algoritmo você usou para encontrar esses valores?

Leonardo Murta Introdução ao Planejamento de Projetos 70

Page 71: Introdução ao Planejamento de Projetos

Algoritmo CPM

1. Construa um grafo onde as atividades são nós e as dependências são arestas direcionadas

2. Coloque um nó “início” e um nó “fim” no grafo

3. Conecte todas as atividades sem dependência de entrada com uma dependência vindo de “início”, e sem dependência de saída com dependência indo para “fim”

4. Escreva a duração de cada atividade sobre a atividade

Leonardo Murta Introdução ao Planejamento de Projetos 71

Page 72: Introdução ao Planejamento de Projetos

Algoritmo CPM

Leonardo Murta Introdução ao Planejamento de Projetos 72

Escolher local

Escolher bebidas

Escolher convidados

Visitar local

Comprar bebidas

Convidar pessoas

Contratar local

Gelar bebidas

Limpar local

Início

Fim

2

3

2

1

1

1

1

1

1

1

Page 73: Introdução ao Planejamento de Projetos

Algoritmo CPM

5. Encontre todos os caminhos entre o início e o fim via busca em profundidade

6. Para cada caminho encontrado, some a duração das atividades

• O caminho com a maior duração é o caminho crítico

• A folga das atividades do caminho crítico é zero

• A folga das atividades fora do caminho crítico é a duração do seu caminho mais longo menos a duração do caminho crítico

Leonardo Murta Introdução ao Planejamento de Projetos 73

Page 74: Introdução ao Planejamento de Projetos

Algoritmo CPM

Leonardo Murta Introdução ao Planejamento de Projetos 74

Escolher local

Escolher bebidas

Escolher convidados

Visitar local

Comprar bebidas

Convidar pessoas

Contratar local

Gelar bebidas

Limpar local

Início

Fim

2

3

2

1 1

1

1

1

1

4

5

4

5

Page 75: Introdução ao Planejamento de Projetos

Algoritmo CPM

Leonardo Murta Introdução ao Planejamento de Projetos 75

Escolher local

Escolher bebidas

Escolher convidados

Visitar local

Comprar bebidas

Convidar pessoas

Contratar local

Gelar bebidas

Limpar local

Início

Fim

2

3

2

1 1

1

1

1

1

Folga=0

Folga=0

Folga=0

Folga=0

Folga=0 Folga=0

Folga=0

Folga=1

Folga=1

Page 76: Introdução ao Planejamento de Projetos

Exercício

• Refaça o exercício anterior e verifique se o caminho crítico e as folgas tinham sido encontradas corretamente

• Além disso, determine para cada atividade a sua data mínima e máxima de início e término imaginando que queremos o churrasco para daqui a 2 semanas

Leonardo Murta Introdução ao Planejamento de Projetos 76

Page 77: Introdução ao Planejamento de Projetos

Exemplo de CPM(ou Gantt detalhado)

Leonardo Murta Introdução ao Planejamento de Projetos 77

Page 78: Introdução ao Planejamento de Projetos

Tarefa de Casa

• Utilize alguma ferramenta para gerar o gráfico de Gantt, o caminho crítico e as folgas para o trabalho do curso

– No nosso laboratório temos o MS Project instalado

– Outras ferramentas podem ser encontradas em http://en.wikipedia.org/wiki/List_of_project_management_software

Leonardo Murta Introdução ao Planejamento de Projetos 78

Page 79: Introdução ao Planejamento de Projetos

Passo 8: Definir o orçamento

• Orçamento = ∑ custos das atividades + margem de lucro

• Custos podem ser maiores ou menores que o Orçamento– Custos < Orçamento (é o mais comum) visa lucro

– Custos > Orçamento visa aumentar a probabilidade de ganhar o projeto (para projetos estratégicos)

• O orçamento deve conter também o cronograma de desembolsos– Ex.: Orçamento de R$ 100.000,00, com 4 desembolsos

semestrais de R$ 25.000,00

– Normalmente os desembolsos são associados a marcos do projeto!

Leonardo Murta Introdução ao Planejamento de Projetos 79

Page 80: Introdução ao Planejamento de Projetos

Exercício

• Defina o orçamento do churrasco

• Especifique as formas de desembolso

Leonardo Murta Introdução ao Planejamento de Projetos 80

Page 81: Introdução ao Planejamento de Projetos

Passo 9: integrar planos

• O plano do projeto envolve, além do planejamento de escopo, custo e cronograma, o planejamento das demais práticas de ES:– Plano de comunicação

– Plano de testes

– Plano de gerência de configuração

– Plano de segurança

– Plano de implantação

– Plano de reutilização

– Etc.

Leonardo Murta Introdução ao Planejamento de Projetos 81

Page 82: Introdução ao Planejamento de Projetos

Exemplo: plano de riscos

• O propósito do processo Gerência de Riscos é identificar, analisar, tratar, monitorar e reduzir continuamente os riscos em nível organizacional e de projeto (SOFTEX, 2009)

• Visa:– Identificar os riscos do projeto

– Estabelecer a probabilidade de ocorrência, o impacto e a exposição (probabilidade x impacto) de cada risco identificado

– Priorizar os riscos (ordenar decrescentemente por exposição)

– Mitigar os riscos (definir planos de contenção e contingência)

– Monitorar periodicamente

– Tomar ações corretivas quando necessário

Leonardo Murta Introdução ao Planejamento de Projetos 82

Page 83: Introdução ao Planejamento de Projetos

Exemplo ilustrativo

• Cenário: subida de serra na terra

• Risco 1: colisão com carro vindo na outra direção

Leonardo Murta Introdução ao Planejamento de Projetos 83

Page 84: Introdução ao Planejamento de Projetos

Exemplo ilustrativo

• Probabilidade: 20% (pouca neblina)

• Impacto: 0,8 (ferimentos graves)

• Exposição: 0,16

• Prioridade: média

Leonardo Murta Introdução ao Planejamento de Projetos 84

Impacto

Pro

bab

ilid

ade

0 0,2 0,4 0,6 0,8 1

100% 0 0,2 0,4 0,6 0,8 1

80% 0 0,16 0,32 0,48 0,64 0,8

60% 0 0,12 0,24 0,36 0,48 0,6

40% 0 0,08 0,16 0,24 0,32 0,4

20% 0 0,04 0,08 0,12 0,16 0,2

0% 0 0 0 0 0 0

Page 85: Introdução ao Planejamento de Projetos

Exemplo ilustrativo

• Mitigação

– Contenção: dirigir em baixa velocidade, carro com ABS

– Contingência: uso de cinto de segurança, carro com AirBag

Leonardo Murta Introdução ao Planejamento de Projetos 85

Page 86: Introdução ao Planejamento de Projetos

Exemplo ilustrativo

• Monitoramento– A cada 10 minutos

– Verificar mudanças climáticas

– Verificar condições da pista e claridade (dia/noite)

– Atualizar avaliação de probabilidade e impacto do risco

Leonardo Murta Introdução ao Planejamento de Projetos 86

Page 87: Introdução ao Planejamento de Projetos

Exercício

• Defina os riscos relacionados ao trabalho do curso

– Identifique a probabilidade e o impacto desses riscos

– Calcule a exposição ao risco

– Priorize os riscos

– Mitigue (medidas de contenção e contingência) os riscos com maior prioridade

– Determine o período de monitoramento e execute o monitoramento nesse período

Leonardo Murta Introdução ao Planejamento de Projetos 87

Page 88: Introdução ao Planejamento de Projetos

Referências

• Greene, J.; Stellman, A.; 2007. Head First PMP. O’Reilly Media

• Orth, A. I., Prikladnicki, R., “Planejamento e Gerência de Projetos”, ediPUCRS, Porto Alegre, 2009.

• Pilone, D.; Miles, R.; 2008. Head First Software Development. O’Reilly Media.

• Pressman, R. S.; 2004. Software Engineering: A Practitioner’s Approach. 6 ed. McGraw-Hill.

• SOFTEX, 2009. Guia de Implementação – Parte 5: Nível C. http://www.softex.br/mpsbr

Leonardo Murta 88Introdução ao Planejamento de Projetos

Page 89: Introdução ao Planejamento de Projetos

Introdução ao Planejamento de

Projetos

Leonardo Gresta Paulino Murta

[email protected]