57
1 Planejamento/ Gerenciamento Alexandre Mota ([email protected])

1 Planejamento/Gerenciamento Alexandre Mota ([email protected])

Embed Size (px)

Citation preview

Page 1: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

1

Planejamento/Gerenciamento

Alexandre Mota ([email protected])

Page 2: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

2

Objetivos Evitar os erros clássicos Que é projeto? Ciclo de vida de projetos Elementos essenciais Objetivos gerais do planejamento e

gerenciamento do projeto de software

Page 3: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

3

Erros Clássicos

Desenvolvimento de Software é uma atividade complicada ...

Page 4: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

4

Pessoas Motivação incoerente

Esforço do pessoal e chefe de férias … Pessoal fraco

Seleção apressada ao invés de conveniente … Pessoal problemático

Uma pessoa pode desconcentrar uma equipe …

Heroísmo Posso fazer tudo, não preciso da equipe …

Page 5: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

5

Pessoas Mais pessoas no final do projeto

Em pequeno incêndio, jogue gasolina … Escritórios barulhentos

Meu nível de concentração é excelente …

Atrito entre desenvolvedores e clientes Se você não adicionar isso, não quero

mais …

Page 6: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

6

Pessoas Expectativas irreais

Vamos terminar o projeto em 6 meses … Falta de interação com o usuário

Isso é ambíguo …, mas vamos decidir sozinhos …

Crença cega Essa parte do sistema é muito simples, em

1 ou 2 dias removemos todos os erros …

Page 7: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

7

Processo Cronogramas altamente otimistas

Ganhamos tempo na análise de requisitos e no projeto …

Gerenciamento de riscos insuficiente Se o risco A se concretizar, resolvemos …

Falha de contratos Com o módulo M, a ser criado pela empresa

E, vamos melhorar nosso cronograma …

Page 8: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

8

Processo Planejamento insuficiente

Esse sistema é simples, não há o que planejar …

Abandono de plano sob pressão Devido ao cronograma, vamos

codificar já da especificação de requisitos e não vamos testar …

Page 9: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

9

Processo Garantia de qualidade prejudicada

Só precisamos fazer os testes a partir da GUI …

Controle de gerenciamento insuficiente O que já fizemos? Não sei, mas sem problema

… Sem estimativas para tarefas necessárias

Não precisamos registrar o tempo para tarefa T …

Page 10: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

10

Processo Planejamento para controlar

depois Fizemos em 3 meses, o que

planejamos fazer em 2, mas depois nós ganhamos tempo …

Programação sem padronização Vou codificar de qualquer jeito; ganho

tempo …

Page 11: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

11

Produto Requisitos demais

Sei que o usuário não pediu, mas vamos melhorar a performance do sistema …

Desenvolvedor exagerado Sei que o sistema não precisa e que não

domino a tecnologia, mas vou usar o recurso R …

Desenvolvimento orientado a pesquisa Sei que vou desenvolver funcionalidade F,

estado-da-arte, mas minha estimativa é razoável …

Page 12: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

12

Tecnologia Síndrome da bala de prata

Vou usar o gerador de GUIs e não terei problemas quanto ao desenvolvimento das GUIs …

Estimativa otimista com novas ferramentas ou métodos Vou usar ferramenta F, no lugar de G,

daí vou ganhar tempo …

Page 13: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

13

Tecnologia Troca de ferramentas no meio do

projeto Vou usar a nova versão de F, pois tem

mais recursos … Falta de controle sobre o código-

fonte Vamos trabalhar em paralelo no

módulo M (único arquivo), para ganharmos tempo …

Page 14: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

14

Projeto: Definição PMI Um empreendimento temporário

realizado para criar um produto ou serviço único

Page 15: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

15

Ciclo de Vida Delimitar início e fim de um projeto Controlar administração do projeto Estudo de viabilidade

Uma primeira fase do projeto? Define

Trabalho a ser feito X envolvidos

Page 16: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

16

Por que Planejar? Criar propostas que sejam

Econômicas e Realizadas com recursos financeiros

pré-estabelecidos E que estejam de acordo com as

necessidades requisitadas Representar precisamente o que

se pode fazer

Page 17: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

17

Planejando um projeto de software Inicie com uma declaração explícita

do trabalho a ser feito e verifique se corresponde ao que o cliente espera

Em projetos médios e grandes, criam-se subprojetos menores e estima-os separadamente

Baseie suas estimativas com dados históricos de projetos semelhantes

Page 18: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

18

Planejamento e Estimativa Registre suas estimativas para

comparar com os resultados reais no final do projeto

Planejamento continua durante desenvolvimento e manutenção Planejamento inicial não é suficiente Planejamento detalhado mais cedo

possível só ocorre após a especificação de requisitos

Page 19: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

19

Planejamento e o Processo de Software

Page 20: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

