Ir al contenido
wannacode

Cuando un requisito cambia

En resumen: Los requisitos cambian, y es normal. Lo peligroso es que un cambio pase sin registro. El análisis de impacto parte del requisito cambiado y sigue la matriz hasta las pruebas y los requisitos dependientes. Un requisito tiene versiones, y la línea base es el conjunto acordado de versiones contra el que trabaja el equipo. Un cambio posterior pasa por una solicitud, una evaluación y la aprobación de quien responde del requisito.

Problema

La prueba que «se equivocó»

El lunes, en una reunión, marketing dice: «Desde hoy el envío gratis empieza en 60 €». El programador cambia el número ese mismo día.

El martes falla la prueba «Un carrito de 50,00 €: el envío es gratis». QA registra un defecto: «El envío es de 4,90 € para un pedido de exactamente 50,00 €». El programador lo cierra: «Eso es lo que se pidió». QA pregunta: «¿Dónde está escrito?». En ninguna parte. El requisito sigue diciendo 50 €, y la página de ayuda del sitio también.

Dos días discutiendo de quién es la versión correcta. El cambio no estaba mal. Lo que estaba mal es que pasó sin registro.

La idea

Análisis de impacto

Antes de que algo cambie, preguntas: ¿qué más depende de ello? Esto es el análisis de impacto. La matriz de la lección anterior lo hace rápido:

  1. Busca la fila del requisito cambiado.
  2. Cada marca de la fila es una prueba que hay que revisar.
  3. Para cada una de esas pruebas, decide: cambia, queda igual o ya no hace falta.
  4. Pregunta qué pruebas nuevas necesita la regla nueva.

«Revisada» no significa «cambiada». El umbral pasa a 60 €. «Un carrito de 120,00 €: el envío es gratis» se revisa y queda igual. «Un carrito de 50,00 €» cambia: ahora es 4,90 €. Y hacen falta dos pruebas nuevas, en el límite nuevo: 59,99 € y 60,00 €.

Más allá de las pruebas, el impacto llega también a otras cosas: la pantalla del carrito, la página de ayuda, la publicidad, el informe de contabilidad. La matriz muestra las pruebas. El analista conoce el resto, y a menudo también las partes interesadas.

Pruébalo

El plazo de devolución pasa a 30 días

Marca los vínculos. Después, en el segundo paso, elige qué pruebas hay que revisar por el cambio.

Tests

  • T-1: Recibido el 1 de octubre, devolución solicitada el 15 de octubre: aceptada.
  • T-2: Recibido el 1 de octubre, devolución solicitada el 16 de octubre: rechazada.
  • T-3: Un pedido enviado, aún no entregado: la devolución se rechaza.
  • T-4: Un pedido pagado, aún no enviado: la cancelación se acepta.
  • T-5: Un pedido enviado: la cancelación no se acepta.
  • T-6: Un pedido entregado, devolución al quinto día: aceptada.

Pulsa la celda donde el test comprueba el requisito; otra vez para quitar la relación. Las flechas se mueven entre las celdas, Espacio o Enter marca.

RequisitosT-1: Recibido el 1 de octubre, devolución solicitada el 15 de octubre: aceptada.T-2: Recibido el 1 de octubre, devolución solicitada el 16 de octubre: rechazada.T-3: Un pedido enviado, aún no entregado: la devolución se rechaza.T-4: Un pedido pagado, aún no enviado: la cancelación se acepta.T-5: Un pedido enviado: la cancelación no se acepta.T-6: Un pedido entregado, devolución al quinto día: aceptada.Cubierto por
R-1 Un producto se puede devolver dentro de 14 días desde que se recibe.0
R-2 Solo se puede devolver un pedido entregado.0
R-3 Un pedido pagado se puede cancelar antes de enviarse.0
R-4 Un pedido enviado no se puede cancelar.0
Comprueba000000

La idea

Los requisitos dependen unos de otros

A veces el cambio está en un requisito, pero el número está también en otro. El umbral de 50 € está en dos frases:

  • R-1: el envío es gratis para un pedido desde 50,00 € inclusive;
  • R-2: por debajo de 50,00 € el envío cuesta 4,90 €.

Cambias R-1 a 60 €, y R-2 se queda en 50 €. Ahora un pedido de 55 € no es gratis ni está por debajo de 50 €. Los dos requisitos se contradicen.

Por eso el análisis no se detiene en la fila de la matriz. Pregunta también qué requisitos dependen del cambiado. Una lista bien llevada registra también estos vínculos, entre los requisitos. Entonces R-2 sale solo en el análisis, y con él sus pruebas.

La idea

Versiones y línea base

Un requisito no se sobrescribe. Recibe una versión nueva:

Requisito Versión Texto Desde Lo decidió
R-1 1 envío gratis desde 50,00 € 1 de marzo el dueño
R-1 2 envío gratis desde 60,00 € 16 de noviembre el dueño, a petición de marketing

La versión antigua se queda. Un cliente con un pedido de 55 € de la semana pasada tiene derecho al envío gratis: según la versión 1, que regía entonces.

La línea base (baseline) es el conjunto acordado de requisitos, cada uno en una versión exacta, contra el que trabaja el equipo. Por ejemplo, «los requisitos para el lanzamiento del 16 de noviembre». Las pruebas y la matriz se enlazan con ella: «T-1 comprueba R-1, versión 1». Cuando alguien dice «según los requisitos», la línea base responde a la pregunta «¿cuáles?».

