40
Estimando Projetos de TI : Estimando Projetos de TI : Arte ou Ciência Arte ou Ciência Márcio Silveira Márcio Silveira EDS - Electronic Data Systems do Brasil Ltda. EDS - Electronic Data Systems do Brasil Ltda.

Estimativas cef 2000

Embed Size (px)

Citation preview

Estimando Projetos de TI :Estimando Projetos de TI :Arte ou CiênciaArte ou Ciência

Estimando Projetos de TI :Estimando Projetos de TI :Arte ou CiênciaArte ou Ciência

Márcio SilveiraMárcio SilveiraEDS - Electronic Data Systems do Brasil Ltda.EDS - Electronic Data Systems do Brasil Ltda.

Márcio SilveiraMárcio SilveiraEDS - Electronic Data Systems do Brasil Ltda.EDS - Electronic Data Systems do Brasil Ltda.

Em algum lugar agora um projeto está falhando ...

Tom De Marco

Peopleware

Agenda

• Motivadores : A situação atual

• Princípios de uma boa estimativa

• Um processo formal de estimativa

• Usando o processo de estimativa como uma vantagem competitiva

• A experiência da EDS

Motivadores : Situação Atual (Constatações)

• Projetos sub-dimensionados em até 200% em termos de esforço, duração e orçamento.

• Projetos cancelados.

• Projetos terminados acima do bugdet sem entrega do que foi prometido.

• Artigo : “Se Engenheiros/Arquitetos tivessem que trabalhar como Analistas de Sistemas “.

Motivadores : Situação Atual (Pressões)

• Mais rápido, com maior qualidade, mais barato.

• Modelos de Qualidade ISO/CMM.

• Explosão da globalização :

Requerimentos crescem a razão de 1% ao mês de execução do projeto.

Princípios de uma boa estimativa

P1 Invista na estimativa

P2 Entenda os Cenários

P3 Re-estime frequentemente

Algumas Definições

• ProjetoQualquer esforço planejado que tem produtos a serem

gerados, compromissos de entrega pré-estabelecidos e limitações de recursos e orçamento. Em geral tem as

seguintes características :

– Data de início e fim

– Objetivos

– Uso de recursos restritos a limites

– Possui uma estrutura hierárquica de atividades

( WBS - Work Breakdown Structure )

• Estimativa Medida aproximada de tamanho, esforço, duração e equipe

• Tamanho Medida de quão grande o produto é.

• Esforço Número de horas necessarias para completar uma atividade.

• Duração Número de dias de calendário entre o início e fim de uma atividade.

• Equipe Número de pessoas alocadas a uma atividade.

• Restrições Limitantes da solução do projeto.

• Premissas Condições consideradas válidas para aquela estimativa.

• Risco Ocorrência de um evento não planejado no projeto.

Algumas Definições (Cont.)

PlanejarEstimativa

DesenvolverEstimativa

ReconciliarDiferenças

MontarPacote deEstimativa

ReverEstimativa c/Envolvidos

1.0

Atividade 4 Atividade 5 Atividade 6

Não

ÚltimoCenário

DeterminarTamanhoProjeto

Um processo formal de estimativa

2.0 3.0 4.0 5.0 6.0

Atividade 1 Atividade 2 Atividade 3

Sim

1.0 Planejar Estimativa

1.1 Examinara Oportunidade

1.2 Definirum líder da estimativa

1.3 Criar plano para

a estimativa

6.0

5.0

4.0

3.0

2.0

1.0Planejar

Estimativa

DesenvolverEstimativa

ReconciliarDiferenças

MontarPacote deEstimativa

ReverEstimativa c/

Envolvidos

DeterminarTamanhoProjeto

2.0 Determinar Tamanho Projeto

2.1 Determi-nar requisitos

2.2 Criar lista de pre-

missas, restri-ções e riscos

2.3 Pesquisarprojetos

passados

2.4 Estimartamanho

2.5 Revisarestimativa

de tamanho

6.0

5.0

4.0

3.0

2.0

1.0Planejar

Estimativa

DesenvolverEstimativa

ReconciliarDiferenças

MontarPacote deEstimativa

ReverEstimativa c/

