Introdução ao Planejamento de Projetosleomurta/courses/2009.2/es2/aula3.pdf · 2020. 8. 31. ·...

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

Transcript of Introdução ao Planejamento de Projetosleomurta/courses/2009.2/es2/aula3.pdf · 2020. 8. 31. ·...

  • Introdução ao Planejamento de

    Projetos

    Leonardo Gresta Paulino Murta

    [email protected]

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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., IEEE/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

  • 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

  • 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

  • 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

  • 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

  • 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

  • Planejamento

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

    Leonardo Murta Introdução ao Planejamento de Projetos 18

  • 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

  • Principais forças

    Leonardo Murta Introdução ao Planejamento de Projetos 20

  • 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

  • Etapas do planejamento (Métodos Clássicos)

    Especificar o escopo

    Detalhar o escopo

    Definir as atividades

    Definir a seqüê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

  • 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

  • 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

  • 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)

  • 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

  • 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

  • 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

  • Características da EAP

    • Não determina seqüê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

    ∑=

  • 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

  • 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)

  • 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

  • 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

  • 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

  • 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

  • Passo 4: definir a seqüência das atividades

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

    • Assim, é necessário estabelecer as dependências (ou seqüê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

  • 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

  • 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 (membro do projeto)– 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

  • 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

  • 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.

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

    Dad

    os 0 ou 1 Baixa Baixa Média

    2 a 3 Baixa Média Alta

    4 ou mais Média Alta Alta

  • 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

    Dad

    os 0 ou 1 Baixa Baixa Média

    2 Baixa Média Alta

    3 ou mais Média Alta Alta

  • 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

  • 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

  • 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

  • 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

  • Exemplo

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

    Leonardo Murta Introdução ao Planejamento de Projetos 58

    Fonte: Pressman

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • Exemplo(Gantt resumido)

    Leonardo Murta Introdução ao Planejamento de Projetos 67

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • Exemplo de CPM(ou Gantt detalhado)

    Leonardo Murta Introdução ao Planejamento de Projetos 77

  • 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

  • Passo 8: Definir o orçamento

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

    • Custos pode ser maior ou menos 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

  • Exercício

    • Defina o orçamento do churrasco

    • Especifique as formas de desembolso

    Leonardo Murta Introdução ao Planejamento de Projetos 80

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • Introdução ao Planejamento de

    Projetos

    Leonardo Gresta Paulino Murta

    [email protected]