metodología de desarrollo xp

35
METODOLOGIA DE DESARROLLO (Extreme Programming)

Upload: maria-duque

Post on 14-Jul-2016

22 views

Category:

Documents


3 download

DESCRIPTION

Metodologia de desarrollo xp

TRANSCRIPT

Page 1: Metodología de Desarrollo XP

METODOLOGIA DE DESARROLLO

(Extreme Programming)

             

Page 2: Metodología de Desarrollo XP

XP – Programación Extrema

•¿Que es XP?Metodología de Desarrollo de Software que se basa en:

Gerencia de Sistemas - 2008

Retroalimentación Comunicación Usuario - Programador

Page 3: Metodología de Desarrollo XP

XP – Programación Extrema

•¿Cuando Usar XP?Se recomienda usar esta metodologia de desarrollo en proyectos:

Gerencia de Sistemas - 2008

Dinámicos: Donde sus requerimientos pueden variar constantemente (tiempos de entregas).

Page 4: Metodología de Desarrollo XP

XP – Programación Extrema

•¿Cuando Usar XP?Se recomienda usar esta metodología de desarrollo en proyectos:

Gerencia de Sistemas - 2008

Con grupos de trabajos pequeños, de manera que asimilen los cambios del proyecto en forma efectiva.

Page 5: Metodología de Desarrollo XP

XP – Programación Extrema

•¿Cuando Usar XP?Se recomienda usar esta metodología de desarrollo en proyectos:

Gerencia de Sistemas - 2008

Donde se disponga de una gran comunicación con el usuario (cliente) .

Page 6: Metodología de Desarrollo XP

XP – Programación Extrema

•Filosofía de la metodología

Gerencia de Sistemas - 2008

Reglas(principios)

Practicas(actividades)

XP

Page 7: Metodología de Desarrollo XP

XP – Programación Extrema

Gerencia de Sistemas - 2008

Diseño

XP Planificación

Desarrollo

Pruebas

Page 8: Metodología de Desarrollo XP

XP – Programación Extrema

Gerencia de Sistemas - 2008

XPPlanificación

Historias de Usuarios

Planificación de Entregas

Liberación de Entregables

Dividir y Planificar Proyecto en Iteraciones

Medir Velocidad del

Proyecto

Page 9: Metodología de Desarrollo XP

XP – Programación Extrema

Historias de Usuario por Escrito

Gerencia de Sistemas - 2008

Descripción clara y sencilla de la necesidad a implementar, hecha por el usuari, sin usar palabras tecnicas.

Page 10: Metodología de Desarrollo XP

XP – Programación Extrema

Crear Planificación de Entregas

Gerencia de Sistemas - 2008

Estimación del tiempo de desarrollo para cada una de las Hisotrias de Usuarios expresadas en semanas ideales.

Page 11: Metodología de Desarrollo XP

XP – Programación Extrema

•Fases - PlanificaciónPequeñas entregas de producto terminadoCon la finalidad de obtener una mayor retroalimentación del cliente, se hace necesario que el grupo de desarrollo libere, en forma constante, pequeñas versiones del sistema como producto de cada iteración.

Gerencia de Sistemas - 2008

Page 12: Metodología de Desarrollo XP

XP – Programación Extrema•Fases - PlanificaciónMedir la velocidad del proyecto Planificar la cantidad de Historias de usuarios que se van a desarrollar en cada iteración.

Gerencia de Sistemas - 2008

Tiempo de Ejecución Planificado

(Cantidad de Historias de Usuarios Planificadas)

¿Tiempo de Ejecución

Real

(Cantidad de Historias de Usuarios Ejecutadas)

?=

Page 13: Metodología de Desarrollo XP

XP – Programación Extrema

•Fases - PlanificaciónDividir el proyecto en iteraciones

Gerencia de Sistemas - 2008

Proyecto Fideicomiso

Iteracion 1 (de 1 a 3 semanas)

Iteracion N (de 1 a 3 semanas)

..

Page 14: Metodología de Desarrollo XP

XP – Programación Extrema

Planificar cada iteración

