sábado, 1 de diciembre de 2007

Estimación de esfuerzo

Para mi es una de las áreas mas oscuras en el desarrollo de software, sigo siendo escéptico cuando me hablan sobre COCOMO y esas fórmulas "mágicas" con ponderadores que permiten calcular el esfuerzo de desarrollo en Java, Visual Basic o cualquier otra tecnología con solo un par de clicks.
Hay cientos de libros escritos sobre éstos temas y gente muy respetada que se dedica a la docencia, sin embargo no encuentro un método formal pero práctico de usar a la vez.

Cuando tengo que realizar una estimación de esfuerzo me baso en un esquema de clasificación de casos de uso por complejidad y luego según experiencias anteriores asigno una cantidad de horas/hombre para cada nivel. Eso nos da un esfuerzo aproximado de desarrollo, luego hay que sumarle otros items transversales a todo el proyecto, por ejemplo: ajuste del análisis, diseño, definición de la arquitectura, testing y documentación.
Además se presenta otro problema, estas estimaciones se hacen en horas/hombre, es decir imaginando que todas las tareas son realizadas por una sola persona en forma consecutiva. Inevitablemente luego vienen las discusiones cuando se pretende usar la matemática para hacer razonamientos como: "Si la estimación da 12 meses/hombre, entonces con 12 personas lo finalizamos en un mes", NOOO!!!.
En mi opinión ese cálculo simplificado no aplica en éste contexto, intervienen muchas mas variables, como por ejemplo la metodología a usar y la experiencia de las personas.

Generalmente cuando nos enteramos de nuevos proyectos, los vendedores ya han dicho "amén" a todos los requerimientos de los clientes, inclusive prometiendo plazos de entrega sin haber evaluado la factibilidad técnica. Así es como fracasan los proyectos, si desde que comenzamos a desarrollar ya estamos atrasados, los problemas no van a tardar en aparecer.
Seguramente la mayoría hemos pasado por ésto y lo seguiremos sufriendo si quienes se dedican a vender software no encuentran la manera de explicarle a los los clientes que no se trata de "soplar y hacer botellas", mas allá de las urgencias reales que puedan tener.

2 comentarios:

Anónimo dijo...

muy bueno tu blog... me aclaro varias dudas

Federico Varela dijo...

Gracias, es un incentivo para seguir escribiendo.