Las conocidas como metodologías ágiles son aquellas que buscan ofrecer un desarrollo y gestión de proyectos de forma eficaz y flexible, pero sin perder el control. Dentro de estas metodologías nos encontramos con diferentes variables, entre ellas de la programación Extrema, conocida también como Extreme Programming por su nombre en inglés. Se trata de una metodología basada en la comunicación, la reutilización del código desarrollado y la realimentación. Vamos a conocer más a fondo esta metodología que no deja de ganar adeptos. Para desarrollar una metodología programación extrema tienes que seguir varios pasos; como la panificación, gestión, diseño, codificación y prueba. Entérate en el artículo como funciona esta metodología y cuáles son las 12 prácticas del Extreme Programming.
Definición del método de programación Extrema
La programación Extrema es una metodología ágil de gestión de proyectos centrada en la velocidad y la simplicidad, con ciclos de desarrollo cortos. Para ello, cuenta con cinco valores, cinco reglas y 12 prácticas que veremos a continuación. Se divide en sprints de trabajo, y permite al responsable atender a las solicitudes de clientes, adaptarse a las necesidades o introducir cambios en tiempo real. A ello se suman las revisiones frecuentes y pruebas unitarias para hacer rápido los cambios. Es muy creativa, promoviendo el trabajo en equipo.
¿Cómo funciona la metodología programación extrema?
En vez de buscar motivadores externos, la programación extrema permite al equipo trabajar de forma más sencilla, dando prioridad a la simplicidad y la colaboración sobre diseños complejos. De hecho, la simplicidad es el primero de los cinco valores de la programación extrema. Los cuatro valores restantes que protagonizan esta metodología de gestión de proyectos son comunicación, comentarios, valentía y respeto. Estos valores tienen un punto filosófico. Por eso, nos ceñiremos a las cinco reglas de la programación Extrema:
- Planificación: en la etapa inicial decidimos si el proyecto es viable y si se adapta a la metodología de programación Extrema. Si es así, lo dividiremos en iteraciones y diseñaremos un plan para cada una, con plazos de finalización realistas y un ritmo de trabajo sostenible. Hay que compartir las actualizaciones con el equipo en tiempo real.
- Gestión: siendo una metodología que promueve el trabajo colaborativo, buscaremos un espacio de trabajo abierto o una plataforma digital que potencie el trabajo asincrónico para el trabajo remoto. Puede haber reuniones diarias de actualización, donde todo el mundo debería poder hablar.
- Diseño: se recomienda empezar en la programación Extrema con diseños simples, y más adelante avanzar a algo más complejo. Se suelen utilizar tarjetas de clase, responsabilidad y colaboración para simular el proceso y detectar posibles problemas.
- Codificación: al estar en contacto continuo con el cliente, podemos incorporar sus aportaciones en cada iteración sin esperar al final de cada sprint. Así, evitamos el trabajo por duplicado.
- Prueba: finalmente, habrá que hacer pruebas a lo largo del proceso de programación Extrema. Todo el código en su conjunto debe someterse a pruebas unitarias antes de lanzarse. En caso de detectar errores en las pruebas, habrá que diseñar nuevas pruebas para paliarlos. Pruebas que se sumarán a la historia de usuario.
Si quieres perfeccionar todavía más el proceso de programación Extrema, debas conocer las 12 prácticas del Extreme Programming. Se basan en el Manifiesto Agile, pero están adaptadas a esta metodología. Son las siguientes:
- La planificación en programación Extrema se emplea para guiar el trabajo. Los resultados serán los objetivos que esperamos alcanzar, los plazos de entrega indicados y los pasos a cumplir.
- Las pruebas de clientes. Siempre que se acabe una nueva función, el cliente la probará para decidir si se ha cumplido con la historia de usuario original.
- Pequeñas entregas (y periódicas). Nos permiten sacar información clave durante todo el proceso. Se suelen enviar directamente al cliente.
- Diseño simple. Nos limitaremos a producir únicamente lo necesario, nada más. Es un método simple.
- Programación en parejas. La programación Extrema no admite el trabajo individual, deben llevarlo a cabo dos personas de forma simultánea. A ser posible, sentados uno al lado del otro.
- Desarrollo guiado por pruebas. Mediante ciclos cortos podemos automatizar las pruebas para actuar al momento en consecuencia.
- Refactorización. Para obtener diseños simples y de calidad, evitaremos los duplicados. Solo así el código será coherente.
- Propiedad colectiva. Cualquier par de desarrolladores puede modificar el código en cualquier momento.
- Integración continua. Los equipos de programación Extrema no esperan a completar las iteraciones, se integran constantemente. Puede hacerlo varias veces al día.
- Ritmo de trabajo sostenible. El equipo sabe cuánto puede producir al día y/o semana para fijar los plazos de trabajo.
- Metáfora. Se decide en equipo y se usa como lenguaje para expresar cómo funcionará el equipo.
- Estándares de codificación. Codificaremos siempre del mismo modo para simular que un único desarrollador ha escrito todo el código.