Eu já vi no meu local de trabalho (uma universidade) a maioria dos estudantes fazendo o custo da estimativa de software de seu diploma final usando o COCOMO . Meu palpite é que essa maneira de estimar custos é um pouco antiga (datas da COCOMO de 1981), daí a minha pergunta:
How do you estimate costs in your software?
Eu já vi coisas como:
Custo = (HoursOfWork + EstimatedIddle) * HourlyRate
Não é isso que eu quero, estou procurando um modelo de custo definido cientificamente
EDIT Encontrei algumas perguntas relacionadas ao SO:
pricing
estimation
cocomo
David Conde
fonte
fonte
Respostas:
Caso você esteja preso no Modo Cachoeira, o único método bastante preciso que eu usei é:
Você terminará com um número muito preciso. Não estou dizendo que seja preciso, mas será preciso.
A precisão depende inteiramente da capacidade de chegar a um número para cada tarefa com base em experiências passadas ou de encontrar alguém que já tenha feito isso antes. Quanto mais experiência você tiver, melhores serão as suas estimativas.
Ao executar o projeto, acompanhe seu tempo em cada tarefa e anote as que você perdeu, para poder comparar. Isso fará com que você melhore ao longo do tempo.
fonte
A estimativa de software é extremamente difícil. Uma abordagem que usei é quebrar os requisitos da melhor maneira possível e estimar cada peça separadamente. Em seguida, adicione um "fator de correção" que pode ser um multiplicador (o dobro) ou um valor fixo (x horas para trabalhos imprevistos). Se você não possui bons requisitos, a estimativa é impossível para fins práticos.
fonte
A indústria aprendeu muito nos 30 anos desde 1981. Estimar assim nunca funcionou. Com a mania do Agile basicamente reescrevendo a paisagem, usamos "pontos da história" representando alguma "dificuldade comparativa" nebulosa. Em seguida, ganhamos "velocidade" para que os imundos possam fazer suas estimativas $$ com alguma quantidade de dados empíricos.
fonte
Aprendi algumas abordagens "rigorosas", como estimativas de pontos de função e algumas variações projetadas para aplicativos modernos. Eu acho que a parte dessas abordagens que é valiosa é que ela força uma análise mais detalhada dos requisitos conhecidos do que eu poderia fornecer.
É muito difícil obter um bom conjunto de dados para trabalhar, mesmo se você tiver um bom modelo. Medir a produtividade é difícil. As pessoas jogam quase qualquer métrica.
Eu parei de usá-lo porque minha organização é muito disfuncional para se beneficiar das estimativas de software, mas tenho alguma consideração pelo grupo Cost Xpert e suas ferramentas; mas é muito caro e provavelmente não vale o custo e a curva de aprendizado para a grande maioria das organizações.
fonte
É muito difícil estimar esforços e custos, mas se você quiser algo mais preciso, então:
divida o HoursOfWork em 3 componentes:
remova EstimatedIddle.
Tome nota de que qualquer coisa que leve mais de 8 horas apresentará um erro enorme.
fonte
O que normalmente fazemos é dividir o escopo completo do trabalho em grandes módulos / elementos que podem ser considerados como subprojeto. Em outras palavras, são aquelas partes de trabalho que o cliente considera partes separadas do projeto e que o cliente deseja obter estimativas separadamente.
Feito isso, dividimos cada módulo em tarefas, subtarefas e sub-subtarefas ainda menores, para que cada um possa ser estimado com bastante facilidade e a estimativa demorar de uma a dez horas-homem. Dessa forma, obtemos uma análise detalhada do escopo de trabalho do projeto.
O último passo é distribuir tarefas entre marcos. Fazemos isso da maneira que, após cada cliente de marco, obtenha resultados visíveis. Isso ajuda a passar um marco e passar para outro. Então, finalmente, temos algo como:
Módulo 1
Inicialmente, fizemos isso usando apenas a planilha do Excel. Mas há mais de dois anos, começamos a usar a ferramenta de software para isso. Existem poucos produtos similares que ajudam com isso www.evenflow.com , www.swproposal.com e alguns outros. Não me lembro de toda a lista. Pesquisamos há muito tempo. Espero que possa ajudar.
Boa pergunta é como estimar com precisão. Não existe uma estimativa 100% correta como acreditamos. A única maneira é dividir o escopo completo do trabalho em tarefas tão pequenas quanto possível. Quanto menores as tarefas, maior a revisão e a análise detalhadas do projeto que você realiza. De qualquer maneira, aumenta a precisão.
fonte