Programación extrema: una guía introductoria para principiantes
La satisfacción del cliente debe estar en el centro de la estrategia de cada empresa. Y para garantizar su cumplimiento, es fundamental incluirlos en todo el proceso de implementación del proyecto y colaborar con ellos para tener en cuenta sus requisitos y cambios. Todas las metodologías ágiles aplicar este principio. Es el caso del método eXtreme Programming o XP, que garantiza que el producto o servicio entregado satisfaga con precisión las necesidades del cliente.
Al seguir este método, su equipo de proyecto puede reaccionar a los cambios que se produzcan en cualquier momento durante el ciclo de vida del proyecto.
Pero, ¿por qué Extreme Programming? Porque este método se considera la implementación más extrema del enfoque ágil.
Definición
El primer proyecto llevado a cabo utilizando el método de programación eXtreme data del 6 de marzo de 1996. Kent Beck, Ward Cunningham y Ron Jeffries desarrollaron y perfeccionaron el método trabajando en el proyecto «C3» para calcular la remuneración en la empresa estadounidense Chrysler. El método se publicó oficialmente en octubre de 1999 en el libro Explicación de la programación extrema de Kent Beck.
Originalmente, el método XP se creó para el sector de TI y el desarrollo de software. Pero desde entonces, ha permitido el éxito de numerosos proyectos en empresas de diferentes tamaños y sectores de todo el mundo.
Los principios de eXtreme Programming son los del enfoque ágil, pero llevados al extremo. Este método promueve la colaboración entre todos los actores de un proyecto: miembros del equipo del proyecto, clientes, proveedores, prestadores de servicios, etc. Se basa en procesos iterativos, es decir, ciclos cortos que incluyen pruebas, intercambios con el cliente y entregas continuas. De este modo, el equipo del proyecto puede detectar y eliminar rápidamente los errores, y puede implementar inmediatamente los cambios solicitados por el cliente.
Valores
El método XP se basa en cinco valores fundamentales:
- Comunicación : esencial para el éxito del proyecto, permite detectar rápidamente los problemas y resolverlos lo antes posible. Se trata de la comunicación entre los miembros del equipo del proyecto y con el cliente. Se debe preferir la comunicación cara a cara.
- Simplicidad : «la sencillez es el secreto del éxito». André Rochette En el método XP, preferimos la simplicidad y solo desarrollamos lo que es necesario y requerido en este momento, nada más. No es necesario intentar anticiparse ni dejarse llevar por consideraciones secundarias. Siempre será posible cambiar el producto más adelante.
- Retroalimentación : Las pruebas periódicas de los productos, los ciclos cortos y las entregas frecuentes permiten detectar errores, recibir comentarios rápidos y, por lo tanto, seguir mejorándolo. Es fundamental que el equipo del proyecto y el cliente compartan sus comentarios con la mayor frecuencia posible para que cada solicitud de cambio se tenga en cuenta de inmediato.
- Coraje : los cambios requieren coraje. De hecho, se necesita valor para revisar lo que existe pero no funciona y recrear algo nuevo, adoptar una nueva técnica o cambiar por completo la organización del proyecto. También significa tener el coraje de no darse por vencido y ser persistente para tener éxito.
- Respeto : este valor incluye el respeto por los demás, así como el respeto por uno mismo. Es fundamental respetar a las personas con las que trabajas, tanto si forman parte del equipo del proyecto como si no. El respeto mutuo contribuye al buen ambiente del equipo y a su desempeño.
¿Cómo funciona?
Los cinco valores de XP se dividen en trece prácticas que se complementan entre sí.
- Cliente in situ : para garantizar una retroalimentación rápida y regular entre el cliente y el equipo del proyecto, el cliente debe estar representado in situ durante todo el proyecto. Este representante está disponible para responder a las preguntas del equipo, ofrecer ideas y definir prioridades.
- Planeando el juego (o planificando el póker) : se trata de una reunión organizada al inicio de cada nueva iteración. El equipo y el cliente discuten el trabajo realizado, comparten sus comentarios y discuten las próximas tareas que deben completarse. A continuación, se asignan a los miembros del equipo del proyecto.
- Integración continua : las funcionalidades se integran en el proyecto a medida que se implementan. De esta forma, evitamos la sobrecarga de trabajo y el estrés al integrar todo en el proyecto justo antes de la entrega. Las pruebas son esenciales: tan pronto como den positivo, la iteración se considera completa.
- Entregas pequeñas : las entregas regulares permiten recibir comentarios de los clientes con más frecuencia y detectar posibles errores con mayor rapidez para corregirlos en la próxima iteración.
- Ritmo sostenible : nadie tiene que trabajar horas extras. Si este es el caso, revise el cronograma. Un empleado cansado tendrá un desempeño peor y puede cometer más errores.
- Pruebas funcionales : estas pruebas permiten comprobar el progreso del proyecto. Si se validan, la iteración está completa.
- Pruebas unitarias : Cada función se prueba para garantizar que funcione según lo esperado. Se verifica con esta misma prueba durante todo el proyecto. Este tipo de prueba, que a menudo es automática, permite identificar errores.
- Diseño sencillo : evitamos complicaciones, nos mantenemos simples y vamos al grano teniendo en cuenta las necesidades actuales del cliente, sin anticipar nada. Cada producto puede evolucionar en futuras iteraciones.
- Uso de metáforas : el equipo del proyecto y el cliente deben hablar el mismo idioma para entenderse y entender cómo funcionan el proyecto y el producto final. Se pueden usar términos y metáforas simples.
- Refactorización (o rediseño del proyecto) : el proyecto y sus funcionalidades se mejoran constantemente para evitar errores y proporcionar un producto final impecable.
- Propiedad colectiva del proyecto : la responsabilidad del proyecto es compartida por todo el equipo. Cada colaborador puede mejorar las funcionalidades, incluso aquellas en las que no ha trabajado.
- Convención de nomenclatura : facilitar el trabajo de todos utilizando los mismos términos para todo lo relacionado con el proyecto.
- Trabajando en parejas : se asignan dos colaboradores a cada tarea, un piloto y un copiloto. Esta forma de trabajar permite evitar errores y ofrecer mejores resultados la primera vez.
Conclusión
El método XP aplica los principios ágiles al extremo. La simplicidad, la capacidad de respuesta del equipo del proyecto, la retroalimentación regular y la integración de los cambios son las bases de este método.
Para que funcione, es fundamental que todos los actores del proyecto colaboren juntos y, especialmente, que el cliente participe plenamente en el proyecto.



