Make Text BiggerMake Text SmallerReset Text Size
Contratos para desarrollo ágil Imprimir E-mail
Valoración del artículo: / 7
MaloBueno 
17.06.2007

contratoSobre requisitos estables y detallados, poner fecha y precio a un contrato puede ser más o menos complicado, pero sólo se trata de calcular esfuerzo y planificar trabajo.

Hacer lo mismo con requisitos inestables y sin certeza de la forma final del producto no es cuestión de ciencia, sino de mancia.

... ¿Por qué no tenemos requisitos detallados al empezar?

¿Porque necesitamos descubrirlos durante del desarrollo para mejorar de forma continua la visión del producto?.

¿Porque es un entorno de negocio muy inestable y en continuo cambio?...
O porque hemos decidido trabajar con un modelo ágil, y en los modelos ágiles no hay que planificar ni hacer requisitos detallados.

Si es por la última razón, quizá deberíamos analizar nuestros impulsos metodológicos.

Si el sistema se puede definir de forma completa, y previsiblemente estable, resulta más eficiente la gestión predictiva: trazar un plan y considerar a las modificaciones de requisitos como "incidencias" que se gestionarán con ingeniería clásica de requisitos.
Y como en este caso tendremos un cliente capaz de definir con detalle el resultado que desea, también querrá un contrato que le diga cuándo y por cuánto le va a salir: un contrato de obra que pueda revisarse si las partes acuerdan incluir tras la firma, modificaciones de requisitos con impacto significativo sobre los compromisos firmados.

Pero si se van a estar modificando los requisitos de forma continua, no es realista tomar como fiable un plan inicial; y si en esto no están de acuerdo cliente y proveedor, malamente podrán encajar de forma coherente sus respectivas responsabilidades de adquisición y suministro.

La idea es formalizar con contratos de obra los proyectos de requisitos cerrados, y con contratos de servicio los proyectos ágiles.

Es un planteamiento realista, pero también excesivamente simplista, porque los proyectos no son, o de la clase blanca, o de la negra. O "estos son los requisitos y ya no van a cambiar" o "ya te iré diciendo cada día lo que tienes que programar".

La forma de un contrato ágil es peliaguda, porque se trata de un equipo de trabajo, cliente incluido, que replantea en ciclos muy cortos cómo debe ser el producto. Parece por tanto razonable darle forma contractual de servicio, y cobrar al cliente por los recursos que consume durante el tiempo acordado.

Pero... ¡qué miedo para el cliente! ¿no?. En primer lugar, suponiendo que sea conocedor de la diferencia entre previsión y agilidad, y que reconozca que a su producto le conviene un modelo de desarrollo ágil;  ¿se fiará y dirá:? "vale: yo contrato los servicios de un equipo de x técnicos + 1 Scrum Manager, pago tanto, y en el contrato no ponemos nada de qué tendré ni en qué fechas; que eso lo iremos descubriendo por el camino. (?¿?¿)".

A mi se me ocurren dos formas de abordar este tipo de contratos:

1.- Si se trabaja con un proveedor o un equipo no contrastado, o en un proyecto que, aun teniendo un nivel alto de inestabilidad, permite fijar requisitos para iteraciones de desarrollo de un par de meses, se puede diseñar un marco contractual de servicio que fije el nivel de recursos y costes, con cláusulas que definan la creación de anexos periódicos (uno por iteración). En estos anexos las partes irán incluyendo los requisitos de cada iteración. Lo que en scrum sería la pila del sprint.

2.- Un contrato de servicio.
Si se trabaja con un equipo contrastado (incluido el propietario del producto), el contrato de servicio es la opción más ágil, que permitirá hacer iteraciones tanto de 2 como 8 semanas, replantear el producto o las fechas de cierre de versiones...

AddThis Social Bookmark Button

 

 

Comentarios (5)Add Comment
Esto me suena...
escrito por Joserra, June 18, 2007
Pues lo hemos comentado y discutido en la empresa hace poco todo este tema. El pricnipal escollo, es que es muy dificil vender por lo que tu supones en una frase: "suponiendo que sea conocedor de la diferencia entre previsión y agilidad, y que reconozca que a su producto le conviene un modelo de desarrollo ágil" ... ! ahí es nada !
Por otro lado, desde el lado más desarrollador que todos tenemos smilies/smiley.gif vemos que realmente en muchos proyectos es lo más útil para el cliente, y lo más ventajoso para el desarrollo. Pero que es muy dificil venderlo. Se puede llegar a plantear en proyectos con clientes de muchos años , experiencia y confianza, pero raramente como punto de entrada en un negocio.

Sobre los dos formas de contrato que mencionas,... ¿alguna vez has visto uno así para desarrollos informáticos? ¿la plasmación real de una metodología ágil en un contrato entre dos partes?
Informar de comentario inadecuado
voto negativo
voto positivo
Votes: +0
Ejemplo de Proyecto Ágil
escrito por Miguel, June 18, 2007
¿Me podéis poner un ejemplo de un Proyecto que parta desde cero donde los requerimientos sean tan volátiles que la mejor forma de atacar el problema sea mediante un desarrollo ágil?

Ante proyectos que ya estén en producción y para los que se necesiten crear nuevos módulos, o tal vez añadir una serie de nuevas mejoras, o al intentar sacar a flote una aplicación que está colapsada por errores, veo el usar un desarrollo ágil una solución estupenda.

Pero ante un desarrollo que parta totalmente desde cero, se me hace muy difícil el imaginar plantear todo de forma ágil, sin una base mínima de conocimiento. Una serie de casos de uso base que se tenga que cumplir y que deja a la aplicación en una fase mínima a partir de la cual el cliente pueda empezar a trabajar. Y luego, una vez puesta en producción, atacar las sucesivas mejoras de forma ágil.

