Buscar

Estimativas de Custo e Prazo em Desenvolvimento de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

*
*
Medidas do Esforço de Desenvolvimento de Software
Revisão av2
Prof. Horácio Ribeiro
Concorrências públicas e outros aspectos de contratação usando PF
*
*
Revisão dos principais pontos
*
*
Para uma nova aplicação :
Desejamos saber quanto tempo será necessário?
Quanto vai custar?
Vale a pena?
*
*
estimativas de custos e prazos em software
não é ciência exata;
Diminuir o nível de erro da estimativas;
Um erro na estimativa pode comprometer o projeto.
*
*
Base de informações:
Os dados são colocados em gráficos e estes gráficos definem famílias de curvas.
Estas curvas são ajustadas a funções matemáticas. 
*
*
Nível de erro aceitável
Depende da faixa de valores
*
*
Quando não se tem nenhuma informação é comum fazer as estimativas baseadas na experiência dos profissionais.
 - método Delphos
*
*
Recomendação do PMI para estimativas de prazo 
 Prazo estimado = PM + Pm + 4*Pmedio
 6
 Onde : PM é o maior prazo dado
 Pm é o menor prazo dado
 Pmedio é a media dos prazos dados
*
*
Exemplo:
 9 técnicos experientes estimaram o prazo:
Tecnico1:10 dias tecnico2:20 dias tecnico3:15 dias
Técnico4:12 dias tecnico5: 8 dias tecnico6:25 dias
Tecnico7:15 dias tecnico8:12 dias tecnico9:15 dias
Prazo médio=
(10+20+15+12+8+25+15+12+15)/9 = 15 dias
Prazo de projeto =
( 25 + 8 + 4*15)/6 = 15,5 (15 dias + meio dia)
*
*
Nível de variação de erro de uma estimativa nas diversas fases do projeto.
Pode-se realizar o cálculo da medida em cada fase do desenvolvimento.
*
*
O assunto estimativas e os custos em projetos foi estudado Barry Boehm (1981).
Estudou mais de 5000 projetos de software;
Estes softwares foram classificados segundo uma hierarquia de modelos; 
Recebeu o nome de COCOMO.
(COnstructive COst MOdel - Modelo de Custos Construtivos)
*
*
COCOMO
Classificação do tipo do software:
Modelo 1 (básico): é um modelo estático de valor simples que computa o esforço de desenvolvimento de software. 
*
*
COCOMO
Classificação do tipo do software:
Modelo 2 (intermediário):
 computa o esforço de desenvolvimento como uma função do tamanho, e de um conjunto de direcionadores de custo (definidos em tabelas) que incluem avaliações subjetivas do produto, hardware, experiência do pessoal e dos atributos do projeto.
*
*
COCOMO
Classificação do tipo do software:
Modelo 3 (avançado) Chamado de COCOMO avançado incorpora a versão intermediária e faz uma avaliação dos impactos nos direcionadores de custo sobre cada passo do processo de desenvolvimento ( analise, projeto, codificação, testes...) 
*
*
COCOMO
Classificação de classes de projeto (três):
1 – Modo Orgânico ou convencional: projetos de software simples, pequenos, pequenas equipes com relativa experiência. Trabalha-se um conjunto de requisitos não tão rígidos, pode-se exemplificar pequenos sistemas. 
 
*
*
COCOMO
Classificação de classes de projeto (três):
2 - Modo Semi destacado ou difuso:
 Projetos de software intermediário (em tamanho e complexidade) na qual temos equipes com vários níveis de experiência que devem programar uma combinação de requisitos rígidos. Por exemplo um sistema de processamento de transações.
 
*
*
COCOMO
Classificação de classes de projeto (três):
3 – Modo Embutido ou restrito:
 um projeto que deve ser desenvolvido dentro de restrições operacionais, como por exemplo sistema de controle de telefonia.
 
*
*
COCOMO básico - equações:
E = esforço aplicado em pessoas-mês.
D = tempo de desenvolvimento em meses cronológicos.
*
*
Exemplo: 
Considere um software com 33,3 Kloc, usando o modelo semi destacado temos:
 O número ideal de pessoas no projeto
 
