Está en la página 1de 23

Metodología ágil XP

Tema 1 – Parte IV
Lic. Myrna Baena Paniagua
CONTENIDO
• Introducción
• Características
• Pilares fundamentales de XP
• Roles
• Fases de desarrollo
• Ventajas
• Desventajas

Lic. Myrna Baena P. - Sistemas Informáticos 2


HISTORIA

• Conocida por sus siglas XP (eXtreme Programming), es un


método que surgió al final de la década de 1980.
• Desarrollada por Kent Beck, Ward Cunningham y Ron
Jeffries en 1996.
• Promueve el trabajo en equipo, preocupándose por el
aprendizaje de los desarrolladores y propiciando un buen
clima de trabajo.
• Tiene como base la simplicidad y como objetivo la
satisfacción del cliente.

Lic. Myrna Baena P. - Sistemas Informáticos 3


CARACTERÍSTICAS
• Centrada en potenciar las relaciones interpersonales
como clave para el éxito de desarrollo de software.
• Buen clima laboral y autoaprendizaje.
• Comunicación fluida entre el cliente y el equipo de
desarrollo.
• Simplicidad en las soluciones y coraje para enfrentar los
cambios.
• Adecuado para proyectos con requisitos cambiantes e
imprecisos.

Lic. Myrna Baena P. - Sistemas Informáticos 4


CARACTERÍSTICAS
• Desarrollo iterativo-incremental
• Programación en parejas
• Codificación
• Pruebas unitarias
• Corrección periódica de errores
• Integración
• Simplicidad, propiedad del código compartida y
refactorización del código.

Lic. Myrna Baena P. - Sistemas Informáticos 5


PILARES FUNDAMENTALES

Comunicación

Coraje-Valentía

Retroalimentación

Simplicidad

Lic. Myrna Baena P. - Sistemas Informáticos


PILARES FUNDAMENTALES
COMUNICACIÓN En XP, todo es trabajado
en equipo, desde el
relevamiento y análisis
hasta el código fuente
desarrollado. Todo se
conversa cara a cara,
procurando hallar
soluciones en conjunto a
los problemas que
puedan surgir.
Lic. Myrna Baena P. - Sistemas Informáticos 7
PILARES FUNDAMENTALES
En XP un equipo debe CORAJE-VALENTÍA
tener el valor para decir
la verdad sobre el
avance del proyecto y
las estimaciones del
mismo, planificando el
éxito en vez de buscar
excusas sobre los
errores.

Lic. Myrna Baena P. - Sistemas Informáticos 8


PILARES FUNDAMENTALES
Se pretende desarrollar
SIMPLICIDAD solo lo necesario y no
perder tiempo en detalles
que no sean requeridos en
el momento. Se asemeja a
Kanban, en la cual, un
proceso “anterior” solo
produce lo que el proceso
posterior demanda.

Lic. Myrna Baena P. - Sistemas Informáticos 9


PILARES FUNDAMENTALES
El objetivo es entregar lo RETROALIMENTACIÓN
necesario al cliente, en el
menor tiempo posible. A
cambio, demanda al
cliente, un feedback
continuo, a fin de
conocer sus
requerimientos e
implementar los cambios
tan pronto como sea
posible.
Lic. Myrna Baena P. - Sistemas Informáticos 10
FORMA DE TRABAJO

ROLES:
- Cliente FASES:
- Tester  Planificación
- Tracker  Diseño simple
- Coach  Desarrollo
Historias de - Consultor  Pruebas
Usuario - Big boss

Lic. Myrna Baena P. - Sistemas Informáticos 11


ROLES DE USUARIO
• Cliente: Responsable de definir y conducir el proyecto así
como sus objetivos.
• Programadores: Estiman tiempos de desarrollo de cada
actividad y programan el proyecto.
• Tester: Encargado de Pruebas.
• Tracker: Encargado de Seguimiento.
• Coach: Entrenador, su papel es guiar y orientar al equipo.
• Big Boss: Gestor del proyecto, gerente del proyecto,
debe tener una idea general del proyecto y estar
familiarizado con su estado.
Lic. Myrna Baena P. - Sistemas Informáticos 12
PROCESO XP

