lunes, 2 de marzo de 2015

¿Cómo han de ser los incrementos resultantes de un sprint?

Primero recordar que el incremento es la suma de todos los elementos de la pila de producto producida durante un sprint. Este debe de estar completamente terminado, ser operativo y ha de ser potencialmente entregable al cliente independientemente de que el Propietario del Producto decida o no liberarlo a producción.

Como terminado se entiende que el incremento se basa en un código probado, bien estructurado y bien escrito y que se ha compilado en un ejecutable. Si el proyecto o el sistema requieren documentación técnica, archivos de ayuda, documentación para el usuario, procesos de validación y verificación documentados u otros requisitos adicionales del producto, todo ello debe de estar hecho conforme se recoge en los criterios de hecho (DoD).

Ilustración tarta a porciones, de Sabrosa Alquimia
Esto implica que la arquitectura y el entorno técnico para poder ejecutar ese incremento deben de estar incluidos, pero sólo lo necesario para el sprint y los anteriores. Por ejemplo cuando desarrollemos un primer incremento este debe de incluir lo necesario para que se pueda ejecutar, pero no mucho más allá. Quizá así incurramos en deuda técnica de escalabilidad, pero focalizarnos en nuestro incremento y construir sólo donde la incertidumbre es baja, nos hace ser ágiles. Probablemente habremos de incluir la deuda técnica en un futuro sprint, pero cuando lleguemos, no antes.

Una forma de imaginarnos los incrementos de Scrum es como si construyéramos una tarta a partir de sus porciones. La idea es entregar porción (incremento) tras porción dónde cada una tiene una base de bizcocho (arquitectura, entorno técnico), su relleno (funcionalidades) y su decoración (documentación). Por tanto los incrementos han de ser lonchas verticales en la medida de lo posible, a diferencia del desarrollo de proyectos bajo metodología tradicional donde se suele planificar y desarrollar horizontalmente por capas (capa de base de datos, capa de negocio, capa de presentación...).


Siguiendo con la analogía de la repostería, la división vertical de un producto no sólo permite construir los incrementos guiados por valor, sino también nos da la oportunidad de ir adaptándonos hasta el punto poder crear otras funcionalidades, otros postres muy distintos, como los muffins por ejemplo, a partir de los mismos ingredientes que tenemos disponibles.

Quiero dar mis agradecimientos a mi mujer María por abrirme a la repostería, y por la foto del post, y a José López por algunas ideas recogidas en el mismo.

No hay comentarios:

Publicar un comentario