Duração do projeto:
 D = 2,5 (E) exp (0,35)
 = 2,5 *(152)elevado a 
 0,35
 = 14 meses 
Esforço:
 E = 3,0 (Kloc) exp (1,12)
 = 3,0 (33,3) elevado a 1,12
 = 152 pessoas-mês
N = E/D = 152/14,5 = 11 pessoas
*
*
COCOMO intermediário - equações:
NO modelo intermediário o básico é ampliado.
considerando-se 4 grandes categorias de custos:
*
*
*
*
Assim pode-se determinar o EAF 
 EAF = (1,15 * 1,06*1,14*1,17) = 1,63
  Desta forma pode-se estimar o esforço:
Prazo: 
*
*
técnicas
Técnicas empíricas usam expressões derivadas de dados históricos, para o esforço e o tempo, com o objetivo de prognosticar essas quantidades para o projeto.
Ferramentas automatizadas implementam um modelo empírico específico.
Estimativas de projeto precisas geralmente fazem uso de pelo menos duas técnicas diferentes de estimativas vistas.
*
*
Estimativas
 Método de estimativa do Esforço
Passos (visão - PMI):
Delineamento das funções do software
Listagem das tarefas a serem executadas para cada função (análise, projeto, codificação e testes)
Esforço estimado para cada tarefa em cada função (pessoa-mês)
Taxas de mão de obra aplicadas em cada uma das tarefas
Cálculo de custo e o esforço de cada função 
 (e tarefa de engenharia de software)
*
*
Estimativas de Projeto de Software:
Modelos de Recursos 
 Existem quatro classes de modelos de recursos (Basili)
Modelos estáticos de variáveis simples.
Modelos estáticos de múltiplas variáveis
Modelos dinâmicos de múltiplas variáveis
Modelos teóricos
*
*
Estimativas de Projeto de Software:
Modelos Estáticos de Múltiplas Variáveis
Recurso = C11e1 + C21e2 + ... 
Onde e1, e2, e3 ... São características do software
Exemplo:
 C (homem mês) = 0,12*paginas +23,2*linhas +...
*
Curva de Rayleigh-Putnam
Os pontos destacados representam a quantidade de recursos 
 recursos = f( esforço, prazo)
*
Curva de Rayleigh-Putnam
Mesmo com as mudanças de tecnologias o gráfico mostra que existe uma região que é impossível a entrega no prazo
dimensionar o valor de um PF 
 para uma empresa
- Utilizar PF para dimensionar o custo no
 processo de desenvolvimento
- controlar custos por ponto função.
- controlar e estimar prazos para projetos
- fazer gestão usando APF
*
*
Implantando a gestão por ponto função
 definir uma “base line”
Artefatos na fase:
Custo
Prazo
Pode-se relacionar:
 elementos do artefato : objetos, métodos, programas...
*
*
*
*
depois de uma determinado período de observação e determinar uma tabela de percentual de referencia de pontos funções como abaixo:
*
*
Considerando todo o desenvolvimento pode-se gastar em cada fase:
.
Assim temos referencias para cada etapa em termos de custos e prazos. E desta forma pode-se determinar QUEM vai fazer o serviço, dependendo do custo e prazo desejável
*
*
*
*
A curva de acompanhamento de estimativas em PF tendência linear de 45 graus o que mostra que a estimativa está muito próxima da realizada, com pequenas diferenças. (PF estimado X PF realizado) 
*
*
Os pontos (ou falta deles) podem nos levar a uma serie de suposições. 
Ao assumir que o comportamento é próximo de linear, devemos saber que esta simplificação poderá nos custar caro, pois dificilmente temos este tipo de comportamento.
*
*
interpolação 
É o método que permite construir um novo conjunto de dados a partir de um conjunto discreto de dados pontuais previamente conhecidos.
Em engenharia é comum dispor-se de dados pontuais obtidos a partir de uma amostragem ou de um experimento 
Tal conjunto de dados pontuais (também denominado conjunto degenerado) não possui continuidade, e isto muitas vezes torna demasiado irreal a representação teórica do fenomeno real e observado.
*
*
2 pontos (polinômio de 1º grau)
3 pontos (polinômio de 2º grau)
4 pontos (polinômio de 3º grau)
*
*Consultando o gráfico, para o nosso exemplo de 230PF, verificamos que este valor fica entre os pontos conhecidos:
Do projeto gestão de venda: 
 com 198,20 PF com 9600 homem*hora
 E o projeto controle de trafego:
 com 268,30 PF e 7200 homem*hora
