Consejos para aplicar una Programación Extrema
En el listado de metodologías ágiles de ejecución de proyectos destaca particularmente el llamado XP o Programación Extrema (Xtreme Programming), una técnica formulada por el teórico del marketing Kent Beck, en 1999.
Aunque en principio se empleó exclusivamente para el desarrollo de la ingeniería del Software, su planteamiento ha ido ganando terreno en otras áreas de la industria. De hecho, a día de hoy es el más destacado de todos los procesos de desarrollo ágil.
Del mismo modo que otras metodologías iterativas como Kanban, Lean o SCRUM, el método XP propone un modelo de desarrollo de proyectos basado en la adaptabilidad antes que en la previsibilidad, que era uno de los factores de los métodos tradicionales empleados a partir de la segunda mitad del siglo XX.
Características principales del método XP
- Desarrollo incremental: cada fase es mejor que la anterior y, a su vez, plantea retos para que la productividad siga en ascenso.
- Pruebas continuas: el equipo de trabajo está realizando análisis permanentes sobre los resultados de cada fase de operación.
- Trabajo por parejas: otro elemento diferenciador es la presencia de dos personas en un mismo puesto de trabajo, con lo cual se tiene un mayor control sobre las tareas.
- Correcciones: el equipo de trabajo no puede avanzar a la siguiente etapa sin antes haber superado las pruebas anteriores. Cada prueba implica una entrega de resultados.
- Implicación general: el modelo XP no divide las responsabilidades de manera fragmentaria, sino que los miembros del equipo pueden realizar aportaciones sobre cualquier otra área. Esto es lo que se llama propiedad del código compartida.
- Sencillez: ese método es partidario de hacer lo más sencillo posible el proceso de ejecución. Su apuesta principal en este sentido, se resume de la siguiente manera: es mejor hacer algo sencillo y poder mejorarlo progresivamente con un poco de trabajo extra, que elaborar algo complicado y no poder modificarlo.
¿Quiénes participan del modelo de Programación Extrema?
Además de estas características, el modelo de desarrollo XP establece la interacción de una serie de personas con un rol definido. Como ya hemos visto, la definición de roles y su continua interacción es otra de las principales diferencias entre los modelos de desarrollo iterativos y las metodologías tradicionales.
En los orígenes de este tipo de metodología, ideados para el desarrollo de software, los actores principales eran:
- Programador: establece las pruebas que debe cumplir el equipo de trabajo.
- Cliente: fija las prioridades del plan de empresa y decide cuáles deben desarrollarse en cada iteración. También tiene la capacidad de introducir variantes.
- Tester: es el responsable de las herramientas con las cuales se ejecutan las tareas.
- Tracker: es uno de los roles más significativos. Se encarga de hacer seguimiento al proceso de ejecución y de verificar si las estimaciones iniciales concuerdan con los resultados de cada fase.
- Coach o entrenador: es el responsable general del proyecto. Se encarga de guiar y motivar a los miembros del grupo para la consecución de los objetivos.
- Consultor: se trata de un miembro externo al grupo de trabajo y la empresa que es contratado para una labor específica del proyecto. Su presencia es exclusiva de aquellos casos en los que la compañía no cuenta con especialistas en determinadas áreas.
- Gestor: gerente general o alto directivo encargado de la dirección de la compañía. Cuando las empresas son pequeñas, suele oficiar como gestor y coach al mismo tiempo. En cualquier caso, su función es la de mantener el vínculo entre el grupo de trabajo y los clientes o destinatarios del proyecto.