Buscar en Gazafatonario IT

domingo, abril 08, 2012

Casos de Uso 2.0

Recientemente, Ivar Jacobson, junto a Ian Spence y a Kurt Bittner, publicó el eBook "Use Case 2.0", sobre las buenas prácticas alrededor del uso de los casos de uso.

Lo primero que debemos decir es precisamente eso: Casos de Uso 2.0 se trata de una práctica para capturar requisitos y guiar la construcción del software. El corazón de esta técnica es, por supuesto, el caso de uso, tal y como lo conocemos. Y también las Historias de Usuario. Y más que el caso de uso o la historia de usuario, la esencia es la “porción del caso de uso” que, como su nombre lo indica, es apenas una parte cardinal del caso de uso. En palabras de los autores, “una porción de caso de uso no necesariamente contiene un flujo completo” y mucho menos un caso de uso completo. Es más bien una parte de funcionalidad con valor para el usuario y que puede servir para la versión o incremento actual del software.

Precisamente, otro concepto importante de esta técnica es la evolución incremental del producto, derivado directamente del concepto anterior. En general, “el sistema debería ser construido por partes, donde cada una de las cuales tenga un valor claro para sus usuarios”.

Según el Dr. Jacobson y compañía, la receta es sencilla: primero se identifica la función más útil que el sistema debe hacer y nos enfocamos en ello. Este es el principio de “enfocarse en el valor”. Luego tomamos esa función más útil y la dividimos en porciones más pequeñas. Y después seleccionamos la porción más importante, una que “viaje” a través de todo el concepto de principio a fin, o lo más cercano que se pueda. Con el equipo de trabajo, estimamos el desarrollo y comenzamos a construir. Luego adicionamos los casos de prueba previamente definidos para esa porción y ya está.

Ahora repetimos eso mismo mientras haya más porciones y más casos de uso que dividir. Así, el sistema lo vamos entregando por incrementos* (principio 5). “Cada incremento se construye sobre el incremento previo para adicionar más funcionalidad o mejorar la calidad de lo que se ha hecho antes. Esta es la forma en que todos los sistemas deberían ser producidos.”

En breve, Casos de Uso 2.0 es una práctica liviana, escalable, versátil y fácil de usar, producto de muchos años de experiencia no solo de los autores sino de la comunidad del software en general. El documento comienza presentando los principios básicos o “Primeros Principios”:

1. Mantenerlo simple contando historias
2. Entender el cuadro completo
3. Enfocarse en el valor
4. Construir el sistema por partes
5. Entregar el sistema en incrementos
6. Adaptarse para cubrir las necesidades del equipo

Y luego se enfoca en el contenido de la práctica en sí (cosas con las cuales trabajar, artefactos de trabajo o productos, y cosas por hacer). También presenta de manera sucinta como debemos usar esta técnica. En este apartado, nos dicen que Casos de Uso 2.0 es para todo tipo de sistemas; que es para manejar todo tipo de requisitos, incluyendo los no funcionales; que puede aplicarse con cualquier estrategia de desarrollo o método; y que la podemos escalar para cubrir todas nuestras necesidades en materia de desarrollo de software.

¿Panacea? ¿Solución definitiva? ¿Bala de plata? Todavía no sabemos. Como dije antes, Casos de Uso 2.0 no es algo totalmente novedoso – aunque sí introduce algunos conceptos poco explorados –, sino que reúne los mejores hábitos en materia de captura, documentación, clasificación y administración de requisitos con casos de uso, y de desarrollo de proyectos de software iterativos e incrementales*.

¿Comentarios?

Salud@s,

Lucho

*Sobre este asunto los invito a leer mi artículo "Gerencia de Proyectos Iterativos" en la revista de la Asociación Española de Profesionales en Dirección de Proyectos.

El artículo lo encuentran en en enlace adjunto.

También pueden bajar la revista completa en http://aepdp.es/project-management-iberoamericano.

3 comentarios:

  1. Entonces la idea de este articulo es dividir tus casos de usos lo mas que puedas e ir resolviendo desde el corazon hasta la coraza, supongo que si divides mucho y sin control seria un gran problema entonces hay que tener mucho cuidado. Muy bueno eso de entregar por incremento el producto

    ResponderBorrar
    Respuestas
    1. Yordis, la idea efectivamente es dividir los casos de uso en porciones de casos de uso, con lagunos criterios, por ejemplo, el valor de cada porción para el negocio, eso lo más importante. Y hay que hacerlo de manera controlada y eficiente, teniendo en cuenta la complejidad del producto que se está construyendo y las expectativas del usuario.

      Borrar
  2. Divide y vencerás! Creo que hay que tener especial cuidado en identificar que agrega valor al usuario, para no caer en un cantidad grande de casos de usos pequeño que se desarrolle "en cascada" y terminemos en lo mismo!

    ResponderBorrar