Envolvidos

DeterminarTamanhoProjeto

2.4 Estimar TamanhoPontos de Função • Definição : número que representa a quantidade de requerimentos de

negócio endereçados no escopo de um desenvolvimento/melhoria de software.

• Pontos a favor :– Padrão dentro da Indústria– Várias fontes de informação ( Meta, ISBSG, Caper Jones, Compass)– Independente de plataforma e tecnologia– Traz a visão do usuário e não da solução técnica– Padrões rígidos e normatizados pelo IFPUG– Pode ser usada no início dos projetos

• Funções de Dados - Representam as necessidades de utilização dos dados internos e externos do ponto de vista do usuário

– Internal Logical Files (ILF) – External Interface Files (EIF)

• Funções de Transações - Representam as necessidades de entrada de informações e recuperação da mesmas do ponto de vista do usuário

– External Inputs (EI) – External Outputs (EO)– External Inquiries (EQ)

Componentes Funcionais

2.4 Pontos de Função

Pontos de Função não Ajustados

• Soma das complexidades das funções de dados e de transações.

2.4 Pontos de Função

Determine UFP count

1-10 DET1-10 DET 20-50 DET20-50 DET 51>DET51>DET

1 RET1 RET

2-5 RET2-5 RET

6 > RET6 > RET

LL LL AA

LL

AA

AA HH

HH HH

L (LOW)L (LOW)

A (AVG)A (AVG)

H (HIGH)H (HIGH)

77

1010

1515

• Ajuste dos Pontos de Função não Ajustados :– 14 características de negócio que tornam o projeto +/-

complexo (correção de até 35 %)– Exemplos (notas de 0-5)

• Requisitos de performance

• Taxas transacionais

• Batch x On-line

• Complexidade do processamento

• Distribuição do processamento

Pontos de Função Ajustados

2.4 Pontos de Função

3.0 Desenvolver Estimativas

3.1 Obterinformação

histórica

3.2 Desenvol-ver estimativabaseada na

WBS

3.3 Consolidarestimativavia WBS

3.4 Prepararpara uso deFerramenta

3.5 Usarferramenta de

estimativa

6.0

5.0

4.0

3.0

2.0

1.0Planejar

Estimativa

DesenvolverEstimativa

ReconciliarDiferenças

MontarPacote deEstimativa

ReverEstimativa c/

Envolvidos

DeterminarTamanhoProjeto

3.2 Estimativa baseada na WBS (Bottom-Up)

• Identificar o melhor ciclo de vida para aplicação

• Selecionar pessoas

• Estimar esforço de cada atividade menor

• Consolidar as várias estimativas

• Obter consenso

Macro Atividades

SLiM

e

Time

Duração

Esforço

Defeitos

FPAou

SLOC

SLiM (Software Lyfecycle Manager)

CaracterísticasProjeto

Própria &Indústria

3.2 Estimativa baseada em Ferramenta (Top-down )

3.2 SLiM - Informações Fornecidas

3.2 SLiM - Informações Fornecidas

3.2 SLiM - Informações Fornecidas

3.2 SLiM - Informações Fornecidas

3.2 SLiM - Informações Fornecidas

3.2 SLiM - Resultados Gerados

3.2 SLiM - Resultados Gerados

3.2 SLiM - Relatórios

3.2 SLiM - Relatórios

3.2 SLiM - Relatórios

4.0 Reconciliar Diferenças

4.1 Identificarriscos

4.2 Compararas estimativas

4.3 Ajustaras diferenças

4.4 Determinarestimativa

final do projeto

6.0

5.0

4.0

3.0

2.0

1.0Planejar

Estimativa

DesenvolverEstimativa

ReconciliarDiferenças

MontarPacote deEstimativa

ReverEstimativa c/

Envolvidos

DeterminarTamanhoProjeto

5.0 Montar Pacote de Estimativa

5.1 Montar adocumentaçãoda estimativa

5.2 Revera estimativainternamente

6.0

5.0

4.0

3.0

2.0

1.0Planejar

Estimativa

DesenvolverEstimativa

ReconciliarDiferenças

MontarPacote deEstimativa

ReverEstimativa c/

