Como posso estimar o valor de um projeto de código aberto?


11

Estou tentando gerar uma métrica para uma meta de economia de custos da empresa. Para fazer isso, quero estimar as economias que obtivemos usando um aplicativo da web de código aberto em vez de construí-lo do zero ou comprar uma solução COTS. Uma etapa do processo é estimar quanto nos custaria desenvolver o aplicativo. Infelizmente, estou sem uma maneira realmente simples de fazer isso sem passar por um processo completo de estimativa.

Como tenho o código-fonte, acho que deve haver alguma heurística que possa me fornecer uma estimativa muito aproximada das horas de desenvolvedor necessárias para escrevê-lo. Infelizmente, minhas pesquisas na Web sobre o tópico apresentam principalmente artigos e opiniões sobre como as linhas de código não são um bom indicador de produtividade ou qualidade.

Até agora, minha melhor solução é escolher várias linhas que um desenvolvedor poderia escrever em um dia e calcular o número de horas de desenvolvedor a partir daí. Se eu seguir esse método, gostaria de ter alguma evidência (preferencialmente baseada em pesquisa) para fazer backup da minha alegação de produtividade do desenvolvedor.

A única coisa que tenho para mim é que, para gerar minha métrica final, tudo o que realmente preciso é de um limite menor nas horas do desenvolvedor ou no custo do projeto. Quanto maior a estimativa, melhor será minha métrica, mas eu preferiria que a técnica de estimativa não estivesse disponível do que ter um número alto.

Existe uma maneira melhor de estimar o valor de um projeto de código aberto?


2
Estimar algo assim para mim parece um palpite completo. As linhas Java estão longe de serem criadas da mesma forma, os desenvolvedores estão longe de serem criadas da mesma forma e os testadores estão longe de serem criados da mesma forma.

1
As linhas de código não indicam produtividade ou qualidade, mas indicam esforço. Certifique-se de ter em conta todas as fases apropriadas nessa métrica, não apenas escrevendo código, mas todos os testes, depuração etc. Se sua empresa possui dados de projetos semelhantes com custo e linhas de código, você está com sorte.
David Thornley

Eu adicionei a tag de métricas . Retaliar conforme necessário.
Joey Adams

Respostas:


10

Para uma estimativa aproximada, use o programa SLOCCount escrito por David Wheeler - ele analisará as linhas de código e usará as estimativas do setor sobre a produtividade do programador para fornecer uma estimativa de tempo e dinheiro necessários para construir o software.

Por padrão, ele usa o modelo COCOMO para estimativas de custo, mas você pode personalizá-lo .


2
Era exatamente isso que eu estava procurando. Corri o SLOCCount na árvore de origem e ele apareceu um número. Pontos de bônus por serem apoiados por pesquisas também!
Al Crowley

11

Ohloh é um site que monitora muitos projetos de código aberto e calcula o custo estimado usando o modelo básico do COCOMO .

Com Ohloh, o número de linhas na base de código (que é usada para calcular os homens-mês gastos para produzir o software) e o custo médio de um desenvolvedor, que parece estar definido como um valor padrão de US $ 55000 / ano, mas pode ser alterado pelo usuário.

Aqui estão alguns exemplos de custos estimados da Ohloh:

  1. Servidor HTTP Apache - custo estimado: cerca de US $ 15 milhões .
  2. Mozilla Firefox - custo estimado: cerca de US $ 87 milhões .
  3. Linux Kernel 2.6 - custo estimado: cerca de US $ 173 milhões
  4. OpenOffice.org - custo estimado: cerca de US $ 428 milhões
  5. Turbina Apache - custo estimado: cerca de US $ 2 milhões
  6. Apache Velocity - custo estimado: cerca de US $ 665.000

Mas lembre-se de que, como em qualquer técnica de estimativa de custos de software, é apenas isso - uma estimativa.


1
Esse é um site muito legal. Fiquei surpreso, mas muito feliz, ao encontrar o projeto que já estou estimando em Ohloh. O custo foi de US $ 2.824.979 pelo método de estimativa. Ver todas as outras estatísticas que eles coletaram no projeto também foi realmente interessante.
Al Crowley

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.