2. Programación Extrema
La programación extrema, o Extreme Programming (XP), es una metodología de desarrollo ágil, una de
las más exitosas en tiempo reciente. Su autor principal es Kent Beck, quien eligió algunas
características de otras metodologías y las relacionó de forma que cada una complementara a la otra.
Así, la XP se puede definir como un conjunto de pasos de diversas metodologías, acopladas de manera
que sean pasos flexibles a seguir utilizadas con el uso común, para realizar un desarrollo más
agradable y sencillo. Esta metodología tiene como base la simplicidad y como objetivo principal la
satisfacción del cliente.
3. Valores fundamentales
Comunicación
Es muy importante que haya una comunicación constante con el cliente y dentro de todo el equipo de
trabajo, de esto dependerá que el desarrollo se lleve a cabo de una manera sencilla, entendible y que se
entregue al cliente lo que necesita.
Simplicidad
En la XP se refiere que ante todo y sin importar qué funcionalidad requiera el usuario en su sistema, éste
debe ser fácil. El diseño debe ser sencillo y amigable al usuario, el código debe ser simple y entendible,
programando sólo lo necesario y lo que se utilizará.
Retroalimentación
Es la comunicación constante entre el desarrollador y el usuario.
Coraje
Se refiere a la valentía que se debe tener al modificar o eliminar el código que se realizó con tanto
esfuerzo; el desarrollador debe saber cuando el código que desarrolló no es útil en el sistema y, por lo
mismo, debe ser eliminado. También se refiere a tener la persistencia para resolver los errores en la
programación.
4. Principios de la programación Extrema
realimentación veloz
modificaciones incrementales
trabajo de calidad
asunción de simplicidad
5. Practicas de la programación Extrema
El principio de pruebas
Proceso de planificación
El cliente en el lugar
Programación en parejas
Integración continua
Refactorización
Entregas pequeñas
Diseño simple
Metáfora
Propiedad colectiva del código
Estándar de codificación
La semana de 40 horas
6. Herramientas de la XP
Historias de usuarios
Son tarjetas físicas en las cuales se anota una descripción de una funcionalidad del sistema, en una
oración, se le da un número y un título para ser identificada.
Casos de prueba de aceptación
Son tarjetas que se elaboran para realizar las pruebas de cada historia de usuario.
Tarea de ingeniería
Son tarjetas que se elaboran para ayudar y simplificar la programación de una historia de usuario.
Tarjetas CRC
Describen las clases utilizadas en la programación de una historia.
7.
8. Fases del proceso de desarrollo de la
Programación Extrema
Fase de Exploración.
En esta fase los usuarios escriben las tarjetas de historia que ellos quieren que sean incluidas en la
primera versión. Cada una de las tarjetas de historia describe una funcionalidad que será añadida al
programa.
Fase de planificación.
En esta fase se establece la prioridad de las diferentes historias y se acuerda el contenido de la primera
entrega del proyecto.
9. Fase de iteraciones.
Esta fase incluye la realización de diferentes fases antes de liberar la primera versión del producto.
Fase de producción.
En esta fase se llevan a cabo se llevan a cabo un conjunto de pruebas extras, de rendimiento y
funcionamiento que son necesarias antes de poder entregar el producto al cliente
10. Fase de mantenimiento.
Una vez se ha liberada la primera versión a los usuarios, el proyecto se debe mantener en el entorno
de producción siempre y cuando aún hayan iteraciones en fase de producción.
Fase de cierre del proyecto.
Es la fase en que los clientes ya no tienen más historias que deban ser implementadas. La
documentación del proyecto se realiza en esta fase, ya que ni la arquitectura, ni el diseño, ni el código
sufrirán cambio alguno.