Informar de comentario inadecuado
voto negativo
voto positivo
Votes: +0
Re: ... sí, suena en todas las empresas ... y un caso de ejemplo
escrito por Juan, June 18, 2007
Hola Joserra y Miguel

Desde luego Joserra que es difícil dar forma a un contrato que deje espacio para trabajar de forma ágil, y si el mismo Ken Schwaber en un apéndice de su segundo libro de scrum dice no tener solución para estos contratos...
Las dos líneas que apunto en el post no son porque haya visto contratos así, sino por compartir las dos líneas que considero en un proyecto para un sistema muy "incierto" que dirijo.

Como primera forma, y por trabajar con un proveedor de software sin contrastar, basarme en un modelo de servicio, pero definiendo para cada release del producto su duración y las funcionalidades esperadas.
Y Aun así está resultando algo rígido, porque planteamos releases de 2 ó 3 meses, y desde marketing surgen modificaciones para las que resultan demasiado largas; y si estuviéramos a lo estrictamente pactado, el proveedor (Innova en este caso) me diría que son cosas no contratadas.

Desde mi punto de vista, con un equipo conocido y contrastado y con implicación del cliente en el proyecto lo mejor sería trabajar directamente integrado en el equipo con un contrato de servicio.

Soy consciente de que como cliente soy una excepción, porque soy a la vez "cocinero" y "fraile", y desde esta experiencia dual es desde la que me parecen dos formas de las menos malas (por supuesto, la buena, buena yo no la conozco).


Y a lo que comentas, Miguel son los menos, pero cuando el sistema es novedoso, sin ningún referente anterior puede ser una decisión del propietario del producto. Como sería mi caso ahora: un servicio en Internet, del que no hay ninguna referencia porque es nuevo y no se ha prestado antes, y con carácter global.
Opción a) ante la responsabilidad de dar cuerpo a algo desconocido: requisitos sobre estudios de tendencia, tests y entrevistas con usuarios... algo que ya he experimentado y que fueron 6 meses de requisitos con consultores especializados en diseño de productos y un presupuesto que ni te cuento. El resultado fueron unas 800 páginas de documentación definiendo con nitidez como debía ser el sistema, e incluso vaticinando el uso que tendría. Hoy es un sistema de contabilidad ya desarrollado, que al ponerse en uso ha revelado cosas que no deberían ser así.
Opción b) (la que tomo ahora que en realidad no es por saber, sino por seguir aprendiendo). La visión de producto es muy amplia. Si opto por desarrollar requisitos estables con garantías para los inversores de que no son las primeras ideas de una persona, necesitaré algunos meses y una inversión en investigación de mercado.
Si opto por desarrollar las 3 funcionalidades básicas del producto, el 10% escaso de la visión inicial, y sobre eso empezar a armar en función de lo que puedo tocar y probar, y la respuesta que origina al ponerlo en el mercado en alfa, luego en beta, e ir creciendo de forma iterativa e incremental...
Bueno, pues esta es la segunda opción.
Este tipo de proyectos son minoritarios, pero los hay, y en cuanto "salga al ruedo" y no me lo impida el compromiso de confidencialidad con la firma que lo produce, por aquí lo veremos ( y espero que por muchos sitios de Internet ;-)

Quizá más que como ejemplo de un tipo de proyecto que lo necesita, es mas una decisión de negocio de ahorrar el tiempo de una investigación, que por la novedad no va a resultar más eficaz, ni menos costosa que comenzar a desarrollar e ir definiendo sobre líneas trazadoras.

Saludos
Informar de comentario inadecuado
voto negativo
voto positivo
Votes: +0
A mí también me suena :)
escrito por J. Babuglia, June 18, 2007
Me identifico totalmente con las cuestiones que plantea Joserra (¿quizá porque yo también estaba en esa discusión a la que hace referencia smilies/tongue.gif ?) También me parece muy juicioso, y creo que está en mente de muchos, lo que apunta Miguel. Es como la pescadilla que se muerde la cola: para que un cliente confíe en ti de cara a aceptar un marco de trabajo en el que las especificaciones del software no estén más que esbozadas parece que debe ser un cliente satisfecho, con el que ya se ha trabajado durante mucho tiempo, lo que nos llevaría a la situación que plantea Miguel, ¿cómo "arrancar" un proyecto bajo una metodología ágil, desde el principio? ¿Quizá mostrando "casos de éxito" a la empresa contratante de proyectos desarrollados con una metodología similar? ¿Y cómo tener casos de éxito si no conseguimos nuestro primer proyecto desarrollado bajo metodología ágil? Un gustazo leer este blog, saludos smilies/smiley.gif
Informar de comentario inadecuado
voto negativo
voto positivo
Votes: +0
Sobre vender Scrum
escrito por Nicolas Pérez, September 12, 2007
El tema de vender Scrum como un servicio a mi también me suena sensato, pero el drama siempre ha sido el escepticismo del cliente con una metodología ágil, hace poco leí la tesis de un informático, quien buscó parecidos entre scrum y el PMBOK (estandar internacional para la gestion de proyectos). y tomando como base el PMBOK hace una especie de conclusion de Scrum como una implementacion del PMBOK, o también se podía entender como una futura extension del PMBOK.
Informar de comentario inadecuado
voto negativo
voto positivo
Votes: +0

Escribir comentario
quote
bold
italicize
underline
strike
url
image
quote
quote
smile
wink
laugh
grin
angry
sad
shocked
cool
tongue
kiss
cry
reducir | aumentar

busy
 
< Anterior   Siguiente >


En Navegapolis
En Internet

Advertisement

Amigos de Navegápolis

Scrum Manager Colaborador

Área de descargas

Artículos relacionados

Registrado en Safe Creative