*
*
*
*
Considerando os 230 PF e verificando que (268,30 – 230 = 38,30) Por semelhança de triângulos podemos escrever: 
 X 38,30
 ______ = _________
 2400 70,10
 
Assim temos X * 70,10 = 2400 * 38,30 donde X = 1311,27
Assim por interpolação linear temos um acréscimo de 1311,27 acima de 7200 nos mostrando um total de 
7200 + 1311,27 = 8511,27 homem*hora
*
*
Ao assumir um valor estamos assumindo um risco, que poderá diminuir assumindo-se outro tipo de curva.
Mas as vezes temos que determinar um valor de estimativa além dos limites do domínio de nossa tabela
Neste caso podemos estipular a equação da função e usar o novo valor como entrada da função. 
 Sempre lembrando que estamos assumindo um risco que pode ser diminuído a medida que vamos aumentando nossa base de dados 
Risco assumido
*
*
A equação geral da reta é: y = a * x +c
 Aplicando os pontos temos: 7200 = a * 268,30 + b
 9600 = a * 431,45 + b
 Com os dois pontos podemos manipular algebricamente para achar a:
 7200 = a * 268,30 + 9600 – a *431,45
 7200 – 9600 = a * (268,30 - 431,45) 
 a = -2400/-163,15 donde a= 14,71
 Da outra equação tiramos o valor de b 
 .b = 9600 – 14,71 * 431,45 
 donde b = 3253,37
Assim temos a equação da nossa reta: 
 y = 14,71 * a + 3253,37
 
Identificar a função
*
*
A medida que aumentamos nossa base estatística podemos ir aproximando as duas curvas limites (mínimo e Maximo) pra perto da estimativa diminuindo a faixa de erro, como mostrado na figura
*
*
Fatores de risco em uma contratação
 A – O trabalho é mal especificado não definindo limites do que precisa ser feito e geralmente o contratante pode pedir outros “quebra galhos” do contratado o que leva ao desentendimento.
*
*
Fatores de risco em uma contratação
 
B – A falta de clareza ou entendimento dos requisitos. Devem-se aplicar metodologias que esclareçam os requisitos (analise, completude e consistência) para se minimizar este aspecto.
*
*
Fatores de risco em uma contratação
  
C – As estimativas na contratação são feitas com nível de erro. Normalmente quem contrata sub dimensiona o trabalho para minimizar o seu custo
*
*
Fatores de risco em uma contratação
  
D – Pressões feitas por usuários internos devido a prazos políticos causando instabilidade nos profissionais da empresa contratada
 
*
*
Fatores de risco em uma contratação
  
 E – Falta de processo de controle nas modificações solicitada. Uma modificação, na maioria das vezes, implica em aumento do custo e prazo
 
*
*
Assim as divergências entre fornecedor e cliente tendem a se agravar.
 O estabelecimento de um fator de medida comum aceito por fornecedor e cliente já é o inicio do estabelecimento de uma forma de contratação que minimize estes conflitos. 
Neste caso PF é uma medida que vem se tornado padrão de negociação
*
*
1 - Contratação por homem hora
Neste tipo de contratação a empresa fornecedora estabelece um preço por hora para seus profissionais que são alocados na contratante. 
 O profissional recebe ordens dos gerentes de TI da empresa contratante e comporta-se como funcionário da contratante.
