Tarea: Construir item del backlog
Objetivo
La construcción completa de un elemento del backlog del sprint y su integración con el incremento a ser liberado.
Relaciones
Descripción principal

La construcción de un Item del backlog implica actividades de diversas disciplinas (o áreas de conocimiento) que se realizan de forma intercalada.

Construir un Item del backlog implica:

  • Refinar el ítem del backlog (en caso de ser necesario) para comprender de forma clara su alcance e impacto en el sistema
  • Diseñar cómo el ítem va a ser construido e integrado en el sistema
  • Implementar los componentes diseñados
  • Probar los componentes implementados de forma aislada
  • Integrar los componentes al sistema y probar el sistema integrado

En la siguiente imagen se contrasta el modelo en cascada (secuencial) con los modelos ágiles:

En los modelos ágiles, actividades de múltiples disciplinas se realizan de forma intercalada en cada sprint. En donde un ítem del backlog ("Característica X") se completa llevando a cabo actividades de múltiples disciplinas.

Una buena práctica a adoptar en el desarrollo ágil es la de tener una "Definicion de hecho". Esto nos permite evaluar de forma objetiva cuándo un ítem del backlog está "terminado" con el grado de calidad requerido, lo cual permite avanzar a la implementación del siguiente item o incremento.



Pasos
Refinar el item del backlog a construir

En caso de que el item del backlog a construir no esté lo suficientemente refinado como para entender claramente lo que se espera de su construcción y cómo éste debería ser integrado al sistema, sería necesario consultar con el Scrum Product Owner las dudas o incertidumbres que se tengan sobre el ítem. Esto es necesario realizarlo antes de proseguir con el siguiente paso.

Por más detalles de cómo realizar esta actividad, se puede consultar la actividad de Refinar el Backlog del producto.

Diseñar cómo el ítem va a ser construido e integrado en el sistema

Dependiendo de la complejidad del ítem a construir y de las habilidades y experiencia del miembro del equipo al cual está asignado el item es cómo se realiza esta actividad.

Es conveniente realizar esta actividad en conjunto con todo el Equipo Scrum o con algunos miembros experientes si nos encontramos en alguno de los siguientes escenarios:

  • Si el ítem a construir es complejo (o tiene alto impacto en el sistema)
  • La experiencia del miembro del equipo al cual está asignado el ítem es muy poca (o si la persona se ha incorporado recientemente al equipo)

Sin embargo, si el ítem a construir no presenta gran complejidad o el miembro del equipo tiene suficiente experiencia en el producto y las tecnologías a utilizar, es posible realizar esta actividad de forma independiente.

Implementar los componentes diseñados

El ítem a construir puede requerir la implementación de uno o varios componentes del sistema, el cual debe ser implementado de acuerdo al diseño realizado en el paso anterior.

En el desarrollo ágil, algunas prácticas recomendadas para el desarrollo son:

[1] Ian Sommerville, Sección 3.3, "Ingeniería de Software" 10ª edición.

Probar los componentes implementados de forma aislada

Luego de desarrollar los componentes requeridos al ítem del backlog a construir, es necesario probarlos de forma aislada. Para esto es necesario desarrollar y ejecutar las pruebas unitarias que verifiquen el correcto comportamiento de las unidades desarrolladas.

Para la generación de pruebas unitarias se pueden seguir algunas de las siguientes guías:

Si se utilizó Desarrollo dirigido por las pruebas es necesario ejecutar de forma automatizada las pruebas unitarias desarrolladas previamente a la construcción del ítem del backlog.


Integrar los componentes al sistema y probar el sistema integrado

Luego de que se ejecutaron las pruebas unitarias y éstas pasaron exitosamente, es necesario integrar el item del backlog al resto del sistema. Para esto es necesario ejecutar pruebas de integración, en donde el foco ya no es probar los componentes en sí (cosa que se realizó en el paso anterior), sino probar cómo dichos componentes se comunican e interactúan con el resto del sistema. Por tanto, el foco está en las interfaces y no en la funcionalidad.

Dependiendo de la estrategia de desarrollo que esté siguiendo el equipo, es cómo se realizan las pruebas de integración. Para esquemas de integración continua recomendamos la lectura de la Guía práctica para el uso de metodologías ágiles con tecnología PaaS.


Ilustraciones
Factores clave
Más información