ATDD – Desarrollo orientado a Pruebas de Aceptación

por | Ene 22, 2019 | Capacidades, Desarrollo

ATDD (Acceptance Test Driven Development) o Desarrollo orientado a Pruebas de Aceptación es una metodología de trabajo que pone el foco en la colaboración entre usuarios, desarrolladores y testers, con el fin de entregar un producto de mayor calidad y en menos tiempo.

La calidad es algo que cualquier persona involucrada en un proyecto de desarrollo de software cuida y valora. Sin embargo, en ocasiones lo implementado no cumple las expectativas del cliente; la manera tradicional de planificar proyectos (intentar documentarlo «todo» antes de comenzar, realizar estimaciones a muy largo plazo…) suele traducirse en retrasos en entregas y un producto de baja calidad.

Además, como dice Jeff Sutherland, uno de los creadores de Scrum:

«Los usuarios no saben lo que quieren hasta que lo ven y siempre se reservan el derecho a cambiar de opinión».

Para solucionar esto, ATDD fomenta la comunicación entre cliente, testers y desarrolladores en ciclos rápidos de desarrollo, reemplazando la documentación monolítica por historias de usuario (User Stories) que sirven como base para la toma de requisitos. Mediante conversaciones frecuentes acerca del alcance de las User Stories, se establecen sus criterios de aceptación, es decir, qué requisitos ha de cumplir el desarrollo para ser aceptado por el usuario.

Estas sesiones colaborativas son conocidas como «los tres amigos» («the three amigos»), por las tres perspectivas aportadas a la hora de analizar las User Stories:
– Cliente: ¿Qué problema queremos resolver?
– Desarrollo: ¿Cómo lo podemos resolver?
– Calidad: ¿Qué pasa si…?

Al delimitar el alcance de cada User Story mediante los criterios de aceptación, es posible estimar mejor el tiempo y la complejidad de las tareas. Al mismo tiempo que se consigue encontrar detalles y casos no previstos. Además, estas conversaciones ayudan a que el equipo comprenda realmente las necesidades de los usuarios, adoptando su punto de vista y comunicándose con el cliente en su «idioma».

Ciclo de Vida ATDD

Ciclo de Vida ATDD

Las especificaciones en lenguaje natural son tomadas como Pruebas de Aceptación antes de escribir el código. Mediante las Pruebas de Aceptación es posible definir con ejemplos los criterios de aceptación de un desarrollo (lo que se conoce como «especificación mediante ejemplos»), de modo que los desarrolladores saben qué desarrollar y los usuarios saben qué tendrán.

Las Pruebas de Aceptación sirven también como documentación viva del proyecto (eliminando la documentación duplicada), a la vez que permiten automatizar Tests de Regresión (con herramientas de BDD como Cucumber) y sirven de puente entre el equipo de desarrollo y la parte de negocio implicada, mediante un entendimiento común de los requisitos del desarrollo.

Enfocar un producto con la metodología ATDD desde el comienzo del ciclo de vida del proyecto ahorrará esfuerzo, evitando el desperdicio (‘Muda’) que supone que el equipo de Desarrollo esté centrado en cualquier otra cosa que no sea lo que añadirá un mayor valor a la próxima entrega.

A medida que el proyecto madura y la colaboración con los usuarios se vuelve más fluida, la aproximación que nos ofrece ATDD ayuda a consolidar el cambio de cultura y la transformación digital que toda organización busca, dando como resultado un proceso de desarrollo más ágil y una mejor calidad del producto, previniendo errores, reduciendo el TTM y aumentando la satisfacción del cliente.

Entradas Relacionadas

Data Lakehouse en Databricks: Conceptos

Data Lakehouse en Databricks: Conceptos

En este post se resume y se da contexto histórico a la evolución que este tipo de arquitecturas han sufrido, y qué forma y ventajas ofrece un Data Lakehouse.
Por último, se hablará de Databricks una plataforma de procesamiento de datos…

Más allá del API Rest. AsyncAPI

Más allá del API Rest. AsyncAPI

AsyncAPI, ¿de qué estamos hablando? Muchos de los que estaréis leyendo este artículo, os estaréis preguntando qué es AsyncAPI, o quizás lo hayáis empleado en algún proyecto, sin ser plenamente conscientes. Se trata de una especificación de código abierto, cuya primera…

Reconocimiento del habla con Hugging Face

Reconocimiento del habla con Hugging Face

A lo largo de la historia las formas de interacción entre los ordenadores y las personas han ido evolucionando. Desde los primeros medios utilizados con el uso de tarjetas perforadas, hasta la evolución al uso de teclados y ratones, junto con la aparición más…

2 Comentarios

  1. Enrique Barrales

    Buenas tardes, en su articulo de atdd, mencionan que kaizen es desperdicio y eso es incorrecto ya que kaizen significa «mejora». Desperdicio sería Mura

    Saludos

    Responder
    • Christina Chan Bravo

      Hola Enrique,
      Muchas gracias por tu comentario. Ya hemos corregido el error 😉

      ¡Un saludo!

      Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *