15/05/2023
La estimación de costos en el desarrollo de software es una tarea inherentemente compleja y desafiante. A diferencia de otros campos de la ingeniería, no existen dos proyectos de software idénticos; cada uno posee un conjunto único de objetivos y parámetros que dictan su existencia. Esta singularidad, sumada a la dificultad humana de predecir resultados absolutos, convierte la predicción de costos en un verdadero rompecabezas. Cuando a esta ecuación le sumamos la flexibilidad y la naturaleza evolutiva de los métodos ágiles, la complejidad se amplifica, revelando debilidades en la estimación y gestión de costos que pueden poner en riesgo el éxito de un proyecto.

A pesar de la creciente adopción de metodologías ágiles como Extreme Programming (XP), SCRUM y Feature Driven Development (FDD) debido a su productividad y adaptabilidad, los gestores de proyectos a menudo se enfrentan a la falta de evidencias sólidas para la comprobación del gasto presupuestario. La poca documentación generada y la falta de un seguimiento robusto de los recursos son problemas recurrentes. Este artículo explora estas deficiencias y presenta una propuesta integral para la estimación y el control de costos en entornos ágiles, respaldada por un caso de estudio que ilustra su aplicación y los desafíos superados.
- El Desafío de la Estimación de Costos en Software Ágil
- La Necesidad de Control y Gestión en Proyectos Ágiles
- La Propuesta de Medición de Costos en Entornos Ágiles
- Caso de Estudio: Aplicación y Resultados en la Práctica
- Conclusiones y Vías Futuras para una Gestión de Costos Más Efectiva
- Preguntas Frecuentes sobre la Estimación de Costos en Software Ágil
- ¿Por qué es tan difícil estimar los costos de software?
- ¿Cómo abordan los métodos ágiles la estimación de costos si se enfocan en software funcionando?
- ¿Qué son los Story Points y los Function Points en la estimación de costos?
- ¿Qué son los índices CPI y SPI y cómo ayudan a monitorear el proyecto?
- ¿Es aceptable que el alcance de un proyecto ágil cambie? ¿Hay un límite?
- ¿Cómo se puede usar la información histórica para estimar costos en proyectos ágiles?
- ¿Qué dificultades se encontraron al aplicar el método propuesto en el caso de estudio?
El Desafío de la Estimación de Costos en Software Ágil
El Manifiesto Ágil, surgido en 2001, estableció principios fundamentales que priorizan a los individuos y las interacciones sobre los procesos y las herramientas, el software funcionando sobre la documentación extensiva, la colaboración con el cliente sobre la negociación contractual, y la respuesta ante el cambio sobre seguir un plan rígido. Si bien estos principios fomentan la adaptabilidad y la eficiencia en equipos pequeños y medianos, también pueden generar una percepción de que las medidas predictivas, como las estimaciones de costos, son secundarias. Esto se refuerza con el principio de que 'el software funcionando es la medida principal de progreso', lo que a menudo desvía el foco de la gestión financiera detallada.
La administración de proyectos de software es crucial para obtener resultados exitosos, definidos como aquellos que concluyen dentro del tiempo, costo y calidad esperados. Sin embargo, en los métodos ágiles, la medida principal para evaluar el rendimiento de un equipo es la 'velocidad' con la que se desarrollan los elementos del registro del producto (PBI o Product Backlog Items), y el tamaño del proyecto se mide por el esfuerzo total. Esto a menudo lleva a una falta de medidas de costos explícitas, resultando en pérdidas económicas significativas. La ausencia de una administración y monitorización efectivas, la escasez en la generación de evidencias y la carencia de estimaciones guiadas por procesos mejorables son problemas que afectan directamente a los dueños de empresas y a los administradores de proyectos.
La Necesidad de Control y Gestión en Proyectos Ágiles
Para mitigar las pérdidas y ajustar los proyectos a los tiempos y compromisos con el cliente, es fundamental establecer un método que permita estimar costos basándose en evidencias históricas, así como controlar y monitorear los costos periódicamente. Esta necesidad ha impulsado diversas investigaciones en el campo, buscando soluciones que se adapten a la naturaleza dinámica de los proyectos ágiles sin sacrificar la visibilidad financiera.
Métodos Existentes para el Monitoreo y Control del Presupuesto
La literatura ha explorado varias técnicas para abordar el monitoreo y control de costos en entornos ágiles, principalmente enfocándose en la integración de métricas ágiles con principios de gestión de valor ganado (EVM - Earned Value Management):
- AgileEVM (Sulaiman y Barton, 2006): Propone monitorear el avance de un proyecto en atributos de tiempo y costo, relacionando métricas de SCRUM con las de EVM. Se recolectan parámetros como puntos de historia terminados (PC), puntos de historia agregados o eliminados (PA) y el costo de la iteración (SC). Sus métricas clave son el Índice de Desempeño del Costo (CPI) y el Índice de Desempeño del Calendario (SPI), donde un valor de 1 indica que el proyecto marcha según lo planeado.
- Propuesta de Dan Rawsthorne (2008): Basada en AgileEVM, incorpora el valor de negocio ganado (EBV) como una métrica crucial para el cliente. Asigna un costo de desarrollo a cada Story Point (SP) y basa la estimación del costo del proyecto en días por persona.
- Enfoque de Rusk (2009): Afirma que el EVM tradicional encaja bien en los métodos ágiles y es fácil de entender. Propone una 'gráfica de tiempo y presupuesto' que muestra el presupuesto y los SP desarrollados en valores porcentuales por iteración, permitiendo identificar riesgos cuando el presupuesto se consume más rápido de lo planeado.
- Técnica de Línea de Balance (LOB) de Miranda y Bourque (2010): Propone una monitorización basada en puntos de control en las actividades de desarrollo, recolectando información de sistemas de control de versiones. La métrica básica es la Historia de Usuario (HU), mostrando requerimientos planeados y reales.
- Modelo de Monitorización Dinámica de Kang y Choi (2010): Utiliza los Function Points (FP) como métrica básica, describiendo la funcionalidad de cada HU. El monitoreo es diario y usa el filtro de Kalman para proyecciones precisas del avance del producto.
A pesar de sus aportaciones, estos métodos tienen puntos de mejora. Los enfoques basados en EVM no siempre consideran el cambio de alcance en la replanificación, mostrando información poco confiable. El modelo de Kang y Choi, aunque preciso, requiere mayor esfuerzo en la planificación de los FP, y la técnica de Miranda y Bourque no refleja el esfuerzo invertido por cada HU.
Enfoques Actuales para la Estimación de Costos
En los métodos ágiles, la estimación de costos suele basarse en prácticas empíricas y el juicio de expertos. Las dos métricas principales son los Story Points (SP) y los Function Points (FP):
- Estimación basada en Story Points (SP): Es la más común (Cohn, 2005). Implica estimar el esfuerzo total en SP, definir una velocidad base (histórica o por juicio de expertos) para prever el tiempo de finalización, y luego calcular el costo del recurso humano y otros gastos. Carece de un modelo formal y a menudo no considera datos históricos de proyectos anteriores de forma sistemática.
- Estimación basada en Function Points (FP): Propuesta por Kang y Choi (2010), implica más esfuerzo en la planificación detallada del producto. Los FP son considerados valores absolutos, lo que los autores sugieren que los hace más precisos. El costo se calcula por HU, en función de los FP, asociados a líneas de código o personas por mes. Aunque toma en cuenta datos históricos, se limita al proyecto actual.
Las mejoras potenciales identificadas en la estimación de costos radican en la necesidad de un modelo más formal, que utilice datos históricos de proyectos con atributos similares y ajuste el costo por SP durante cada iteración basándose en el desarrollo actual del proyecto.
La Propuesta de Medición de Costos en Entornos Ágiles
El objetivo de la investigación que da origen a esta propuesta es proveer un método para la administración y monitoreo del presupuesto, así como la estimación de costos en métodos ágiles, abordando las deficiencias identificadas y siguiendo los principios del manifiesto ágil. La propuesta está dirigida a empresas que utilizan métodos ágiles y necesitan monitorear su presupuesto y contar con una base histórica para la estimación de costos.
Planificación Inicial: Estableciendo las Bases
La planificación es la primera actividad detallada donde se identifican las necesidades del cliente y los recursos. En esta propuesta, el tamaño del producto se mide en Story Points (SP), la métrica relativa más utilizada en métodos ágiles, evitando el esfuerzo adicional de los Function Points.
Para planificar un nuevo proyecto de software, se necesitan las siguientes métricas base:
| Métrica | Descripción | Fórmula/Cálculo |
|---|---|---|
| Tamaño Base Total del Producto (TBTP) | Tamaño total del producto en Story Points. | Suma de Esfuerzo (SP) de todas las Historias de Usuario (HU). |
| Velocidad Base del Equipo (VB) | Cantidad de SP que el equipo entregará por iteración (pronóstico). | Juicio de expertos o datos históricos precisos. |
| Número de Iteraciones (I) | Cantidad de iteraciones necesarias para el producto. | I = TBTP / VB (redondeado al entero próximo). |
| Duración de Iteración (DI) | Duración en tiempo de cada iteración (ej. 2-4 semanas). | Definición del equipo/organización. |
| Costo Base del Producto (CBP) | Costo total estimado para el desarrollo del producto. | Estimación basada en recursos humanos, tiempo, etc. |
| Costo Base del Equipo por Iteración (CBI) | Costo monetario esperado por cada iteración. | CBI = CBP / I. |
| Costo Base de SP por Iteración (CBSPI) | Costo monetario por desarrollar un Story Point. | CBSPI = CBI / VB. |
Además de estas métricas, se genera una gráfica de burn down de planificación que muestra la cantidad de SP faltantes por desarrollar en cada iteración.
Ejemplo: Un proyecto de 'Sistema de gestión de contenidos' con un equipo de 1 líder y 5 desarrolladores. TBTP de 486 SP, VB de 70 SP/iteración (basado en proyectos anteriores). Esto resulta en 7 iteraciones de 2 semanas cada una. El CBP estimado fue de $252,000.00.
Replanificación Continua: Adaptabilidad y Control
La gráfica de burn down de planificación evoluciona en cada revisión de iteración, mostrando el avance base planeado (AB), el avance real (AR) que incluye cambios en el alcance, y el avance replanificado (ARR) que refleja los ajustes del equipo. Para controlar el cambio de alcance, se propone una 'gráfica de cambios en el alcance' que muestra el impacto de los SP agregados o eliminados del TBTP. Se recomienda que el total de cambios en el alcance (TSPCA) no supere el 30% del TBTP.
Métricas clave en la replanificación:
- Costo Actual de la Iteración (CAI): Costo monetario real de una iteración.
- SP Desarrollados en la Iteración (SPAI): SP aceptados por el cliente al finalizar la iteración (velocidad de iteración).
- Costo Actual de SP (CASPI): Costo monetario por desarrollar un SP en una iteración (CASPI = CAI / SPAI).
- Índice de Desempeño del Costo (CPI): Visualiza la fluctuación del costo por SP real vs. planeado (CPI = CBSPI / CASPI). CPI > 1 significa que se gasta menos; CPI < 1 significa que se gasta más.
- Índice del Desempeño del Calendario (SPI): Monitorea la fluctuación de la velocidad real vs. planeada (SPI = SPAI / VB). SPI > 1 significa que el proyecto terminará antes; SPI < 1 significa que terminará tarde.
- Cambios en el Alcance (SPCA): Cantidad de SP agregados o eliminados en una iteración.
- Total de Cambios en el Alcance (TSPCA): Monitorea el total de cambios realizados en el proyecto. Se calcula como la suma de SPCA sobre el TBTP original.
Ejemplo (continuación): En el proyecto de 'Sistema de gestión de contenidos', la gráfica de burn down de iteración mostró cambios de alcance en las iteraciones 1 y 4, lo que llevó a replanificaciones. Los índices CPI y SPI fluctuaron, y aunque en las iteraciones 6 y 7 el CPI fue mayor a 1 (costo por SP mayor), el SPI también fue mayor a 1 (velocidad del equipo mayor), permitiendo terminar el proyecto a tiempo con un incremento del 2.74% en el costo real total, considerándose un proyecto exitoso.
Estimación de Costos Basada en Datos Históricos y Estadísticas
Esta técnica propone estimar el costo de un proyecto basándose en datos históricos de la organización, específicamente en el tiempo de desarrollo necesario para Historias de Usuario con el mismo esfuerzo (SP). El costo de un proyecto es directamente proporcional al tiempo de desarrollo. Para ello, se utilizan herramientas de automatización de procesos (como BizAgi) para recolectar el tiempo real de desarrollo por cada HU, excluyendo tiempos muertos.
El proceso implica:
- Agrupar los tiempos históricos de desarrollo de HU según su esfuerzo (ej. todas las HU de 8 SP).
- Calcular la media, la varianza (S²) y la desviación estándar (S) de los tiempos para cada grupo de esfuerzo.
- Utilizar la distribución normal (campana de Gauss) para identificar el tiempo de desarrollo más confiable para las HU con un mismo esfuerzo. Esto permite conocer la probabilidad de que el esfuerzo necesario para una HU sea un tiempo determinado.
Ejemplo: Para un conjunto de HU con 8 SP de esfuerzo, se recopilan sus tiempos de desarrollo históricos. Se calcula la media, varianza y desviación estándar de estos tiempos. Luego, aplicando la fórmula de distribución normal, se puede determinar que, por ejemplo, para una HU de 8 SP, existe un 91.3% de probabilidad de que su desarrollo tome 1 hora. Esta precisión permite una estimación de costos más fiable para nuevos proyectos.