*
*
*
*
como controlar a produtividade dos profissionais alocados?
 O estabelecimento do controle por ponto função: pode-se acompanhar para cada profissional e o número de PF. criar a métrica:
 
 Produtividade = PF/hora
 
Pode-se acompanhar a produtividade de cada profissional.
 
A aplicação de PF neste caso traz visibilidade a problemas como queda de produtividade.
 
Problema do modelo
*
*
2 - Modalidade de Preço Fixo
O risco é totalmente transferido para o fornecedor. 
O contratante negocia com o contratado um preço e as formas de pagamento. 
O contratante estabelece os pontos de avaliação e pagamento do projeto. 
 Neste caso precisa-se de uma unidade que permita medir o quanto já foi feito do trabalho. 
*
*
O contratado procura estabelecer controles para evitar os riscos, principalmente os introduzidos por mudança de requisitos. 
 A mudança de um requisito implica em uma nova negociação. 
 Estabelece aditivos contratuais para estas modificações.
PF se aplica para medir o tamanho do projeto, e principalmente para acompanhar o projeto e liberar o pagamento por fase do projeto. 
*
*
É comum trabalhar-se com distribuições percentuais do total de PF estimado para o projeto estabelecidos entre o contratante e contratado, 
*
*
Exemplo:
No caso acima, para um projeto de 
R$ 200 000,00 ao se terminar a análise de requisitos deverá ser pago o valor de 20 %, portanto, R$ 40 000,00
*
*
- Neste modelo a produtividade é um risco do fornecedor, se o contrato é feito por ponto função, o prazo, e o recurso depende do fornecedor. 
- Modificação de requisitos e os pedidos do contratante são transformados em PF, portanto o risco de aumento é do contratante.
- Como a Análise de Ponto Função é um método padrão de contagem, as empresas e profissionais de todo o mundo acompanham a padronização de contagem proposta pelo IFPUG faz com que se estabeleça uma referencia para criar uma unidade de contratação. 
*
*
Concorrências Públicas
A lei 8666 determina que se estabeleça a análise de serviço e se contrate o menor preço. Neste caso as concorrências de contratação de software tem estabelecido condições de participação baseada em Ponto Função 
Norma 4 do TCU
*
*
No edital, estabelece-se o total do contrato para os serviços conforme abaixo:
VOLUME ESTIMADO
4.1 O volume total estimado será de 13.800 (treze mil e oitocentos) Pontos por Função, durante os 12 (doze) meses de vigência do contrato.
4.2 A quantidade especificada no item anterior esta distribuída da seguinte forma na atual
plataforma tecnológica do BCB:
Tabela 4-1 - Quantidade de Pontos de Função estimada separada por Tipo de Serviço
*
*
33.2.1.1.8 Experiência na prestação de serviços técnicos de desenvolvimento, manutenção e documentação de sistemas utilizando ambiente de integração continua e gerência de configuração, inclusive com regras de qualidade de código semelhantes ou equivalentes as do Banco Central, com esforço mínimo de 6.900 (seis mil e novecentos) Pontos de Função, em regime de fábrica de software, em período ininterrupto de 12 (doze) meses. Modo de comprovação: atestado ou conjunto de atestados que totalizados atendam aos valores mínimos exigidos, conforme o modelo 9 do Anexo 8.
*
*
Esta é a ultima aula sobre medidas e controle da produtividade.
 
 - Durante o curso você foi apresentado a APF e a outras formas de medir e estimar os aspectos do software. 
 - Esteja aberto para novas propostas.
 - medir a funcionalidade (APF) têm se consolidado e cada vez mais é usado nas empresas. 
 
O software precisa ser medido com precisão pois só assim poderemos gerenciá-lo
 se possível busque uma certificação em APF Você verá que o mundo do trabalho lhe acolherá pois poucos profissionais olham o software sob o aspecto da gerência. 
*
*
Contactos:
Professor Horacio ribeirowww.espacodoprofessor.com
Email: profhoracioribeiro@gmail.com
Aula revisão da av2
*
*

Outros materiais