Gerencia de Sistemas - 2008

Seleccionarlas para cada iteración las Historias de Usuario según su prioridad. Traducir las Historias de usuarios en Tarjeta de Tareas.

Page 15: Metodología de Desarrollo XP

XP – Programación Extrema

•Fases - PlanificaciónRotar al personal de desarrolloPara lograr que el código creado por el grupo de desarrollo sea de propiedad colectiva, es necesario que cada pareja de programación rote en la elaboración de las historias de usuario.

Gerencia de Sistemas - 2008

Page 16: Metodología de Desarrollo XP

XP – Programación Extrema•Fases - PlanificaciónHacer los cambios a XP que sean requeridos Al comenzar con el proyecto, el grupo de trabajo debe regirse por las “Reglas y Principios” de la metodología XP; esto no quiere decir que las mismas son inmutables. Dichos cambios deben ser producto de un acuerdo de todo el grupo de desarrollo, luego de un análisis de cada una de las reglas y verificar cual y cual no se adapta al proyecto.

Gerencia de Sistemas - 2008

Page 17: Metodología de Desarrollo XP

XP – Programación Extrema

Gerencia de Sistemas - 2008

XPDiseño

Diseño Simple

Selección de Metafora

Creación de CRC

Refactorizar

No añadir funcionalidad

Temprana

Page 18: Metodología de Desarrollo XP

XP – Programación Extrema

•Fases - DiseñoRealizar un diseño simple

Se emplea menos tiempo que uno complejo.Conduce a codificación facil.

Gerencia de Sistemas - 2008

Page 19: Metodología de Desarrollo XP

XP – Programación Extrema•Fases - DiseñoSeleccionar una metáfora del sistema Creando a través de la misma una visión global y común del sistema a desarrollar; debe estar expresada en términos comunes para el grupo de desarrollo, haciendo analogías de cómo trabaja el sistema con aspectos de la vida real. La misma ayudará al equipo a estar sintonizados en cuanto a la denominación de los objetos y las clases en forma consistente.

Gerencia de Sistemas - 2008

Page 20: Metodología de Desarrollo XP

XP – Programación Extrema•Fases - DiseñoUsar tarjetas CRC para sesiones de diseño Las tarjetas de Clases, Responsabilidades y Colaboración (CRC) son utilizadas para descubrir las soluciones de problemas técnicos con niveles de complejidad alto. Se hace analogía entre las tarjetas CRC con las clases a implementarse dentro del sistema, es decir, que por cada objeto que compone la aplicación, se usa una tarjeta CRC para representarlo.

Gerencia de Sistemas - 2008

Page 21: Metodología de Desarrollo XP

XP – Programación Extrema

Usar tarjetas CRC para sesiones de diseño

Gerencia de Sistemas - 2008

CRC permiete facilitar la comunicación y documentar los resultados.

Page 22: Metodología de Desarrollo XP

XP – Programación Extrema•Fases - DiseñoNo añadir funcionalidades en forma temprana Mantener la simplicidad dentro de la codificación para ello se debe evitar añadir funcionalidades extras al diseño, que por lo general implica un uso inadecuado de los recursos. Para esto, se recomienda “colocarse una venda para no ver requerimientos futuros” y solo concentrase en la lista de tareas programadas para el día.

Gerencia de Sistemas - 2008

Page 23: Metodología de Desarrollo XP

XP – Programación Extrema

•Fases - DiseñoRefactorizar La refactorización es la sustracción, dentro del diseño y de la codificación del sistema, de aquellas cosas obsoletas como: funcionalidades utilizadas, redundancias, entre otros elementos, donde lo único que aportan al producto es mayor costo de mantenimiento.

Gerencia de Sistemas - 2008

Page 24: Metodología de Desarrollo XP

XP – Programación Extrema

Gerencia de Sistemas - 2008

XPDesarrollo

Integrar al cliente en grupo de

trabajo

Codificar bajo Estandares

Crear pruebas unitarias antes

de codificar

Integración Continua

Programación en parejas

Page 25: Metodología de Desarrollo XP

