martes, 15 de octubre de 2019

Estimación y control de costos en métodos ágiles

Estimación y control de costos en métodos ágiles para desarrollo de software: un caso de estudio

Resultado de imagen para imagen de dinero

Resumen

El desarrollo de software utilizando métodos ágiles está en crecimiento debido a la productividad asociada a estas metodologías, además de la flexibilidad demostrada para equipos pequeños. Sin embargo, estas metodologías cuentan con debilidades claras de estimación y gestión de costos de desarrollo, al igual que los administradores de proyectos no cuentan con las suficientes evidencias para la comprobación del gasto del presupuesto en un proyecto debido a la poca documentación generada y por la falta de seguimiento en el gasto de los recursos. Se presenta una propuesta de estimación y control de costos en métodos agiles para resolver estas carencias. En este sentido, se realizó un caso de estudio en una empresa de desarrollo de software ágil utilizando la propuesta en proyectos de software de servicio (SaaS) y aplicaciones Web. En los resultados se encontró que la propuesta genera un alto grado de evidencias para los administradores de proyectos, pero presenta carencias en la administración de las evidencias para el control y toma de decisiones, lo cual dio origen a una definición de un proceso de toma de decisiones para ser aunado a la propuesta de medición.

Fuente : https://www.sciencedirect.com/

Introducción



Las metodologías ágiles son bien adoptadas por las pequeñas y medianas empresas (PYME) debido a que les permiten tener procesos organizados, repetibles y mejorables sin una alta inversión de presupuesto y de tiempo en su implementatión. Las metodologías más utilizadas en la industria actualmente son: Extreme Programming (Jeffries et al., 2000), SCRUM (Deemer et al., 2010) y Feature Drive Development (Anderson, 2003).
Las metodologías ágiles toman su nombre después de que en 2001 un grupo de 17 expertos en desarrollo de software reunieron sus ideas y crearon el manifiesto ágil, estableciendo doce principios y en donde cada metodología debía cumplir con los siguientes preceptos: individuos e interacciones sobre procesos y herramientas, software funcionando sobre documentación extensiva, colaboración con el cliente sobre negociación contractual, respuesta ante el cambio sobre seguir un plan.
La administración de proyectos de software es una de las partes fundamentales para obtener resultados exitosos según Jones (2004), considerando un proyecto exitoso como el que termina dentro del tiempo, costo y calidad esperada (Jones, 2003; Agarwal y Rathod, 2006Chow y Cao, 2008), principalmente preservando los doce principios del manifiesto ágil de Chow y Cao (2008). En la industria de manufactura ágil se han presentado buenos resultados de adaptabilidad a los cambios externos con menos pérdidas de costos (Laanti y Kettunen, 2006), en cuanto al desarrollo ágil de software esta adaptabilidad es necesaria en los cambios de los productos de software (SW).
En la administración de métodos ágiles la medida utilizada para evaluar el rendimiento de un equipo es conocer la velocidad con que se desarrollan los elementos del registro del producto (PBI, Product Backlog Items) (Yap, 2006), además el tamaño del proyecto se mide en el esfuerzo total que se necesita para su desarrollo. Conforme a lo anterior, las medidas más comunes en métodos agiles son el esfuerzo y el tamaño, sin embargo, esto da pie a diversas pérdidas económicas por falta de medidas de costos.
El problema con los costos en los métodos ágiles es la falta de una administración y monitorización efectivas (Yap, 2006Keaveney y Conboy, 2006Sulaiman y Barton, 2006Rusk, 2009), además de carecer de la generación de evidencias (Jones, 2004Sulaiman y Barton, 2006Rusk, 2009) y estimaciones de costos guiada por procesos mejorables (Keaveney y Conboy, 2006Pham A. y Pham P., 2011), afectando con esto al dueño de la empresa de SW y ocasionando un descontrol con los administradores de proyectos y expertos en métodos agiles.
Si se logra crear un método capaz de estimar costos basados en evidencias históricas, controlar y monitorizar los costos periódicamente, se logrará minimizar la pérdida de costos y ajustar el programa a los tiempos y compromisos con el cliente.
El objetivo de esta investigación es proveer un método para la administración y monitoreo del presupuesto además de la estimación de costos en los métodos ágiles, siguiendo los principios del manifiesto ágil y abordando los problemas de administración, monitorización, generación de evidencias y estimación de costos.
El presente artículo está organizado de la siguiente manera: la sección de trabajos relacionados presenta algunos trabajos que proponen métodos para el control del presupuesto y la estimación de costos; en la sección de propuesta de medición de costos se desarrolla la propuesta del control de presupuesto y del proceso de estimación de costos; en la cuarta sección se desarrolla el caso de estudio, desde su diseño hasta la interpretación de los resultados; por último se dan las conclusiones y el trabajo futuro; en la parte final del documento se agregó un anexo con la terminología más utilizada en el ambiente de los métodos ágiles.

Trabajos relacionados


Se realizó una revisión de la literatura con temas que abordan los problemas en la administración de costos en métodos ágiles, se encontraron dos temas principales: el primero tiene que ver con el monitoreo y control del presupuesto de un proyecto y el segundo corresponde a la estimación del costo de desarrollo de un proyecto. En la sección de monitoreo y control del costo se expone el monitoreo del presupuesto y la sección siguiente trata acerca de la estimación de costos. El método ágil para administración de proyectos más común que se encontró en la literatura fue SCRUM (Deemer et al., 2010), por lo que será este en el que se base este artículo.

Monitoreo y control del presupuesto


En el artículo de Sulaiman y Barton (2006) se define una metodología llamada AgileEVM, que tiene el propósito de monitorear el avance de un proyecto en los atributos de tiempo y costo. AgileEVM se basa en el método de administración del valor ganado (EVM, Earned Value Management). EVM se define en Project Management Institute (2003) como: “EVM es un método para la integración del alcance, cronograma y recursos, y para medir el desempeño del proyecto”.
En AgileEVM las métricas de SCRUM se relacionan directamente con las métricas de EVM tradicional buscando no agregar burocracia innecesaria al proceso de desarrollo.
El monitoreo del desempeño y el presupuesto del proyecto en AgileEVM se realiza al final de cada iteración, en estas revisiones se recolectan cuatro parámetros: el número de iteración actual (n), los puntos de historia terminados durante la iteración (PC), los puntos de historia agregados o eliminados de la lista de trabajo que se tiene que desarrollar en la siguiente iteración (lista backlog) durante la iteración actual (PA) y el costo de la iteración (SC).

Las métricas de monitoreo que AgileEVM muestra son el índice del desempeño del costo (CPI), el índice del desempeño en el tiempo (SPI) y los puntos de historia SP (Story Points) faltantes durante cada iteración (figura 1). Entonces, conociendo el CPI y el SPI es posible conocer si el proyecto marcha de acuerdo a lo planeado, ya que si es así, el valor de CPI y SPI debe ser igual a 1. Si el CPI es mayor que 1 entonces se está gastando menos de lo planeado, un CPI menor que 1 significa que se está gastando más del presupuesto. Si el SPI es mayor que 1 entonces se terminará el proyecto antes de lo planeado y si el SPI es menor que 1 el proyecto terminará tarde.