Caso de Estudio: Aplicación y Resultados en la Práctica
Para validar la propuesta, se realizó un caso de estudio en una pequeña empresa de desarrollo de software ágil (Scrum y eXtreme Programming), analizando dos proyectos:
Contexto de los Proyectos Analizados
- Proyecto 1 (P1): Desarrollo de un Software como Servicio (SaaS) para gestionar una red de colaboración. Contó con 7 desarrolladores, 75 HU planificadas, 22 SP por iteración, y un costo base de $128.68 MXN por SP. Se utilizó la propuesta de estimación y control de costos.
- Proyecto 2 (P2): Desarrollo de una herramienta de diseño y seguimiento de indicadores. Contó con 8 desarrolladores, 47 HU planificadas, 263 SP totales, una velocidad base de 69 SP por iteración, y el mismo costo base por SP. En este proyecto NO se utilizó la propuesta de estimación y control de costos del presente artículo.
Análisis del Proyecto P1: Cuando la Solución es Conocida
En el Proyecto P1, aunque no se generaron suficientes datos históricos para las gráficas de estimación de esfuerzos, la estimación de los expertos fue suficiente debido a que era un diseño de desarrollo conocido por el cliente. Las gráficas de burn down y CPI/SPI mostraron un avance real más rápido de lo planeado, con resultados controlados en tiempo y costo. No fue necesaria una replanificación significativa ni se generó una gráfica TSPCA, ya que no hubo cambios de alcance sustanciales. Esto sugiere que el método es de gran utilidad en proyectos donde el problema es menos conocido, permitiendo tomar decisiones informadas sobre replanificaciones.
El Proyecto P2, al no utilizar la propuesta de medición, ilustró claramente las dificultades del control. Las iteraciones 2 a 5 fueron particularmente problemáticas:
| Iteración | Valor Ganado (EV) | CPI | SPI | Cambio de Alcance (SP agregados) | Problema Identificado |
|---|---|---|---|---|---|
| 2 | 50 SP (esperado 66) | 0.73 (36% más caro) | 0.73 (24.24% más lento) | 135 SP (51.3% del total planeado) | Estimación imprecisa de velocidad, riesgos de nuevas tecnologías. Se agregaron 2 desarrolladores para la iteración 3. |
| 3 | 69 SP (acorde al plan) | 0.66 (66% más caro) | 1 (acorde al plan) | 120 SP (alcance total +54%) | Aumento de desarrolladores incrementó el costo. El burn down duplicó los SP restantes. |
| 4 | 92 SP (35% más rápido) | 0.68 (32% más caro) | 1.35 | 13 SP (alcance total +104%) | Proyecto debió terminar, pero estaba lejos de la meta. Alto incremento de alcance aceptado. |
| 5 | 288 SP (2 SP restantes) | 2.14 (54% más barato) | 4.23 (323% más rápido) | 149 SP (53% del peso planeado) | Sobreestimación del esfuerzo planeado. Suma total de cambios en el alcance del 158.17%. |
Las dificultades en P2, especialmente el aceptar un 104% y luego un 158.17% de cambios sobre lo planeado, resaltan la necesidad crítica de un proceso de toma de decisiones que utilice las gráficas propuestas y los recursos humanos, de información y tecnológicos disponibles para gestionar el alcance y los costos.
Conclusiones y Vías Futuras para una Gestión de Costos Más Efectiva
El método de medición propuesto aborda los problemas de escasa gestión y monitoreo de costos, la falta de evidencias y la ausencia de estimaciones basadas en procesos repetibles en el desarrollo de software ágil. Si bien los principios del manifiesto ágil se centran en el 'software funcionando' y la 'reflexión periódica', lo que puede restringir las medidas predictivas, esta propuesta ofrece un marco para una gestión financiera más robusta sin contradecir la agilidad.
Las tres gráficas clave (TSPCA para control de cambios, CPI/SPI para control de costo y calendario, y burn down para replanificación) junto con la técnica de estimación de esfuerzo con datos históricos de SPs, proporcionan las herramientas necesarias para los administradores de proyectos. Sin embargo, el caso de estudio reveló que la disponibilidad de datos históricos suficientes es crucial para la eficacia plena del método, y que la falta de un proceso de toma de decisiones formal basado en estas métricas puede llevar a descontrol, como se vio en el Proyecto P2.
Como trabajo futuro, es imperativo desarrollar un proceso de toma de decisiones que integre el uso de estas gráficas de manera efectiva. Adicionalmente, se plantea la creación de herramientas que automaticen la generación de gráficas de distribución normal para tiempos de Historias de Usuario, lo que permitiría estimaciones de esfuerzo más precisas con mínima interacción manual. Otro camino a explorar es una propuesta basada en BPMN para automatizar el cálculo de tiempos invertidos en cada HU, utilizando la distribución normal para entender la tendencia de tiempos en función del esfuerzo en SP.
En resumen, si bien la estimación de costos en proyectos ágiles es un desafío, la implementación de un método estructurado que combine la planificación inicial, la replanificación continua, el monitoreo con métricas de rendimiento y la estimación basada en datos históricos, puede transformar la gestión financiera, permitiendo a las empresas de software ágil no solo adaptarse al cambio, sino también asegurar la rentabilidad y el éxito de sus proyectos.
Preguntas Frecuentes sobre la Estimación de Costos en Software Ágil
A continuación, respondemos algunas de las preguntas más comunes sobre la estimación de costos en proyectos de desarrollo de software ágil:
¿Por qué es tan difícil estimar los costos de software?
La dificultad radica en la naturaleza única de cada proyecto de software, la constante evolución de los requisitos, la alta incertidumbre inicial y la dificultad inherente de los seres humanos para predecir resultados absolutos en entornos complejos. Además, en metodologías ágiles, la flexibilidad y la priorización del software funcionando sobre la documentación detallada añaden capas de complejidad.
¿Cómo abordan los métodos ágiles la estimación de costos si se enfocan en software funcionando?
Los métodos ágiles, como Scrum, tradicionalmente se centran en la 'velocidad' del equipo (cantidad de Story Points o HUs entregadas por iteración) como medida de progreso. Si bien esto es excelente para el seguimiento del avance técnico, a menudo carece de una gestión explícita y detallada de los costos, dejando la estimación en manos de juicios de expertos y datos históricos informales. La propuesta en este artículo busca formalizar esta parte.
¿Qué son los Story Points y los Function Points en la estimación de costos?
Los Story Points (SP) son una medida relativa del esfuerzo necesario para implementar una Historia de Usuario (HU), que incluye complejidad, riesgo e incertidumbre. Son la métrica más común en métodos ágiles. Los Function Points (FP) son una medida más 'absoluta' de la funcionalidad de un sistema, basada en sus características y la interacción con los usuarios, y requieren un análisis más detallado en la fase de planificación.
¿Qué son los índices CPI y SPI y cómo ayudan a monitorear el proyecto?
El Índice de Desempeño del Costo (CPI) compara el costo real con el costo planeado para el trabajo realizado. Un CPI de 1 indica que el proyecto está dentro del presupuesto; mayor que 1 significa que se gasta menos; y menor que 1, que se gasta más. El Índice de Desempeño del Calendario (SPI) compara el progreso real con el progreso planeado. Un SPI de 1 indica que el proyecto va a tiempo; mayor que 1, que va adelantado; y menor que 1, que va retrasado. Ambos son herramientas vitales para el monitoreo y la toma de decisiones.
¿Es aceptable que el alcance de un proyecto ágil cambie? ¿Hay un límite?
Sí, la adaptabilidad al cambio es un pilar fundamental de los métodos ágiles. Sin embargo, los cambios en el alcance deben gestionarse cuidadosamente. La propuesta de este artículo sugiere monitorear el Total de Cambios en el Alcance (TSPCA) y recomienda que este no supere el 30% del tamaño base total del producto para evitar poner en riesgo el presupuesto y el cronograma del proyecto.
¿Cómo se puede usar la información histórica para estimar costos en proyectos ágiles?
La información histórica de proyectos anteriores puede ser invaluable. Agrupando las Historias de Usuario por su nivel de esfuerzo (en Story Points) y analizando los tiempos reales de desarrollo de cada una, se pueden utilizar herramientas estadísticas como la distribución normal (campana de Gauss) para identificar el tiempo de desarrollo más probable y preciso para futuras HUs de esfuerzo similar. Esto proporciona una base empírica para las estimaciones de costos.
¿Qué dificultades se encontraron al aplicar el método propuesto en el caso de estudio?
En el caso de estudio, la principal dificultad fue la falta de datos históricos suficientes para comprobar la eficacia de las estimaciones en uno de los proyectos. Además, se observó que, a pesar de tener las métricas y gráficas disponibles, la ausencia de un proceso formal de toma de decisiones para actuar sobre la información generada podía llevar a un descontrol en los costos y el alcance, como ocurrió en el Proyecto 2, donde se aceptaron cambios de alcance muy superiores al límite recomendado.
Si quieres conocer otros artículos parecidos a Estimación de Costos en Software Ágil: Desafíos y Soluciones puedes visitar la categoría Librerías.
