El verdadero problema es encontrar cualquier método de costeo que pueda ser:
- Aplicado relativamente temprano en un proyecto de desarrollo
- Confiable para dar como resultado estimaciones similares cuando lo utilizan personas capacitadas y con experiencia
- Demostrado como no reducible a métodos de trineo de mano como, por ejemplo, la “ciencia del software” de Halstead
El primer factor es probablemente el más importante. ¿Cuánto tenemos que gastar (como porcentaje del costo probable total) para llegar al punto en que tengamos una buena estimación (dentro, digamos más o menos 20 por ciento) del costo total? Debido a que esta estimación debería ser la evidencia necesaria para tomar una decisión de ir / no ir, las técnicas costosas pueden hacer que el desarrollo de un proyecto sea menos posible. Los humanos realmente tienen problemas para lidiar con los costos hundidos – Wikipedia.
En los días terribles de compromiso común con el modelo de cascada o sus variaciones, los proyectos de estimación de costos serios eran demasiado complejos y llevaban mucho tiempo para realizarse con regularidad. Los sobrecostos fueron a menudo enormes, y generalmente se esperaban.
- ¿Por qué la gente ya no usa Visual Basic?
- C ++ (lenguaje de programación): ¿Cuáles son las mejores prácticas para la garantía de software en C ++?
- ¿Cuál es el mejor software de reconocimiento de voz para usar de voz a texto?
- ¿Qué diferencia a Jeff Bezos de otros graduados universitarios summa cum laude?
- ¿Cuál es el alcance de las pruebas de software en el futuro?
Con la amplia aceptación de la necesidad de una implementación incremental, en Agile, por ejemplo, son posibles mejores estimaciones, pero solo para fragmentos más pequeños. Si a los propios fragmentos incrementales se les pueden dar estimaciones razonables de costo-beneficio-riesgo, entonces muchos de los posibles desastres de las estimaciones de costos de proyectos de tipo cascada pueden reducirse, a veces significativamente. Pero los costos de dividir un gran proyecto en una serie de componentes más pequeños, cada uno con su propia justificación económica y una posible implementación independiente, son, en sí mismos, significativos. Y algunas clases de proyectos simplemente resisten la fragmentación lógica. Un sistema de manejo de equipaje en el aeropuerto, para tomar un doloroso ejemplo del pasado, funciona como un todo o no.
Así que volvamos a FPA (análisis de puntos de función). Los inclinados matemáticamente y / o teóricamente pueden ser repugnados u horrorizados por el FPA. Los conceptos eran simplemente un intento de hacer uso de la gran cantidad de datos que IBM había registrado representando la experiencia corporativa con grandes proyectos durante varias décadas. Quizás se podría definir un número adimensional, teniendo en cuenta todo lo “importante”, y luego aplicado a empresas individuales basadas en experiencias pasadas. Primero, obtenemos el recuento de puntos de función de un proyecto. Luego, se multiplica por el costo establecido por punto de función de una empresa. Tener acceso a este multiplicador crítico requería mucho análisis histórico.
Los profesionales dedicados a conceptos claros (si es poco probable) como la capacidad de prueba del programa consideran que el FPA es desagradable. Los desarrolladores que creen en la posibilidad de la simplicidad del enfoque de Halstead encuentran que el FPA es una técnica grosera, que intentan medir todo (y proporcionan una larga lista de otros elementos que quizás también quieran medir si así lo desean).
Ajustar el FPA a la experiencia de una tienda en particular no se puede evitar. Y, en combinación con alguna técnica legítima para la implementación incremental, proporciona una estimación razonable después de gastar, digamos, 15-20% del presupuesto total (eventual) de un proyecto. Esto es muy poco, muy tarde. Pero también es una de las mejores alternativas frustrantes.
¡Las heurísticas útiles suelen ser así!