Upload
fatima-marinho
View
31
Download
0
Tags:
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.
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 )
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.