Envolvidos

DeterminarTamanhoProjeto

6.0 Rever Estimativa com Envolvidos

6.1 Reveras estimativas

gerais e cronograma

6.2 Selecionara solução e

obter compro-metimento

6.0

5.0

4.0

3.0

2.0

1.0Planejar

Estimativa

DesenvolverEstimativa

ReconciliarDiferenças

MontarPacote deEstimativa

ReverEstimativa c/

Envolvidos

DeterminarTamanhoProjeto

Utilizando o processo de estimativa como uma Vantagem competitiva ...

• Clientes e projetos não mencionados

• Projetos nos últimos 4 anos

• Uso do SLiM

• Grande esforço, incluindo novo desenvolvimento, melhoria e migração.

• Aplicação tradicional - PLI/IMS/DB2.

• Estimado em 1022 pessoas-mês usando bottom-up (WBS).

• Projeto precisava terminar em 11 meses (Cliente).

• Pressão grande de entrega.

Exemplo 1 - Evitando uma catástrofe ...

• Estimativa usando SLiM mostrou uma duração de 20 meses.

• Nenhum projeto com este tamanho, na base de dados histórica, tinha conseguido entregar em 11 meses.

• Estimativa do time - surpresa! 22 meses.

• 11 meses de duração abandonado - projeto teve seu escopo reduzido, re-estimado e re-planejado.

Exemplo 1 - Evitando uma catástrofe ...

• Novo desenvolvimento em PowerBuilder e C, interfaces com sistemas legados.

• Acordo baseado em requerimentos de alto-nível.

• Perda de controle do escopo do projeto começou rapidamente.

• Cliente não percebia o crescimento do escopo do projeto.

• Datas de entrega começaram a não ser atingidas.

Exemplo 2 - Recuperando a credibilidade ...

• Feita a contagem de Pontos de Função antes e depois do início do projeto

• Contagem depois e antes usada para estimativa do SLiM

• Contagens de Pontos de Função :– Antes : 2268 Pontos de Função não ajustados– Depois : 4256 Pontos de Função não ajustados– Crescimento : 88%

• Dados compartilhados com o cliente que percebeu o problema, houve negociação de novos prazos e implementação de um processo de controle de mudanças nos requerimentos.

Exemplo 2 - Recuperando a credibilidade ...

• Melhoria em uma aplicação COBOL II, CICS, VSAM, DB2.

• Cliente definiu prazo de 5 meses de duração.• Estimativa utilizou as duas abordagens (Top-

down e Bottom-up).• Duas estimativa via SLiM : solução ótima e

solução limitada a 5 meses.• Cliente foi treinado anteriormente nos conceitos

de pontos de função e estimativa.

Exemplo 3 - Promovendo uma relação ganha-ganha ...

• Tamanho em Pontos de Função : 210.• Solução ótima - 6.15 meses de duração, 12.89

pessoas mês de esforço (data de entrega 4 de Junho).

• Solução de 5 meses - 5.05 meses de duração, 28.39 pessoas mês de esforço (data de entrega 1 de

Maio).• Cliente concordou em ecomizar 15.5 pessoas mês

e receber o projeto 1 mês depois.

• Cliente percebeu claramente o impacto de impor restrições de duração, não de uma forma abstrata, mas em termos financeiros.

Exemplo 3 - Promovendo uma relação ganha-ganha ...

• Use um processo formal e não somente a experiência das pessoas.

• Use uma ferramenta para estimar, porém não abandone a experiência das pessoas.

• Use vários métodos em um projeto, mas procure ter padrões.

• Colete métricas de seus projetos, elas serão úteis para estimativas.

• Use vários cenários em termos de duração, tamanho da equipe e mesmo de tamanho (redução de escopo).

• Use Pontos de Função como uma forma de manter o escopo sobre controle.

• Treine seu cliente e tente estabelecer uma conexão entre as estimativas e os benefícios de negócio.

• Finalmente, o mais importante :

A experiência da EDS - Algumas dicas ...

Convide o seu cliente a participar do processo.

Perguntas e Contato

Márcio Silveira

Tel : 21-3088-9022E-Mail : [email protected]

??