14
Programacion Extrema eXtreme Programming Por: Sánchez Colin Virginia

Extreme Programing

Embed Size (px)

Citation preview

Page 1: Extreme Programing

Programacion Extrema

eXtreme Programming

Por: Sánchez Colin Virginia

Page 2: Extreme Programing

05/02/2023 [Nombre del proyecto]

Introducción• La programación extrema es una metodología ágil que

mas se utiliza. Permiten a un equipo crear frecuentes lanzamientos de software llamados incrementos. El código se mantiene en constante edición, movimiento y testeo por lo que promueve su adaptación a las situaciones.

Page 3: Extreme Programing

05/02/2023 [Nombre del proyecto]

Antecedentes• Las primeras ideas y métodos asociados con la

programación extrema surguieron en la década de 1990.

• En 1999 se publicó el primer trabajo fundamental de la materia por Kent Beck.

• Otros trabajos fundamentales como los de Ron Jeffries que nos proporcionan detalles técnicos, Beck y Fowler que nos hablan de la planeación.

Page 4: Extreme Programing

05/02/2023 [Nombre del proyecto]

Planeación

Diseño

Codificación

Prueba

Historias del usuario Valores Criterios de las pruebas de iteraciónPlan de iteración

Diseño simplecartas CRC

Soluciones picoprototipos

Programación en pareja

integración continua

Prueba de unidad

Pruebas de aceptación

Lanzamiento

Incremento de software Velocidad calculada del proyecto

refabricación

Page 5: Extreme Programing

05/02/2023 [Nombre del proyecto]

Características• Utiliza el paradigma de desarrollo orientado a objetos.• Abarca un conjunto de reglas y prácticas que ocurren en un marco de trabajo

desarrollado en cuatro actividades:– Planeación– Diseño– Codificación– Prueba

"La programación extrema es una disciplina de desarrollo de software que se basa en valores de simplicidad, comunicación, retroalimentación y audacia"

Ron Jeffiries

Page 6: Extreme Programing

05/02/2023 [Nombre del proyecto]

Planeación

• Inicia con la creación de las Historias de usuario:– Describen la características y la funcionalidad requeridas para el

software que se construirá.– Son escritas por el cliente y les asigna una prioridad.

• Equipo de XP– Evalúan cada historia y les asignan un costo (semanas de desarrollo).– Si las historias son muy largas, se le pide al usuario que la fragmente en

historias mas reducidas.

Page 7: Extreme Programing

05/02/2023 [Nombre del proyecto]

Planeación

• Acuerdo– El equipo de trabajo y el cliente establecen qué historias se

incluirán, la fecha de entrega y su agrupamiento para un lanzamiento.

– Desarrollo del planteamiento:1. Todas las historias son implementadas (pocas semanas)2. Se implementan primero las historias de mayor importancia3. Se implementan primero las historias de mayor riesgo

Page 8: Extreme Programing

05/02/2023 [Nombre del proyecto]

Planeación

• Entrega del primer incremento de software.– Se calcula la velocidad del proyecto (numero de historias implementadas en

el primer lanzamiento)1. Estima fechas de entrega2. Determina si existen compromisos excesivos

• El cliente puede agregar, cambiar, dividir o eliminar historias conforme el desarrollo, por lo que el equipo modificará sus planes conforme a ello.

Page 9: Extreme Programing

05/02/2023 [Nombre del proyecto]

Diseño• Se sigue el principio "mantenimiento simple”.

• Apoyo de tarjetas CRC (Clase-Responsabilidad- Colaboradores), que identifica y organiza las clases orientas a objetos.

• La solución pico es un prototipo utilizado cuando en el diseño se quiere evitar riesgos ante un problema complicado.

• Se apoya en la refabricación cuyo objetivo es mejorar el diseño interno del código sin alterar su comportamiento externo.

Page 10: Extreme Programing

05/02/2023 [Nombre del proyecto]

Diseño

• Se dice que se diseña antes y despues de la codificación, debido a la refabricación, la misma contrucción ayuda a identificar que aspectos pueden mejorarse.

Page 11: Extreme Programing

05/02/2023 [Nombre del proyecto]

Codificación

• Desarrollo de pruebas de unidad:– Reafirma cada una de las historias que debe incluir el

lanzamiento actual (incremento de software).– El desarrollador se centra en lo que debe implementarse para

pasar la prueba de unidad.– Una vez que el código esta completo, ofrece una

retroalimentación a los desarrolladores.

Page 12: Extreme Programing

05/02/2023 [Nombre del proyecto]

Codificación• Programación en pareja

– Se recomienda que dos personas trabajen en la codificación de una historia.

– Cada integrante tiene un papel diferente, mientras que uno se dedica a la codificación del diseño el otro, supervisa que se sigan con los estándares de codificación y que se cumpla el diseño propuesto.

• Integración continua– El equipo de integración se encarga de incorporar el trabajo de

todos los equipos.

Page 13: Extreme Programing

05/02/2023 [Nombre del proyecto]

Pruebas

• Las pruebas de unidad se implementan en un marco de trabajo automatizable (deben ejecutarse de manera fácil y repetitiva).

• Pruebas de validación e integración (a diario) dan un indicativo del proceso e identificación de los riesgos.

• Pruebas de aceptación, las espefica el cliente y se enfocan en caracterésticas generales y funcionalidades que sean visibles y revisables al cliente.

Page 14: Extreme Programing

05/02/2023 [Nombre del proyecto]