XP – Programación Extrema

•Fases - DesarrolloEl cliente siempre debe estar disponible Más que estar disponible, el cliente debe ser parte del grupo de desarrollo dentro de la disciplina XP, debido a que conviene que exista comunicación cara a cara con el mismo en cada una de las fases de desarrollo.

Gerencia de Sistemas - 2008

Page 26: Metodología de Desarrollo XP

XP – Programación Extrema

•Fases - DesarrolloCodificar según estándar definidos por el equipoCrear estándares de programación ayuda a que se pueda crear en forma consistente un código colectivo, pues todos los desarrolladores entenderán en forma clara lo que allí esta escrito.

Gerencia de Sistemas - 2008

Page 27: Metodología de Desarrollo XP

XP – Programación Extrema

•Fases - DesarrolloCrear prueba unitaria antes de codificar Las pruebas unitarias deben ser construidas antes de codificar, puesto que de ese modo es mucho más fácil y rápida su elaboración. Además permite al desarrollador codificar de tomando en cuenta los aspectos que evalúa las pruebas unitarias, y a su vez estará creando un código fácil de probar.

Gerencia de Sistemas - 2008

Page 28: Metodología de Desarrollo XP

XP – Programación Extrema

•Fases - DesarrolloCrear prueba unitaria antes de codificar Para muchos la creación de pruebas unitarias antes de la generación del código es algo contraproducente, incluso, podría ser visto como una perdida de tiempo, pero muchos autores, por el contrario indican que esto es mucho mas productivo, eficiente y económico que tratar de encontrar de un error en un modulo ya elaborado.

Gerencia de Sistemas - 2008

Page 29: Metodología de Desarrollo XP

XP – Programación Extrema

Crear prueba unitaria antes de codificar

Gerencia de Sistemas - 2008

Page 30: Metodología de Desarrollo XP

XP – Programación Extrema•Fases - DesarrolloProgramación en parejaLejos de aportar mayores costos para el proceso de desarrollo, contribuye con el incremento de la calidad del software a producir. Si bien dos programadores por separado producirían mayor cantidad de código, la potencialidad del producto generado en pareja supera el beneficio de lo primero, por la calidad del desarrollo, permitiendo ahorrar tiempo en correcciones futuras.

Gerencia de Sistemas - 2008

Page 31: Metodología de Desarrollo XP

XP – Programación Extrema•Fases - DesarrolloSolo una pareja de desarrolladores integra código por vez Las parejas de desarrolladores se van alternando, en forma secuencial, el turno para integrar con la última versión constituida y almacenada en el repositorio de código fuente, probando en forma simultanea la nueva versión antes de liberarla.

Gerencia de Sistemas - 2008

Page 32: Metodología de Desarrollo XP

XP – Programación Extrema

•Fases - DesarrolloSolo una pareja de desarrolladores integra código por vez

Gerencia de Sistemas - 2008

Usar un solo PC para la integración permite controlde

integración

Page 33: Metodología de Desarrollo XP

XP – Programación Extrema•Fases - DesarrolloIntegración continúa

Evita redundancias.Permite reusar el codigo. Facilita realizacion de pruebas y detección de

errores tempranamente.Se suprime la integración final.

Gerencia de Sistemas - 2008

Page 34: Metodología de Desarrollo XP

XP – Programación Extrema•Fases - DesarrolloUso de código de propiedad colectiva Esta práctica fomenta el aporte de nuevas ideas por parte de todos los integrantes del equipo para todos los segmentos del proyecto. Adicionalmente reduce los cuellos de botellas personales, es decir, que si algún miembro del equipo tiene problemas en realizar cambios en una funcionalidad, cualquier programador puede libremente ayudar a introducir la modificación.

Gerencia de Sistemas - 2008

Page 35: Metodología de Desarrollo XP

XP – Programación Extrema

Gerencia de Sistemas - 2008

XPPruebas

Ejecución de Prubas

Unitarias

Todod codigo debe pasar las

pruebas

Al encontrar error se crea una nueva

prueba

Informar al cliente sobre resultados de

pruebas