¿Es COCOMO 2 Estimation Sound, o hay algo mejor?

Estoy leyendo sobre la estimación de COMOMO y lo que veo es que el margen de error casi siempre es demasiado alto. Además, no me gustó la idea de usar líneas de código para medir el progreso . Entonces, me pregunto si COMOMO es realmente un método de estimación sólido en la práctica actual. Si no, ¿se reemplaza por otro método?

No creo que se use en la práctica actual. Si todos siguen Agile, simplemente pueden seguir las técnicas de dimensionamiento relativo para las estimaciones de duración y, utilizando el período de sprint, multiplicar el valor por el costo por día de trabajo.
No es realmente una respuesta, pero creo que disfrutarías este libro. amazon.com/Software-Estimation-Demystifying-Developer-Practices/…

Respuestas (1)

En primer lugar, el enfoque COCOMO es más un modelo de estimación que un método. Los modelos de estimación son algoritmos matemáticos o ecuaciones paramétricas para estimar el costo de un producto o proyecto.

El enfoque COCOMO tiene un gran inconveniente como todos los modelos de estimación. Parecen ser objetivos mediante el uso de una fórmula matemática, pero la calidad del resultado depende en gran medida de los valores de entrada (elegidos subjetivamente).

En el caso del modelo COCOMO, el LoC es el principal valor de entrada. Por lo tanto, la pregunta principal es, ¿cómo se estima la LoC para un sistema de software?

Tal vez haya algunos expertos que sean capaces de estimar la LoC, pero estoy bastante seguro de que para la mayoría de los expertos (incluidos esos) es más fácil estimar directamente el esfuerzo en días-hombre.

Otra pregunta es, en tiempos de Type Less Do More, Code Generation, Model Driven Development, etc. , ¿sigue siendo la LoC (si alguna vez lo fue) un buen criterio para estimar los costos? Por lo tanto, el esfuerzo de programación pura en un proyecto de software es mucho menor que hace 20 años y se reduce constantemente.

En general, en mi opinión, el modelo COCOMO ya no tiene relevancia. Y dudo que alguna vez lo haya hecho.

Si no, ¿se reemplaza por otro método?

Existen diferentes enfoques para estimar los costos. Elegir el correcto depende de varias condiciones de contorno.

  • ¿Están claros los requisitos del proyecto?
  • ¿Cuántos expertos hay disponibles para estimar?
  • ¿Hay datos históricos confiables de proyectos similares disponibles?
  • ¿Hay datos históricos fiables sobre el rendimiento del equipo (miembros) disponibles?
  • ...

Si tiene algunos expertos, puede confiar en un juicio de expertos (un método de juicio de expertos interesante es el método Delphi de banda ancha ). Si tiene datos históricos confiables, puede estimar el costo utilizando métodos basados ​​en analogías/relaciones. Si tiene ambos, intente combinar esos enfoques.

Finalmente, nunca olvide que una estimación de esfuerzo es tan buena como el análisis de requisitos. Si su proceso de recopilación de requisitos falla, es inadecuado, su estimación le dará resultados erróneos, independientemente de la técnica que elija.