El costo de nuestros proyectos de software – Sacar el mejor provecho según el tipo de contrato

Creo que el software y su faceta de intangible no es el problema en si mismo, sino la incapacidad que tenemos de generar modelos, métodos y técnicas de estimación en nuestra organización, que nos ayuden en esta problemática.

Las organizaciones, principalmente las PyMEs no tienen un interés bien marcado en desarrollar un estudio de sus fuerzas de producción, de los modos de utilización de sus recursos humanos y tecnológicos, y de esa manera reconocer su tiempo de respuesta, su grado de calidad, su efectividad en las soluciones generadas. Esto lleva a La Gerencia a tener creencias infundadas para establecer los contratos con sus respectivos costes y tiempos de finalización.

Las consecuencias de trabajar bajo creencias y sin lo empírico de un modelo propio de estimación, son catastróficas, principalmente para el equipo de proyecto que normalmente se encuentra ante un proyecto "vencido antes de iniciar". Hay que inyectar horas hombre para corregir los desvíos embebidos al proyecto durante los negociados de nuestros comerciales y gerentes.

En mi experiencia personal, me ha tocado trabajar en proyectos "perfectamente estructurados", bajo metodologías Waterfall y con amplio detalle previo al desarrollo y obtener al final resultados poco deseables, donde hubo que utilizar horas de la franja de garantía y soporte, para corregir los desvíos. Esto implicó decir verdades parciales a los clientes y entregar versiones incompletas, con deuda técnica que se fue corrigiendo en desfase.

También me ha tocado trabajar bajo metodologías Agile con requisitos mucho menos detallados, con planificaciones flexibles y dinámicas obtenidas casi instantáneamente en las reuniones del equipo de trabajo y también obteniendo en la mayoría de los casos un cierto porcentaje de error en lo que se entrega.

En ambos casos el fracaso es inminente, pero lo importante de ambas situaciones, es a cual le puede sacar mejor provecho.

Entonces aquí el dilema de los tipos de contratos, donde claramente puedo diferenciar, por un lado contratos rígidos orientados al control de los hitos según la planificación Waterfall, cuyos productos/servicios tienen una alta probabilidad de ser menos apreciado por nuestro cliente al ser recibido y un alto esfuerzo de parte del proveedor para re establecer cursos del proyecto en etapas tardías, respondiendo con horas de garantías y soporte para ser utilizadas en desarrollo de correcciones o modificaciones.

A este tipo de proyectos, bajo este tipo de contratos, independientemente de la planificación detallada e inclusive de una ponderación de costos bastante bien aproximada, es difícil añadirle valor agregado.

Por otro lado están los "contratos incrementales" (acabo de inventar el término) que no facilitan el control hito por hito, pero si implican entregas a corta data, donde el cliente ya puede ir valuando sus productos/servicios en porciones que puede modificar, agregar o descartar y el proveedor obtiene un feedback casi inmediato y puede ejecutar correcciones sobre el curso de los proyectos, hacerlos crecer o disminuirlos dinámicamente, según el contexto contractual.

Entiendo que para este tipo de contratos, las estimaciones y ponderación de los costos del proyecto tienen que ser obtenidas de una manera distinta, pero igual de empírica que con otros tipos de contratos.

Como ventajoso, veo que para cada incremento del producto/servicio, el valor agregado puede ser sustancialmente más alto cada vez que se entrega, principalmente al encontrarnos en etapas cercanas a la finalización del proyecto, donde la expectativa de cierre es alta, la tasa de errores ha caído abrumadoramente y las fases de garantías y soporte recién comienzan a ser negociadas, donde tal vez ya se está negociando la versión posterior.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s