archivo

Archivos diarios: noviembre 30, 2012

Una buena estimación es fundamental en los proyectos de desarrollo de software ya que condicionan en gran medida su éxito.

Lo primero que hay que tener en cuenta es que resulta prácticamente imposible acertar en una estimación cuando todavía ni siquiera se ha comenzado a trabajar en el proyecto. La experiencia, el conocimiento del cliente, de la tecnología pueden minimizar el error que, sin duda, se producirá.

Esto que es algo evidente y que se repite una y otra vez y debería estar siempre presente tanto para clientes como para proveedores, para entender que lo realmente importante es el valor del producto, un valor que se sitúe o supere el de las expectativas puestas en él y que sea adecuado a la inversión que se está realizando. Siempre te queda la posibilidad de engañarte pensando que vas a cumplir con una agenda absolutamente irreal porque si la desviación en la estimación es sensible alguien la terminará pagando, cuando no todos: cliente, proveedor y producto.

¿Entonces qué hacer? Lo primero es saber qué quiere el cliente, ¿realmente apuesta por el valor o por la agenda? Reconozco que es complicado poner encima de la mesa la necesidad de presupuestos abiertos sobre todo cuando pueden tener la agenda amarrada contractualmente y todavía más cuando hay proveedores dispuestos a firmar y a comprometerse con lo que sea (otra cosa bien distinta es que después cumplan algo).

El gran error de los clientes es pensar que la orientación al cumplimiento de agendas solo ata al proveedor y no es así, también le ata a él. Tanto si abordas un enfoque clásico o divides el proyecto en fases (que no es lo mismo que aplicar un enfoque iterativo incremental) estás sometiendo el producto a las especificaciones que se realicen antes de la etapa de construcción, limitando el valor del producto a las mismas y sin poder incrementarlo a través del feedback.

En el momento en el que el cliente empieza a modificar requisitos en etapas tardías ya está rompiendo las condiciones iniciales, como esos requisitos se añaden sin orden y sin organización, el coste sobre el producto y el impacto sobre la agenda es importante.

Sin embargo, si desde el principio se sigue un enfoque iterativo incremental, con una adecuada priorización de las funcionalidades y aprovechando el feedback del usuario (fruto de un conocimiento cada vez mayor de qué es lo que quiere), se conseguirá un mejor aprovechamiento de los recursos económicos ya que se ha desarrollado con una mayor intención y el producto tendrá un mayor valor.

A priori no se sabe el número de iteraciones necesarias ya que el usuario puede equivocarse, puede cambiar de enfoque, pueden cambiar las condiciones y sea necesario adaptarnos al cambio, puede que el umbral de valor aceptable del producto varíe, por ese motivo es fundamental dejar la puerta abierta a ampliaciones presupuestarias.

Anuncios