Extreme Programming (XP)

Extreme Programming es uno de los numerosos marcos agiles aplicados por las empresas de TI. Pero su característica clave, el énfasis en los aspectos técnicos del desarrollo de software distingue a XP de los otros enfoques.

Xp es un conjunto de practicas de ingeniería. Los desarrolladores tienen que ir mas allá de sus capacidades mientras realizan practicas. De ahí viene el "extremo" en el titulo del marco.

Proceso y las Funciones de XP.

1.- La planificación, La primera etapa, es cuando el cliente se reúne con el equipo de desarrollo y presenta os requisitos de forma de historias de usuario para describir el resultado dejado.

2- El diseño es en realidad una parte del proceso de planificación, pero se puede separar para enfatizar su importancia. Esta relacionado con uno de los principales valores de XP que discutiremos a continuación: la simplicidad.

3.- La codificación es la fase durante la cual se crea el código real mediante la implementación de practicas especificas de XP, como estándares de codificación, programación de pares, integración continua y propiedad colectiva( la lista completa se describe a continuación).

4.- Las pruebas son el núcleo de la programación extrema. Es la actividad regular que involucra tanto pruebas unitarias como pruebas de aceptación.

5.- Escuchar tiene que ver con la comunicación y la retroalimentación constantes. Los clientes y los gerentes de proyecto practican para describir la lógica de negocio y el valor que se espera.

El Ciclo de vida de XP.

Este proceso de desarrollo implica la cooperación entre varios participantes, cada uno con sus propias tareas y responsabilidades. estos roles se asocian comúnmente con XP:

1.- Se espera que los clientes participen activamente en el proceso de desarrollo mediante la creación de historia de usuario, la retroalimentación continua y la toma de las decisiones comerciales necesarias relacionadas con el proyecto.

2.- Los programadores o desarrollo son los miembros del equipo que realmente crean el producto. Son responsables de implementar historias de usuario y realizar prueba de usuario. Dado que la XP generalmente se asocia con equipos multifuncionales, el consejo de habilidades de dichos miembros puede ser diferente.

3.- Los rastreadores o gestores vinculan a cliente y desarrolladores. No es un obligatorio y puede ser realizado por uno de los desarrolladores. Estas personas organizan las reuniones, regulan las discusiones y realizan un seguimiento de los KPI de progreso importante.

4.-Los entrenadores pueden ser incluidos en los equipos como mentores para ayudar a comprender la practicas de XP.

Principios de la Programacion Extrema.

La mayoria de los investigadores denotan los 5 principios de XP como:

1.- Retroalimentación rápida. Los miembros del equipo entienden los comentarios recibidos y reaccionan a ellos de inmediato.

2.- Simplicidad asumida. Los desarrolladores deben centrarse en el trabajo que es importante en estos momentos y seguir los principios YAGANI y DRY

3.- Cambios incrementales. Los pequeños cambios realizados en un producto paso a paso funcionan mejor que los grandes realizados a la vez

4.- Abrazar el cambio. Si un cliente cree que un producto necesita ser cambiado, los programadores deben apoyar esta decisión y planificación como implementar los nuevos requisitos.

Ventajas de Xp.

El marco XP pude ser beneficioso y ayudar a reducir el tiempo y los costos de desarrollos por las siguientes razones:

Las practicas continuas de pruebas y refactorización ayudan a crear sistemas estables y de buen rendimiento con una depuración mínima;

El valor de la simplicidad implica crear un código claro y conciso que sea fácil de leer y cambiar en el futuro si es necesario;

El enfoque iterativo minimalista del desarrollo garantiza que los resultados puedan entregar muy pronto y que solo se construyan las características necesarias;

No se practican horas extras o se practican muy pocas;

El compromiso del cliente garantiza su satisfacción, ya que su participación en el proceso de desarrollo y prueba puede influir directamente en el resultado, obteniendo exactamente lo que querían.

Desventajas de Xp.

Por otro lado, Xp tiene una serie de desventajas que deben tenerse en cuenta a la hora de decidir que framework elegir para tu próximo proyecto:

En muchos casos. el cliente no tiene idea clara del resultado final, lo que se hace que casi poco realista estimar con precisión el alcance, el costo y el tiempo;

Las reuniones periódicas con los clientes a menudo requieren una gran cantidad de tiempo que, en cambio, podría dedicarse a la escritura de código real;

Xp funciona mejor con equipos colocados y clientes presentes en persona para llevar a cabo reuniones cara a cara, lo que limita su aplicación con equipos distribuidos.

Cualquier empresa puede aplicar los principios de XP en sus proyectos; Sin embargo, es importante entender tanto el lado bueno como malo.




































 

Comentarios