top of page

Extreme Programming (XP)



Hola a todos, hoy quiero conversar con ustedes sobre este framework, uno de los más conocidos en las metodologías agiles, XP (Extreme Programming).


Hablemos un poco de su historia...


Kent Beck conocido como gurú del Extreme Programming y autor de varios libros destacados en el tema, trabajaba para la corporación Chrysler, la cual tenía un tiempo intentando desarrollar un sistema para nóminas, sin éxito. Esta fue la asignación para Beck. Inmediatamente pudo identificar la ausencia de una metodología para el desarrollo del software, e identificó cambios y mejoras cruciales en el proceder de los desarrolladores. Con menos de un año y medio de haber entrado, Kent logró llevar este proyecto al éxito; donde un equipo de 30 personas que lo había intentado durante mucho mas tiempo no lo había podido conseguir. Esto propulsó el XP de forma que se hizo bastante popular.

Un dato muy curioso es que esta metodología es considerada ágil, sin embargo apareció en los años 90, mucho antes de que se firmara lo que hoy conocemos como manifiesto Ágil.

«Todo en el software cambia. Los requisitos cambian. El diseño cambia. El negocio cambia. La tecnología cambia. El equipo cambia. Los miembros del equipo cambian. El problema no es el cambio en sí mismo, puesto que sabemos que el cambio va a suceder; el problema es la incapacidad de adaptarnos a dicho cambio cuando éste tiene lugar.» Kent Beck


¿De que trata XP?

También es conocida como Programación Extrema, así como una de las más reconocidas y prósperas en el de desarrollo de software. Suele vincularse mucho con el marco de trabajo de Scrum y muchos equipos confirman que su uso en conjunto otorga un mayor control sobre el proyecto, y una implementación más efectiva.


XP aparece como respuesta a los problemas procedentes del cambio en los requerimientos. Se propone como una de las metodología a aplicar en proyectos de riesgo y aumenta la productividad. Tiene como meta desarrollar y gestionar proyectos con control, flexibilidad y eficacia.

Sin embargo es importante destacar que mientras las demás metodologías ágiles definen un marco de trabajo donde priman las prácticas y roles de equipo así como el proceso iterativo de las entregas, el XP se basa más en la comunicación.


Extreme Programming, estimula e incita a los desarrolladores a responder a los requerimientos cambiantes, incluso estando ya en fases tardías del ciclo de vida del desarrollo. Esta metodología está dispuesta a ofrecer el software que el cliente necesita en el momento en que lo necesita.



Al igual que en cada framework y metodología pues esta compuesto por una serie de roles, que ahora veremos:

  • Clientes: Son quienes definen las prioridades del proyecto. Normalmente son los usuarios finales del producto y quienes exponen las necesidades.

  • Programadores: parte del equipo que se encarga de desarrollar el Extreme Programming, a nivel de software.

  • Testers: se encargan de la validación del desarrollo, los requisitos y escenarios del producto en conjunto con los clientes.

  • Tracker: persona que se encarga puntualmente del seguimiento (Tomando en cuenta que tenemos un manager, también conocido como Big Boss y/o gerente del proyecto, nunca le he encontrado mucho sentido a un recurso únicamente para seguimiento, pero cada metodología tiene sus particularidades).

  • Coach: se encarga del asesoramiento del resto del equipo y como tal definen el rumbo del proyecto.

  • Manager: Ofrece recursos, es el responsable de la comunicación externa y quien coordina las actividades.


Cabe destacar que estos no son siempre roles fijos, es decir, todo el equipo puede contribuir con sus conocimientos en busca del beneficio general del proyecto.

Pruebas

Las pruebas suelen realizarse de forma automatizada y activa, en base a los requisitos del cliente para validar que todo funciona de acuerdo a lo esperado y requerido.


Diseño y programación

Normalmente el diseño puede ser simple y basado en la funcionalidad del sistema y se ejecuta durante todo el proyecto, desde la planificación de la entrega como en el de la iteración.


Respecto a la programación, se hace en pareja, y se la conoce como “programar a dos manos”. Es una contingencia para asegurarnos de que al menos uno de los recursos conoce y maneja las funciones del otro y queda validado.

Variables importantes

  • Coste

  • Tiempo

  • Calidad

  • Alcance

En esta metodología se establece que tres de estas variables pueden ser fijadas de forma arbitraria por actores que no pertenecen a los desarrolladores, como el cliente, sin embargo queda establecido por el equipo de desarrollo, quien establece el valor en base a las otras tres.

El fin es conseguir un equilibrio entre todas las variables del proyecto.

El Ciclo de vida XP


Así como las demás metodologías de gestión de proyectos (Ágiles y tradicionales), el ciclo XP comprende:


  • Fase de Exploración: para comprender lo que el cliente necesita.

  • Fase de Planificación: para estimar el esfuerzo del equipo.

  • Fase de Iteraciones: para el desarrollo y creación de solución-

  • Fase de puesta en producción: para el entregable final del producto.

Su ciclo de vida es dinámico. Mediante ciclos de desarrollo cortos (también conocidos

como iteraciones), donde se generan entregables funcionales como resultado final.


Estas interacciones se ejecutan en base al ciclo de vida, aplicando prácticas específicas de Extreme programming. Un número acostumbrado de iteraciones con XP puede ser de entre diez a quince iteraciones.




Esquema del proceso de XP


Imagen de OpenWebinars



La verdad que escribir constituye el placer más profundo, que te lean es sólo un placer superficial.

VIRGINIA WOOLF


Comments


Publicar: Blog2_Post

©2019 por SCRUMTIA. Página Educativa sobre gestión de proyectos ágiles y en general.

bottom of page