Professional Documents
Culture Documents
buena documentacin Minimalismo respecto del modelado y la documentacin del sistema contrato
planificacin
Dificultad para implantar metodologas tradicionales. Sofisticadas herramientas CASE y notaciones (UML) Una solucin a medida para un segmento importante de proyectos de desarrollo de software Pugna entre comunidades/gurs Aceptar el cambio ...
Suposicin AMs
tiempo
2.
Dar la bienvenida a los cambios. Los AMs capturan los cambios para que el cliente tenga una ventaja competitiva
Entregar frecuentemente software que funcione, desde un par de semanas a un par de meses, con el menor intervalo de tiempo posible entre una entrega y la siguiente
3.
La gente del negocio y los desarrolladores deben trabajar juntos a lo largo del proyecto
Construir proyecto en torno a individuos motivados. Darles el entorno y el apoyo que necesitan y confiar en ellos para conseguir el trabajo El dilogo cara a cara es el mtodo ms eficiente y efectivo para comunicar informacin dentro de un equipo de desarrollo El software que funciona es la medida principal de progreso
6.
7.
9.
12. En intervalos regulares, el equipo reflexiona respecto de cmo llegar a ser ms efectivo, y segn esto ajusta su comportamiento
Metodologa No gil
Ms Artefactos Ms Roles
No existe un contrato tradicional o al Existe un contrato prefijado menos es bastante flexible Cliente es parte del equipo de desarrollo (adems in-situ) El cliente interacta con el equipo de desarrollo mediante reuniones
La arquitectura es esencial
Principales AMs
Crystal Methodologies, Alistarir Cockburn,
www.crystalmethodologies.org
SCRUM, Ken Schwaber & Jeff Sutherland,
www.controlchaos.com
DSDM (Dynamic Systems Development Method),
www.dsdm.org
Lean Programming, Mary Poppendieck,
www.poppendieck.com
FDD (Feature-Driven Development), Peter Coad & Jeff
www.extremeprogramming.org, www.xprogramming.com
eXtreme Programming
10
Qu es XP?
Es la primera metodologa gil
Diseada para entornos dinmicos Pensada para equipos pequeos (hasta 10
Historia de XP
Creado por Kent Beck para la plantilla del
proyecto C3 en Chrysler Kent fue contratado para dirigir el proyecto Durante el proceso naci una nueva metodologa: eXtreme Programming (XP) C3 concluy exitosamente en 1997
Roles XP
c2.com/cgi/wiki?ExtremeRoles
Programador (Programmer) Jefe de Proyecto (Manager) Responsable de decisiones Organiza y gua las tcnicas reuniones Responsable de construir el Asegura condiciones sistema adecuadas para el proyecto Sin distincin entre analistas, diseadores o codificadores Cliente (Customer) En XP, los programadores Es parte del equipo disean, programan y Determina qu realizan las pruebas construir y cundo Establece las pruebas
funcionales
... Roles XP
Encargado de
Pruebas (Tester)
Ayuda al cliente con
Entrenador (Coach) Responsable del proceso Tiende a estar en un segundo plano a medida que el equipo madura
Captura de Requisitos en XP
Historias del Usuario (User-Stories) Establecen los requisitos del cliente Trozos de funcionalidad que aportan valor Se les asignan tareas de programacin con un n de horas de desarrollo Las establece el cliente Son la base para las pruebas funcionales
Captura de Requisitos en XP
Una ficha de User-Story
Planificacin en XP
Planificacin por entregas (releases) Se priorizan aquellas user-stories que el cliente
user-story
Programacin en XP
La programacin de tareas se realiza por
parejas
La pareja disea, prueba, implementa e
Programacin en XP
Una ficha de Tarea
Espacio de trabajo XP
Espacio abierto Mesas centrales Cubculos en el espacio exterior
Prcticas XP
El juego de la planificacin Entregas pequeas Metfora Diseo simple Pruebas Refactoring Programacin en parejas Propiedad colectiva
Integracin contnua
Semana de 40 horas Cliente in situ
Estndares de programacin
De pie en un crculo
Evitar discusiones largas Sin conversaciones separadas
Prcticas XP Metfora
Cada proyecto XP es guiado por una
metfora global
Da un contexto al equipo para entender los
Prcticas XP Pruebas
Las pruebas unitarias se escriben ANTES que
el cdigo Pruebas automatizadas Permiten el desarrollo de proyectos de forma rpida y segura Pruebas unitarias programadores Pruebas funcionales cliente Resultado Un programa cada vez ms seguro
Prcticas XP Refactoring
Refactorizacin = Mejora del cdigo Intentar eliminar complejidad Cdigo duplicado Refactorizacin Se plantea su aplicacin despus de
pocas horas
Existe una ordenador dedicado para la
integracin
Cada pareja integra su cdigo en dicho
ordenador
son ms productivos
El exceso de trabajo es un serio problema en un
proyecto
La gente est ms fresca y tiene mejores ideas
trabajo:
Responder preguntas
Resolver disputas Establecer prioridades Discutir mejoras
homogneo, legible
Un da de trabajo en XP
forma de empezar
Fcil de financiar A los programadores les gusta A los clientes les gusta el control aadido