Desarrollo ágil potenciado por prácticas! Láminas sobre TDD, ATDD y CI

Está muy debatido en la comunidad ágil el uso de prácticas y técnicas (como automatización, ejecución periódica de build y pruebas), como complemento necesario de las metodologías como Scrum y Kanban.

Existen ciertas técnicas que solemos difundir en charlas, eventos, cursos y publicaciones, que entran dentro de esta categoría. Se trata de TDD (Test Driven Development), ATDD (Acceptance Test Driven Development) y CI (Continuous Integration).

He aquí tres láminas que hicimos junto a Ángela Castaño Restrepo, del equipo de Arquitectura de software de Sura, una de cada uno de estos temas. Las realizamos en el marco de un curso de “Desarrollo ágil de Software”, en Medellín. La facilitación gráfica y la práctica concreta nos ayudan en estas capacitaciones para que los participantes entiendan y fijen mejor los conceptos.

TDD – Diseño guiado por pruebas

TDD es una técnica de diseño que implica mucha disciplina y que -cuando se aplica bien- hace ahorrar mucho tiempo y dinero a los equipos de desarrollo. Su principal ventaja es la simplicidad.

TDD y su ciclo "RGR" (Red, Green, Refactor)

TDD y su ciclo “RGR” (Red, Green, Refactor)

ATDD – Diseño guiado por pruebas de aceptación

ATDD es una técnica de diseño que involucra de forma temprana a usuarios, testers y demás interesados en el producto, que permite definir escenarios que guiarán el diseño y el desarrollo de dicho producto.

ATDD y su ciclo anidado RGR para Vista y Controlador, junto con TDD para el Modelo (contexto: arquitectura MVC).

ATDD y su ciclo anidado RGR para Vista y Controlador, junto con TDD para el Modelo (contexto: arquitectura MVC).

CI – Continuous Integration

CI significa “Integración Continua” en español. Es un concepto compuesto por prácticas, herramientas y actitudes, a saber: un repositorio compartido de código, políticas de utilización de dicho repositorio, un servidor de integración continua, y en los mejores casos, tambien pruebas automatizadas y algunos otros procesos automatizados, trabajo en equipo y colaboración frente a conflictos).

No subir al repositorio compartido el código si no funciona las pruebas tanto de mi código como del código ajeno integrado. CI es un concepto que hace referencia a la integración del equipo, apoyada en herramientas y prácticas.

No subir al repositorio compartido el código si no funciona las pruebas tanto de mi código como del código ajeno integrado.
CI es un concepto que hace referencia a la integración del equipo, apoyada en herramientas y prácticas.

Cada uno de estos conceptos amerita mucho más material y práctica para poder ser bien aprovechado, por lo cual posiblemente dedique más artículos al respecto más adelante.

Espero les sean de utilidad las láminas!

Sura y Kleer, colaborando con la agilización del ecosistema paisa y colombiano!

Sura y Kleer, colaborando con la agilización del ecosistema paisa y colombiano!

Anuncios

Comentarios, Ideas, Críticas constructivas, Feedback?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s