Una vez acordada la línea base, un cambio no se hace en una reunión, con una sola palabra. Sigue un camino.

Más precisamente, para curiosos

IREB CPRE trata las versiones, las configuraciones y las líneas base en su capítulo sobre la gestión de requisitos. Una configuración es un conjunto de requisitos, cada uno en una versión. Una línea base es una configuración estable y acordada, a menudo para un lanzamiento, y cambia solo mediante el procedimiento de cambios establecido.

En el BABOK v3 las tareas relacionadas están en el área de conocimiento Requirements Life Cycle Management: Maintain Requirements (los requisitos se mantienen correctos y con su historial) y Approve Requirements (el acuerdo y la aprobación tras los cuales los requisitos pueden usarse como base del trabajo). El término «línea base» se usa en ambos, con palabras algo distintas, así que aprende la definición del temario en cuyo examen te vas a presentar.

La idea

Quién aprueba el cambio

El camino de un cambio tiene tres pasos, y cada uno corresponde a una persona distinta:

  • Solicitud. Cualquiera puede pedir un cambio: marketing, un cliente, el almacén. El analista lo registra: qué, por qué, desde cuándo.
  • Evaluación. El analista, QA y los programadores dicen qué toca y cuánto cuesta. Este es el análisis de impacto.
  • Decisión. Decide la persona que responde del requisito y del presupuesto. En Scrum es el Product Owner. En una organización grande puede ser un comité de control de cambios (Change Control Board), con el negocio, los técnicos y QA.

Quien decide no es quien pide más alto, ni el programador que cambiará el número. Quien decide ve el coste y dice «sí», «no» o «sí, pero desde el mes que viene».

Esto es el control de cambios. En un equipo ágil es ligero: cambiar una historia que aún no está en curso es una conversación con el dueño y una línea nueva en la lista. Es pesado cuando se cambia algo que ya se ha acordado, construido o publicado.

Más precisamente, para curiosos

BABOK v3 describe la evaluación de los cambios como la tarea Assess Requirements Changes (en el área de conocimiento Requirements Life Cycle Management). Cómo se toman las decisiones sobre los cambios y quién los aprueba se acuerda antes, al planificar el gobierno de los requisitos (Plan Requirements Governance), y la aprobación es la tarea Approve Requirements.

IREB CPRE describe el comité de control de cambios y la solicitud de cambio como parte de la gestión de requisitos. Lo formal que sea el procedimiento depende del proyecto: en un ámbito regulado cada cambio lleva una firma, mientras que en un equipo pequeño bastan un registro y una conversación.

ISTQB CTFL v4.0.1 (sección 1.4.4) enumera el análisis de impacto de los cambios entre los beneficios de la trazabilidad.

Pruébalo

El camino de un cambio

Ordena el camino del cambio del umbral, desde la solicitud hasta el lanzamiento.

  1. Las pruebas cambian, el programador cambia el umbral y todo pasa
  2. El cambio entra en servicio en la fecha de la versión nueva
  3. El requisito recibe una versión nueva y se actualiza la línea base
  4. Análisis de impacto: requisitos, pruebas, pantallas, textos
  5. El analista registra la solicitud de cambio
  6. Marketing quiere que el umbral del envío gratis pase a 60 €
  7. El dueño del producto decide, viendo el coste

Ejercicio

El umbral pasa a 60 €

1. El umbral del envío gratis. El cambio está en R-1, pero no solo allí.

Marca los vínculos. Después elige qué pruebas hay que revisar cuando el umbral pasa a 60 €. Fíjate en dónde más aparece el número 50.

Tests

  • T-1: Un carrito de 50,00 €: el envío es gratis.
  • T-2: Un carrito de 49,99 €: el envío cuesta 4,90 €.
  • T-3: Un carrito de 120,00 €: el envío es gratis.
  • T-4: Un carrito sin productos: el pedido se rechaza.
  • T-5: El carrito tiene 10 camisetas. Añadir una más se rechaza.
  • T-6: Un carrito de 55,00 €: el envío es gratis.

Pulsa la celda donde el test comprueba el requisito; otra vez para quitar la relación. Las flechas se mueven entre las celdas, Espacio o Enter marca.

RequisitosT-1: Un carrito de 50,00 €: el envío es gratis.T-2: Un carrito de 49,99 €: el envío cuesta 4,90 €.T-3: Un carrito de 120,00 €: el envío es gratis.T-4: Un carrito sin productos: el pedido se rechaza.T-5: El carrito tiene 10 camisetas. Añadir una más se rechaza.T-6: Un carrito de 55,00 €: el envío es gratis.Cubierto por
R-1 El envío es gratis para un pedido desde 50,00 € inclusive.0
R-2 Por debajo de 50,00 € el envío cuesta 4,90 €.0
R-3 Un carrito vacío no se puede pedir.0
R-4 En el carrito hay como mucho 10 unidades de un producto.0
Comprueba000000

Test

Ponte a prueba

1. Un requisito cambia. ¿Por dónde empieza el análisis de impacto?
2. El umbral pasa a 60 €. La prueba «Un carrito de 120,00 €: el envío es gratis» está en el análisis de impacto. ¿Significa eso que cambiará?
3. ¿Qué es la línea base?
4. ¿Quién aprueba el cambio del umbral del envío gratis?
5. ¿Por qué un requisito conserva su versión antigua después de cambiarse?

Creado por Ivo Gergov como parte de la campaña de Evo Tech por una educación accesible en programación ·