20

Estimativa de Esforço Há várias técnicas para estimar o

esforço (tamanho) exigido no desenvolvimento de um produto de software

Uma das mais recentes é a baseada em casos de uso

Page 21: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

21

Classificando Atores Ator Simples

Sistema reusado onde há uma API bem definida para a interação

Peso 1

Page 22: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

22

Classificando Atores Ator Médio

Sistema reusado onde a interação envolve um protocolo, por exemplo TCP/IP

Peso 2

Page 23: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

23

Classificando Atores Ator Complexo

Ser humano que necessita de uma GUI ou Web page

Peso 3

Page 24: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

24

Classificando Casos de Uso Casos de uso simples

Se quantidade de passos no fluxo for no máximo 3, ou

Necessitar de até 5 classes de análise Peso 1

Page 25: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

25

Classificando Casos de Uso Casos de uso médio

Se quantidade de passos no fluxo estiver entre 4 e 7 (inclusive), ou

Necessitar de 5 a 10 classes de análise

Peso 2

Page 26: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

26

Classificando Casos de Uso Casos de uso complexo

Se quantidade de passos no fluxo for maior que 7, ou

Necessitar mais de 10 classes de análise

Peso 1

Page 27: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

27

Fatores Técnicos

Fator Descrição Peso

T1 Sistema Distribuído

2

T2 Tempo de resposta

1

...

T12 Acesso direto 1

T13 Treinamento Especial Requerido

1

Page 28: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

28

Fatores Ambientais

Fator Descrição Peso

F1 Familiar com modelo

1.5

F2 Experiência na Aplicação

0.5

...

F7 Equipe 1/2 expediente

-1

F8 Ling. prog. -1

Page 29: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

29

Calculando os UCP´s Atores (UAW) Casos de uso (UUCW)

UUCP = UAW + UUCW Fatores técnicos (TCF=0.6+0.01*TF) Fatores ambientais (EF=1.4-0.03*EF) UCP = UUCP * TCF * EF

Page 30: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

30

Convertendo UCP em Horas Karner

1 UCP => 20 h Este valor deve estar entre 15 e 30h e

deve ser ajustado de acordo com histórico da empresa

Portanto, um projeto com UCP = 1.07 * 0.62 * 264 = 175.14

Demanda 175.14*20h = +/-3503h

Page 31: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

31

Ferramenta para Calcular EZEstimate

http://www.openrage.com/main/ezestimate_full.htm

Page 32: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

32

O que é um plano? Documento que define o trabalho que e

como deve ser feito Com uma estimativa de tempo e recursos

exigidos, e um contexto para gerenciamento de controle e revisão, para cada maior tarefa

Servir de benchmark para comparar com projetos anteriores, quando documentado apropriadamente Melhorando erros em estimativas e sua

precisão

Page 33: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

33

Estrutura Básica de um Plano Introdução Organização do Projeto Requisitos com Recursos (Pessoas, SW,

HW) Detalhamento das Tarefas Análise de Riscos Cronograma do Projeto

Milestones/Deliverables Atribuição de tarefas a pessoas Estimativa de tempo

Custo do Projeto

Page 34: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

34

Recursos Pessoas

Ricardo, Larissa, João, Márcia e Alberto

Especialidades

Software JBuilder, .NET

Hardware Laptop, PC, PDA

Page 35: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

35

Tarefas Dividir para conquistar Normalmente atribuída a uma pessoa Estimativa de tempo/esforço precisa Pode-se associar especialidade(s)

necessária(s) para sua realização Podem gerar (parte de) resultado

desejável (milestone)

Page 36: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

36

Exemplos de Tarefas Entrevistar cliente CL Reunião Projetar a GUI Gi

Criar o relatório R Atualizar o site Testar método M da classe C

Page 37: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

37

Por que Gerenciar? Para atingir objetivos e produzir

resultados Concentrar responsabilidade e

autoridade para atingir objetivos Coordenar e integrar todas as

atividades para chegar aos resultados

Page 38: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

38

Objetivos do Gerenciamento

Custo

Desempenho

Tempo

Objetivo:• Limite de orçamento• Prazo de entrega• Desempenho Almejado

Page 39: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

39

Qualidades de Gerente Liderança Comunicação Resolver problemas Negociação Influenciar a organização Mentor Especialista técnico e em processo

Page 40: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

40

Gerenciamento das Tarefas Milestones

Ponto final de uma atividade do processo de software (um marco no cronograma)

Deliverables Resultado do projeto a ser entregue

ao cliente. Usualmente entregue ao final de uma fase.

Page 41: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

41

Tarefas: Duração e Dependências

Tarefa Duração (dias) DependênciasT1 8T2 15T3 15 T1 (M1)T4 10T5 10 T2, T4 (M2)T6 5 T1, T2 (M3)T7 20 T1 (M1)T8 25 T4 (M5)T9 15 T3, T6 (M4)T10 15 T5, T7 (M7)T11 7 T9 (M6)T12 10 T11 (M8)

