Los casos de uso no deberían quedar congelados después de la primera versión. En un proyecto real, los procesos cambian, aparecen nuevas reglas de negocio, se detectan excepciones, se incorporan usuarios y el sistema evoluciona.
Por eso, mantener los casos de uso es tan importante como escribirlos correctamente al inicio. Un caso de uso desactualizado puede confundir al equipo, generar pruebas incorrectas y provocar decisiones basadas en información vieja.
El mantenimiento consiste en revisar, actualizar y controlar los cambios para que la documentación siga representando el comportamiento esperado del sistema.
Un caso de uso puede cambiar por muchas razones. Algunas provienen del negocio y otras surgen durante el desarrollo o las pruebas.
Estos cambios son normales. El problema no es que los casos de uso cambien, sino que cambien sin control.
Mantener un caso de uso no implica empezar de cero cada vez que aparece una modificación. En la mayoría de los casos alcanza con ajustar una regla, agregar una precondición, aclarar un paso, corregir un flujo alternativo o actualizar el resultado esperado.
La clave es identificar qué parte del caso de uso fue afectada y modificar solo lo necesario, sin perder consistencia con el resto del documento.
La evolución de un caso de uso suele comenzar con una necesidad de cambio. Esa necesidad se analiza, se determina su impacto, se modifica la especificación, se valida la nueva versión y se comunica al equipo. Si el cambio afecta pruebas, diseño o desarrollo, también deben actualizarse esos elementos relacionados.
Cada caso de uso debería tener una versión identificable. Esto permite saber cuál es la especificación vigente y evita que distintas personas trabajen con copias diferentes.
Una forma simple de controlar versiones es registrar:
Este registro no necesita ser complejo, pero debe ser claro y fácil de consultar.
Cuando cambia un caso de uso, puede ser necesario actualizar otros elementos del proyecto. Por ejemplo, un cambio en el flujo principal puede afectar casos de prueba, prototipos de pantalla, historias de usuario, diagramas, reglas de negocio o tareas de desarrollo.
Por eso, antes de aceptar una modificación conviene analizar su impacto. Un cambio pequeño en apariencia puede provocar efectos importantes si modifica una regla central del sistema.
La trazabilidad permite responder preguntas como: ¿por qué se modificó este caso de uso?, ¿quién pidió el cambio?, ¿qué prueba se actualizó?, ¿qué pantalla fue afectada?
No siempre hace falta una herramienta compleja. En proyectos pequeños puede alcanzar con una tabla de cambios. En proyectos más grandes puede utilizarse un sistema de gestión de requisitos, tareas o incidencias.
Durante la evolución, un caso de uso puede crecer demasiado. Si acumula muchos objetivos, demasiados flujos alternativos o reglas que pertenecen a procesos distintos, puede ser conveniente dividirlo.
La división ayuda cuando cada parte tiene un objetivo propio, puede ejecutarse de manera independiente o es usada por actores diferentes.
También puede ocurrir lo contrario: varios casos de uso muy pequeños describen fragmentos inseparables de una misma interacción. En ese caso, mantenerlos separados puede generar repetición y confusión.
Conviene unir casos de uso cuando comparten el mismo objetivo, el mismo actor principal y forman parte de una única conversación funcional con el sistema.
Si aparece un nuevo actor o cambia la responsabilidad de uno existente, se debe revisar qué casos de uso puede iniciar, en cuáles participa y qué permisos necesita.
Por ejemplo, si en un sistema de turnos se agrega el actor Recepcionista, puede ser necesario modificar casos de uso como Registrar paciente, Solicitar turno, Cancelar turno o Consultar agenda.
Las reglas de negocio suelen ser una de las principales causas de modificación. Un caso de uso puede cambiar si se modifica una política de aprobación, un límite, una condición, un cálculo o una validación.
Cuando una regla cambia, no alcanza con editar una frase. Hay que revisar si afecta precondiciones, pasos del flujo principal, flujos alternativos, excepciones y resultados esperados.
Durante el desarrollo o las pruebas pueden aparecer errores en la especificación: pasos ambiguos, datos faltantes, condiciones contradictorias o excepciones no contempladas.
Estos hallazgos deben corregirse en el caso de uso, no solo comentarse informalmente. Si el documento queda desactualizado, el mismo error puede repetirse en futuras modificaciones.
Para mantener ordenado el conjunto de casos de uso, conviene indicar el estado de cada uno. Algunos estados posibles son:
Una tabla sencilla puede ayudar a mantener el control de la evolución.
| Versión | Fecha | Cambio realizado | Motivo | Responsable |
|---|---|---|---|---|
| 1.0 | 10/04 | Creación del caso de uso | Definición inicial | Analista |
| 1.1 | 15/04 | Se agregó flujo alternativo por datos inválidos | Observación de pruebas | Tester |
| 1.2 | 20/04 | Se modificó una regla de aprobación | Cambio de negocio | Responsable del área |
El mantenimiento de los casos de uso permite que la documentación siga siendo útil durante todo el ciclo de vida del software. No se trata de escribir documentos extensos, sino de conservar una descripción confiable del comportamiento esperado del sistema.
Cuando los casos de uso se actualizan con criterio, el equipo puede tomar mejores decisiones, reducir malentendidos y mantener alineados requisitos, diseño, desarrollo y pruebas.