martes, 5 de julio de 2011

Profundizando conocimientos en Ingeniería del Software

Uno de los problemas actuales que enfrenta la ingeniería del software es el problema de la estimación. Aunque existen muchas teorías y técnicas al respecto, en la práctica ha resultado terriblemente difícil hacer buenas estimaciones de los proyectos de software.

Estadísticas para hacer estimaciones
Una de las grandes desventajas de las metodologías de desarrollo tradicionales o pesadas es precisamente la facilidad con la que el tiempo de desarrollo del proyecto se expande. Hasta cierto punto este problema se ha mejorado con las metodologías ágiles ya que estas se “deshacen” un poco de la formalidad y permiten ir directamente a la acción. Sin embargo, no resuelven el problema de la estimación, solo hacen más expedito el proceso de desarrollo. En ese sentido, vale la pena reflexionar y pensar que, del mismo modo en el que las metodologías de desarrollo han evolucionado a lo largo de los años (de pesadas a ágiles), las técnicas y herramientas para la estimación de proyectos de software también deben evolucionar.

En respuesta este problema un grupo de personas han desarrollado el Evidence-Based Scheduling (Planificación Basada en la Evidencia). Este tipo de planificación plantea que, en lugar de hacer estimaciones al inicio del proyecto y al final preguntar ¿que paso? ¿por qué no se cumplieron las estimaciones?, se pueden usar los datos históricos de cada desarrollador para hacer simulaciones (usando el método de Monte Carlo) que permitan obtener estimaciones más precisas. De esta forma el gerente del proyecto podrá, por ejemplo, consultar la probabilidad de que el proyecto esté listo para la fecha planteada y tomar las decisiones que le permitan cumplir con este objetivo.

Por lo que pude investigar, el Evidence-Based Scheduling no es ampliamente usado, pero el planteamiento central es lo que llama la atención: usar métodos estadísticos para hacer estimaciones más cercanas a la realidad.

Referencias
[1] FogBugz. (2011). Evidence-Based Scheduling. http://www.fogcreek.com/fogbugz/evidence-based-scheduling/
[2] Spolsky, Joel. (2007). Evidence Based Scheduling. http://www.joelonsoftware.com/items/2007/10/26.html

No hay comentarios:

Publicar un comentario