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.