Lic. Myrna Baena P. - Sistemas Informáticos 13


PLANIFICACIÓN

• Recabar requerimientos de modo que los miembros


técnicos del equipo XP entiendan el contexto del
software a implementar.
• Los clientes y desarrolladores trabajan juntos para decidir
cómo agrupar las historias de usuario en la siguiente
entrega que desarrollará el equipo XP.
• Una vez que se llega a un compromiso sobre la entrega, el
equipo XP ordena las historias de usuario que serán
desarrolladas en una de tres formas:

Lic. Myrna Baena P. - Sistemas Informáticos 14


PLANIFICACIÓN

Lic. Myrna Baena P. - Sistemas Informáticos 15


DISEÑO
• Un diseño simple y sencillo, nos permitirá mantener la
coherencia de nombres de todo aquello que se va a
implementar.
• XP estimula el uso de las tarjetas CRC como un mecanismo
eficaz para pensar en el software en un contexto orientado
a objetos.
• Las tarjetas CRC identifican y
organizan las clases orientadas
a objetos que son relevantes para
el incremento actual de software
Lic. Myrna Baena P. - Sistemas Informáticos 16
CODIFICACIÓN
• Disponibilidad del usuario
• Estándares de implementación
• Unidades de prueba o test
• Programación parejas
• Integración del código
• Frecuencia en la integración del código
• El código es propiedad de todos
• Dejar la optimizaciones para el final
• No a las horas extras

Lic. Myrna Baena P. - Sistemas Informáticos 17


CODIFICACIÓN
• Una característica primordial es la Programación por
parejas.
• A medida que las parejas de programadores terminan su
trabajo, el código que desarrollan se integra con el
trabajo de los demás.
• Las parejas de programadores tienen la responsabilidad
de la integración. Esta estrategia de “integración
continua” ayuda a evitar los problemas de compatibilidad
de interfaces y ayuda a descubrir a tiempo los errores.
• Se realiza la REFACTORIZACIÓN

Lic. Myrna Baena P. - Sistemas Informáticos 18


REFACTORIZACIÓN

• La refactorización (o refactoring) es una técnica que


consiste en modificar el código fuente de un software sin
afectar a su comportamiento externo.
• Permite lograr una mayor cohesión de funcionalidades,
impidiendo redundancias.
• Por ello, la refactorización es la principal técnica
propuesta por XP, para evolucionar el código de la
aplicación con facilidad en cada iteración.

Lic. Myrna Baena P. - Sistemas Informáticos 19


PRUEBAS
1. Test Unitarios: Consiste en testear el código de
manera unitaria (individual) mientras se va programando.
2. Test de aceptación: Están más avocados a las pruebas
de funcionalidad; es decir, al comportamiento funcional
del código. Estas pruebas son definidas por el cliente y
llevadas a cabo mediante herramientas especiales.
3. Test de integración: Tienen por objeto, integrar todos
los test que conforman la aplicación, a fin de validar el
correcto funcionamiento de la misma, evitando que
nuevos desarrollos, dañen a los anteriores.

Lic. Myrna Baena P. - Sistemas Informáticos 20


RESUMEN DE FASES

Lic. Myrna Baena P. - Sistemas Informáticos 21


VENTAJAS
• Combina la disciplina con la adaptabilidad.
• Propone un conjunto de prácticas que pretenden
enfatizar los efectos positivos de un proyecto de
desarrollo de Software.
• Optimiza los tiempos y se adapta al desarrollo de
sistemas grandes y pequeños sin mayor
documentación.
• El código es claro y simple, complementa los
conocimientos entre los miembros del equipo.
• Cuenta con una tasa de errores muy pequeña.
• Puede ser aplicada a cualquier lenguaje de
programación.

Lic. Myrna Baena P. - Sistemas Informáticos 22


DESVENTAJAS
 Desventaja de esta metodología ágil,
es que luego de cada entrega el
sistema puede ir creciendo según
peticiones del cliente.
 Es recomendable emplearla solo en
proyectos a corto plazo.
 En caso de fallar, las comisiones son
muy altas.
Lic. Myrna Baena P. - Sistemas Informáticos 23

También podría gustarte