Page 42: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

42

Rede de Atividades

start

T2

M3T6

Finish

T10

M7T5

T7

M2T4

M5

T8

4/7/99

8 days

14/7/99 15 days

4/8/99

15 days

25/8/99

7 days

5/9/99

10 days

19/9/99

15 days

11/8/99

25 days

10 days

20 days

5 days25/7/99

15 days

25/7/99

18/7/99

10 days

T1

M1 T3T9

M6

T11

M8

T12

M4

Page 43: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

43

Alocação de Pessoal4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9

T4

T8 T11

T12

T1

T3

T9

T2

T6 T10

T7

T5

Fred

Jane

Anne

Mary

Jim

Page 44: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

44

Tempo de Desenvolvimento A partir da rede de atividades

Grafo interligando tarefas com tempo Determinar o caminho crítico

O caminho que leva mais tempo para concluir

Gerente deve dar especial atenção às tarefas contidas no caminho crítico

É crucial ter folgas no caminho crítico

Page 45: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

45

Acompanhamento das TarefasData Início Fim Interrup. Tarefa

20/04 08:00 15:30 30min T1

21/04 08:00 14:00 30min T2

25/04 15:00 18:00 10min T3

01/05 08:00 18:00 1hora T4

ATENÇÃO: Existe uma tabela semelhante com tempo estimado

Page 46: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

46

Ferramenta para Acompanhamento

Uma vez definidas as atividades e estimativas de tempo para suas realizações

Pode-se usar a ferramenta web XPlanner para o acompanhamento (http://www.xplanner.org/)

Page 47: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

47

Custo do Projeto Recursos humanos (R$/hora) Instalações (fone, luz, etc.) Reuniões (tempo, pessoas, etc.) Material de escritório/informática Etc.

Page 48: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

48

Riscos Identificação de Riscos

Identificar riscos de projeto, produto e negócio Análise de Riscos

Avalia as conseqüências dos riscos Planejamento de Riscos

Alternativas para evitar ou minimizar seus efeitos

Monitoramento de Riscos Acompanhar os riscos durante o projeto

Page 49: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

49

Processo de Gerenciamento de Riscos

Risk avoidanceand contingency

plans

Risk planning

Prioritised risklist

Risk analysis

List of potentialrisks

Riskidentification

Riskassessment

Riskmonitoring

Page 50: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

50

Identificação de Riscos Riscos com Tecnologia Riscos com Pessoal Riscos Organizacionais Riscos nos Requisitos Riscos nas Estimativas

Page 51: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

51

Principais Áreas de Riscos Pessoal Cronograma e Custo Funcionalidade do Sistema

Falta de entendimento da aplicação Análise de requisitos inadequada

Estabilidade dos Requisitos Cliente tenta alterar requisitos o tempo todo

Qualidade de Componentes Externos DIFICULDADE EM ANTECIPAR TUDO!!!

Page 52: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

52

Análise de Riscos Avaliar a probabilidade e seriedade

de cada risco A probabilidade pode variar de

muito baixo (0-20%), baixo (20-40%), médio (40-60%), alto (60-80%) e muito alta (80-100%)

Os efeitos dos riscos podem ser catastróficos, sérios, toleráveis ou insignificantes

Page 53: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

53

Planejamento de Riscos Para cada risco, elaborar

estratégia para gerenciá-lo Estratégias para Evitar

A probabilidade de ocorrência é reduzida Estratégias para Minimizar

O efeito do risco no projeto ou produto é reduzida

Planos de Contingência Se o risco ocorrer, o que devemos fazer?

Page 54: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

54

Monitoramento de Riscos Avaliar cada risco periodicamente

para determinar se está mais ou menos provável de ocorrer

Avaliar os efeitos pois podem mudar

Cada risco crítico deve ser discutido em reuniões gerenciais de progresso do projeto

Page 55: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

55

Identificação de RiscosRisco Probabilida

deEfeitos

Pessoal doente Moderada Sério

Tamanho do software desconhecido

Alta Tolerável

... … …

Pessoal qualificado não disponível

Alta Catastrófico

Page 56: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

56

Estratégias de Gerenciamento

Risco Estratégia

Pessoal doente

Reorganizar equipe para ter sobreposição de pessoas/trabalho

Recrutamento Alertar cliente sobre possível atraso

… …

Mudança nos requisitos

Analisar rastreamento entre requisitos para determinar impacto

Page 57: 1 Planejamento/Gerenciamento Alexandre Mota (acm@cin.ufpe.br)

57

Bibliografia Sommerville, I. Software

Engineering Humphrey, W. A Discipline for

Software Engineering McConnel, S. Rapid Development