Uso de técnicas de estimación en el cálculo de la duración de proyectos de TIC en Uruguay
Federico Núñez
Universidad Tecnológica del Uruguay
[email protected]
Guillermo Villa, Pablo Oríz
Universidad Tecnológica del Uruguay
[email protected]
Pablo Oríz
Universidad Tecnológica del Uruguay
[email protected]
Resumen: El propósito del estudio es presentar el resultado de una encuesta a 52 Gerentes de Proyectos (GP) de Uruguay con el objetivo de identificar el uso de las técnicas de estimación en el cálculo de la duración de proyectos de TIC. Este tema se considera de especial relevancia ya que la estimación de la duración de los proyectos se cita como una de los factores prominentes en la falla de los proyectos de TIC, detectándose un desvío en las estimaciones que varía entre 30 % -40 %. El estudio concluye que el principal método de estimación es el juicio de expertos, lo cual es consistente con diversos estudios a nivel global. Asimismo se analizan diversos factores vinculados a la estimación, como la relación entre las técnicas de estimación y las metodologías de desarrollo de software, el uso de valores de contingencia (project padding) y experiencia de los GP, entre otros.
Palabras claves: juicio de expertos, duración de proyectos, metodologías de desarrollo de software
Title: Use of estimation techniques to calculate the duration of IT projects in Uruguay
Abstract: The purpose of the study is to present the results of a survey of 52 Project Managers (PM) of Uruguay aimed to identify the use of estimation techniques to calculate the duration of IT projects. This issue is considered particularly important, since the estimated duration of the projects is cited as one of the prominent factors in the failure of IT projects, detecting a deviation in estimates ranging from 30 %-40 %. The study concludes that the main method of estimation is expert judgement, which is consistent with several studies worldwide. Various related factors are analyzed such as the relationship between estimation techniques and software development methodologies, the use of contingency values (project padding) and the PM experience, among others.
1. Introducción y motivación
El problema de la estimación de la duración de los proyectos permanece como un tema de estudio, interés y preocupación por parte de los Gerentes de Proyecto (GP). Una estimación imprecisa conlleva un impacto importante en los tiempos estimados, los costos derivados y la calidad del proyecto, colaborando en el posible fracaso del mismo. Este tema ha sido abordado extensamente desde 1950 y se reconoce causalidad entre la calidad de estimación y la probabilidad de éxito o fracaso de los proyectos. Esto es corroborado por distintos estudios independientes; así el estudio que desde 1994 viene realizando el Standish Group en el informe CHAOS Manifesto 2013 [1] basado en datos de 50.000 proyectos, ilustra que solo un 39 % de los proyectos tuvieron éxito (ver Tabla 1).
Tabla 1. Evolución de los proyectos.
Fuente: CHAOS Manifesto (2013)
Los proyectos exitosos, según la definición del Standish Group, son aquellos que son entregados en tiempo, dentro del presupuesto acordado y con las funcionalidades requeridas. Los modificados son proyectos completados y operativos, pero en forma tardía, por encima del presupuesto y ofrecen menos funcionalidades que las que fueron originalmente especificadas. Los cancelados son aquellos que son interrumpidos antes de su finalización o entregados y nunca utilizados. Los valores de éxito de los proyectos del año 2012 resultan consistente con resultados de años anteriores, advirtiéndose muy poca variación en los mismos.
Complementariamente, el Project Management Institute (PMI) publicó en el año 2008 el resultado de una encuesta realizada a GP a nivel mundial. Los mismos destacaron la planificación del cronograma y la estimación de tiempos como uno de los desafíos más importantes, mencionando además que uno de los factor críticos de éxito es la “planificación para una implementación en tiempo, práctica y realista” [2].
Existen múltiples técnicas de estimación para determinar la duración de los proyectos advirtiéndose cierta dualidad entre el enfoque académico y el enfoque práctico. Por una parte la comunidad académica y las publicaciones vinculadas a este campo abundan en técnicas tales como simulación Monte Carlo o Cadena crítica entre otras, las que en la práctica son escasamente adoptadas por los estimadores como lo refrendan los estudios de Besner y Hobbes [3] y Whelan [4] entre otros. El objetivo de nuestro estudio fue investigar si esta tendencia se aplicaba a los proyectos de TIC (Tecnologías de la Información y las Comunicaciones) en Uruguay y su relación con las metodologías de desarrollo de software. Se encuestaron a
GP con variada experiencia (entre 2 años y mayores a 10 años) quienes trabajan sobre variados frameworks de desarrollo (principalmente J2EE y .NET).Teniendo en cuenta que Uruguay cuenta con 550 empresas en la industria de las TIC y que es el primer exportador de software per cápita y el tercero en términos absolutos en Latinoamérica [5], se concluye que la estimación es un factor relevante y de interés para su estudio. Especialmente nos interesan las estimaciones iniciales, las llamadas estimaciones tempranas,hito que normalmente se establece cuando se firma el documento de Requisitos (o Requerimientos) del proyecto por parte del cliente.
2. Revisión de la literatura
Existen diversas clasificaciones usadas en las Técnicas de Estimación, no obstante, una categorización frecuente la divide en dos grupos: algorítmicas y no-algorítmicas (Leung, [6]; Khatibi y Jawawi [7]). Los modelos algorítmicos están basados en algoritmos especiales. Son modelos que se basan en relaciones matemáticas y parámetros con los que realizan las estimaciones. Por otra parte los modelos no algorítmicos están basados en comparaciones analíticas e inferencias [7]. Entre estas veremos el Método por Tres Valores (MTV; también llamado Estimación por Tres Valores) y la Simulación Monte Carlo (SMC), que son los de interés para el artículo.
Técnicas algorítmicas
Éste es un gran conjunto de técnicas. De acuerdo a Khatibi y Jawawi [7], la estimación algorítmica tiene su origen en modelos basados en algoritmos especiales. Generalmente necesitan datos como entrada y producen los resultados aplicando los modelos matemáticos que combinan estas entradas.
Método por tres valores
El MTV es una técnica paramétrica basada en PERT (Program Evaluation and Review Technique) [8], que se basa en las siguientes hipótesis [9]:
a)las actividades siguen una distribución Beta, y no existe correlación en la duración de las actividades
b)la estimación por tres puntos (esto es, MTV), puede ser usada para modelar la distribución de probabilidad de las actividades
c) solamente existe un camino crítico y ningún otro camino es candidato a ser crítico
d)las actividades del calendario son ignoradas.
(1)(2)
En particular, a partir del punto b. se ha propuesto una estimación para la duración y desvío de las tareas mediante las siguientes ecuaciones:
donde:
E(x) es el valor promedio de la tarea
Var(x) es la varianza de la tarea
O. Valor optimista de duración de la tarea
M. El valor mas probable (moda) de la tarea; el valor mas frecuente
P. Valor pesimista de duración de la tarea.
Simulación Monte Carlo
La Simulación Monte Carlo es un método paramétrico que implica la toma de muestras al azar de cada distribución de probabilidad del modelo para producir cientos o miles de iteraciones. De los resultados se obtiene una distribución general para el modelo que refleja la distribución de la duración total del proyecto.
Una de las ventajas más importantes de la SMC es la capacidad para definir la distribución más adecuada para la duración de cada actividad en lugar de fijar una única distribución para todo el proyecto (como lo asume la técnica MTV con la distribución Beta, en su acepción más aplicada). La clave es identificar cuáles son las distribuciones de probabilidad adecuadas que deben utilizarse para simular cada una de las variables aleatorias de un modelo [10]. Esto normalmente requiere analizar información empírica o histórica y ajustarla a alguna distribución. Como contraparte, es un método de baja utilización por parte de los GP ([3], [4]).
Técnicas no algorítmicas
En este grupo analizaremos la técnica de Juicio de Expertos, que es la que tiene un porcentaje más alto de uso por los GP en Uruguay.
Juicio de expertos
Se define el Juicio de Expertos como las opiniones que pueden brindar los profesionales expertos en una industria o disciplina, relacionadas al proyecto que se está ejecutando.
De distintos estudios ([11], [12]) se puede concluir que es el método más popular de estimación en el desarrollo de software. Se reporta que más del 60 % de los estimadores/organizaciones usan esta técnica.
Como lo expresan Nagar y Dixit [13] esta estimación es usualmente usada cuando existen limitaciones para conseguir datos y en el relevamiento de los requerimientos. La misma aparece como la preponderante entre los encuestados (63 %), por lo que es la que analizaremos con más detenimiento sus fortalezas y debilidades (ver Tabla 2).
Fortalezas
La confiabilidad se basa en la experiencia acumulada de los estimadores que se disponga al realizar las estimaciones.
Los ajustes son realizados por el propio personal que va a llevar a cabo la tarea y son hechas rápida y eficientemente.
Puede ser usada en ausencia de gran cantidad de datos históricos.
Debilidades
Las estimaciones no son mejores que las experiencias de los estimadores, por lo que pueden ser sesgadas, difíciles de racionalizar y no son objetivamente repetibles.
Para que una persona pueda ser etiquetada como “experta” debe poseer un conocimiento profundo de la tarea o actividad que será objeto de análisis y tiene que estar familiarizada con el sistema que se está desarrollando.
Como señala Jørgensen [11] una de las principales debilidades de esta estimación es la falta de realismo, los expertos muchas veces son excesivamente optimistas (los tiempos de estimación son generalmente excedidos) y tienen exceso de confianza, proveen rangos estrechos para sus estimaciones, aún frente a una gran incertidumbre.
Grimstad y Jørgensen [14] en un experimento realizado con 7 estimadores y 60 tareas obtuvieron una alta inconsistencia, con valores de correlación de 0,7.
En particular en Latinoamérica, por lo menos en conocimiento de los autores, no se dispone de estudios regionales sobre este tópico, aunque se destacan estudios en algunos países, como el realizado por Santos Cruz y Cattini en Brasil que ratifican el uso mayoritario de juicio de expertos [15].
3. Metodología
Esta investigación se considera como una investigación de campo, ya que el propósito es relevar de forma directa a quienes realizan las estimaciones en las empresas, y exploratoria, en cuanto es un tema del cual no se disponen estudios previos, en nuestro conocimiento, en Uruguay.
Para la recolección de la información, se recurrió a una encuesta que es una forma económica y ágil de recolectar información. Esta encuesta principalmente fue de tipo estructurada conformada por un conjunto de preguntas cerradas, no obstante se dejó la posibilidad de que el estimador comentara sobre alguna técnica o enfoque diferente. La encuesta se realizó mediante un formulario on-line con una herramienta específica para estos propósitos y se complementó consultando personalmente a colegas de los autores. El resultado final fueron 52 formularios completados por GP de 26 empresas de TIC del Uruguay. El 32 % de estos GP posee una certificación PMP (PMI-Project Management Professional).
4. Resultados
En esta sección presentaremos los principales resultados obtenidos del estudio.
La pregunta más relevante indagó sobre los métodos de estimación aplicados. Se sugirieron una serie de métodos, no obstante dejando abierta la posibilidad a que el entrevistado agregara otras.
Tabla 2. Uso de los Métodos de Estimación
Como se mencionó anteriormente el Juicio de Expertos destaca como la técnica más aplicada, seguida, en menor medida por la Estimación por Tres Valores.
Otra pregunta relevante fue la experiencia (en el área de estimación) de los entrevistados, para lo cual se trató de que la muestra representara desde estimadores con menos experiencia a aquellos calificados con mayor experiencia como se muestra en la Figura 1.
Figura 1. Experiencia de los estimadores.
Por otra parte, es práctica habitual que los estimadores agreguen un factor de contingencia (project padding), exceso, para subsanar posibles subestimaciones y resguardarse de los riesgos y factores inciertos que todo proyecto conlleva. Acotemos que de acuerdo a la investigación de Van Genuchten los desarrolladores subestiman sus proyectos en un rango de 20 % a 30 % [16]. En consecuencia, preguntamos si los estimadores hacían uso del mismo, y en ese caso, el valor promedio y el método de estimación. El resultado fue el siguiente:
Tabla 3. Porcentaje de contingencia.
El 92 % confirmó que usa un valor adicional de contingencia como salvaguarda, los cuales, como se advierte en la Tabla 3, se encuentran dentro del rango recabado por Van Genuchten.
Por último nos interesaba investigar sobre la relación entre las metodologías de desarrollo de software y las técnicas de estimación. Existen una variedad importante de metodologías de desarrollo, no obstante, realizamos una clasificación primaria entre metodologías tradicionales (cascada, iterativas o incrementales) o metodologías ágiles como se ilustra en la Figura 2
Figura 2. Técnicas de estimación vs Metodologías de desarrollo.
En términos generales el juicio de expertos tiene prevalencia en ambas metodologías. Cabe puntualizar que las técnicas que se aplican habitualmente en las metodologías ágiles (por ejemplo, Planning Poker), fueron considerados dentro de la categoría de juicio de experto, siempre que no se indicara otra alternativa. Esto se debe a que los modelos de estimación para metodologías ágiles consideran la opinión de uno o varios (normalmente todo el equipo) en un proceso iterativo de consenso. Es destacable la incidencia que tienen las metodologías ágiles en Uruguay, lo cual se contrapone con los resultados expresados por ejemplo, por Santos Cruz y Cattini en Brasil quienes expresan que “que las metodologías ágiles son raramente usadas” [15].
5. Conclusiones
El objetivo del estudio fue analizar el uso de las técnicas de estimación en la duración de los proyectos de TIC en Uruguay. Losresultadosmuestranelusomayoritariodel Juiciode Expertos y en menor medida la Técnica por Tres Valores. Estos valores se correlacionan con las tendencias globales y muestran que a pesar de la existencia de técnicas más elaboradas, y tal vez más precisas, éstas no han logrado aceptación en la comunidad de los GP. No obstante, estos resultados pueden ser un comienzo para transitar hacia técnicas con mayor precisión, muchas de las cuales no implican ejecuciones complejas.
La principal limitación es el tamaño acotado de la muestra. Esto supone que los resultados no son estadísticamente significativos teniendo en cuenta la incidencia de las TIC en Uruguay. No obstante, según las experiencias de los autores, estos valores coinciden con la percepción general del uso de técnicas de estimación en el mercado.
Como trabajos futuros se entiende interesante extender esta propuesta a una población más amplia. Además sería de interés analizar la posible correlación entre las técnicas de estimación y el porcentaje de atraso de los proyectos. Otro punto de interés es la posible correlación entre las técnicas y el éxito de los proyectos.
Referencias
[1] Standish Group International. “The CHAOS Manifesto”. 2013. [Ref.: 2 de julio 2015]. Disponible: http://www.versionone.com/assets/img/files/CHAOSManifesto2013.pdf
[2] Project Management Institute. “Researching the Value of Project Management”. PMI Today. Mayo 2009, p. 9.
[3] Besner, C., Hobbs, B. “The Reality of Project Management Practice: Phase two of an ongoing study. University of Quebec at Montreal, 2007. [Ref. 2 de julio 2015]. Disponible: http://www.pmi.org/~/media/PDF/Surveys/Besner%20and%20Hobbs%20Practices%20Survey%20Report%20Phase%202.ashx
[4] Whelan, B. “An Analysis of Influences on Estimating Practice in Software Projects”. [Ref.: 4 julio de 2015] 2010. Disponible: http://www.pmi.org/~/media/PDF/Surveys/BWhelan%20-%20MSc%20PM%20Thesis%20Excerpt.ashx
[5] i iiUruguay XXI, “La industria TIC en Uruguay”, pp. 6, Agosto 2014.
[6] Leung, H., Fan Z. Software Cost Estimation. Handbook of software engineering and knowledge engineering. World scientific publications company, River Edge: NJ. 2002.
[7] Khatibi, V., Jawawi, D. “Software Cost Estimation Methods: A Review”. Journal of Emerging Trends in Computing and Information Science. 2010-11, Vol. 2 No.1.
[8] Malcom, D.G., Roseboom, C.E., Clark, C.E. y Fazar, W. “Application of a technique for research and development program evaluation”, Operations Research, 1959, No. 7, pp. 646- 670.
[9] Hadju, M., Mályusz, L. “Modeling spatial and temporal relationships in network techniques”. Procedia Engineering, vol.85, pp. 193-205, 2014
[10] Van Slyke, R.M. “Monte Carlo methods and the PERT problem”. Operational. Research. 1963, Vol. 11, pp. 839-860.
[11] Jørgensen, M., “A Review of Studies on Expert Estimation”. Journal of Systems and Software. 2004, 70(1-2), pp. 37-60.
[12] McConnell, S., Software Estimation: Demystifying the Black Art, 1st.edition. Redmond: Microsoft Press, 2006.
[13] Nagar, Ch., Dixit, A. ”Software Efforts and Cost Estimation with a Systematic Approach”. Journal of Emerging Trends in Computing and Information Sciences, Vol. 2, No. 7, July 2011.
[14] Grimstad, S., Jørgensen, M. “Inconsistency of Expert Judgment-based Estimates of Software Development Effort.” Journal of Systems and Software, Vol. 80, Nro. 11, 2007, pp. 1770-1777.
[15] Santos Cruz, T. Cattini, O. “Use and benefits of planning and scheduling techniques in Brazilian IT projects”, 2014, Disponible: http://www.pomsmeetings.org/ConfPapers/060/060-1087.pdf
[16] Van Genuchten, M. “Why is Software Late? An Empirical Study of Reasons for Delay in Software Development”. IEEE Trans. Software Eng., Vol. 17, No. 6, pp. 582-590, June 1991.