La dura tarea de estimar
Escrito por E. Sebastian Melgin   
Indice del artículo
La dura tarea de estimar
Juicio Experto
métodos algorítmicos
máquinas que aprenden
Todas las páginas

La precisión en la estimación de tiempos en proyectos de SW siempre ha sido un problema. Muchas fábricas de software siguen incluso utilizando el método mas difundido, conocido como el del "pulgar oscilante", una satírica forma de referirse a comparaciones históricas primitivas y sin documentación, que siempre terminan en diferencias críticas con la realidad. En este artículo haremos un repaso de las técnicas documentadas y mas conocidas acerca de la estimación de tiempos en proyectos de SW y veremos un caso práctico.

Estimación del esfuerzo

Uno de los aspectos cruciales en la planificación y gestión de un proyecto, es comprender cuál será el costo probable de éste. Los costos excedidos pueden causar que los clientes cancelen proyectos y los costos subestimados pueden forzar al equipo del proyecto a invertir gran parte de su tiempo sin compensación financiera. Niguno de los dos extremos es beneficioso para nadie: el primero hace peligrar la existencia misma del proyecto, el segundo, también, porque los recursos humanos se desmotivan y encuentran otros proyectos mas interesantes y se van. A veces no es problema, pero a veces conseguir un especialista cuesta mucho tiempo y dinero.

Como se ve en el cuadro debajo, hay muchas razones por las que se hacen estimaciones incorrectas.

 

Causas de las estimaciones inadecuadas

Lederer y Prasad (1992) investigaron las prácticas de estimacián de costos de 115 organizaciones diferentes. El 35% de los gerentes examinados con la escala de Likert de cinco puntos, indicaron que sus estimaciones fueron "moderadamente insatistactorias" o "muy insatisfactorias". Las causas clave identificadas por los que respondieron, incluyeron:

  • pedidos frecuentes de cambio por parte de los usuarios
  • tareas pasadas por alto
  • pérdida de la comprensión de los usuarios de sus propios requerimientos
  • análisis insuficiente cuando se desarrolla una estimación
  • pérdida de coordinació del desarrollo de sistemas, servicios tecnicos, operaciones, administracion de datos y otras funciones durante el desarrollo.
  • pérdida de un método adecuado o guias para la estimación
  • complejidad del sistema de aplicación propuesto
  • integración requerida con sistemas existentes
  • complejidad de los programas en el sistema
  • dimensión del sistema expresada como número de funciones o programas
  • capacidades de los miembros del equipo de proyecto
  • experiencia del equipo de proyecto con el lenguaje de programación
  • sistema de gestión de bases de datos
  • número de miembros del equipo de proyecto
  • extensión de estándares de la programación o documentación estándar
  • disponibilidad de herramientas tales como generadores de aplicación
  • experiencia del equipo con el hardware



Algunas veces, hay costos ocultos que no son aparentes para los gerentes y desarrolladores.Por ejemplo, los estdios indican que un programador necesita una cantidad mínima de espacio y silencio para ser capaz de trabajar eficientemente.

Otros costos del proyecto involucran la adquisición de software y de herramientas para dar soporte a los esfuerzos de desarrollo, como por ejemplo, SW para captura de requerimientos, SW para organización de la documentación, para pruebas a la codificación, para seguir la pista de los cambios, generar datos de prueba, dar soporte a las reuniones del grupo, dar soporte a los usuarios durante el proceso de implementación y estabilización, etcétera. Estas herramientas, a veces llamadas CASE (Computer Aided Software Engineering) pueden ser estándares del proceso de la compañía.

Pero para la mayoría de los proyectos, la mayor componente del costo es el esfuerzo.Se debe determinar cuántos dias-persona, se requerirán para completar el proyecto. Y este es el componente del costo con mayor grado de incertidumbre.

Los estilos de trabajo, los estilos de organización del proyecto, la habilidad, el interés, la experiencia, el entrenamiento y otras características de los empleados, tales como la comunicación del equipo, pueden afectar críticamente el tiempo requerido para completar un proyecto.

Para ocuparse de la necesidad de producir estimaciones precisas, los ingenieros de SW han desarrollado técnicas para capturar la relación entre el esfuerzo y las características del personal, los requerimientos del proyecto y otros factores que puedan afectar el tiempo, el esfuerzo y el costo de desarrollar software.



 

Espacio publicitario

Links destacados:
Ermes
Ermes consulting, el socio estratégico para los negocios de alto rendimiento.
Incidencia
Incidencia.net, la consultora de Recursos Humanos estratégicos en Argentina.
Slashdot
Slashdot, News for nerds, stuff that matters...
Gantthead.com
Gantthead, el sitio en ingles mas completo para los Project Managers.