Está en la página 1de 19

EXTREME PROGRAMING

XP
¿Qué ES XP?

•Nueva disciplina del desarrollo de software.

•Su objetivo es aumentar la productividad al


desarrollar software.

•Permite la reducción de la burocracia


alrededor de la creación de software.

•Metodología de desarrollo ligera (ágil).


Metodologías agiles

Se basan en la adaptabilidad de cualquier cambio como medio para


aumentar las posibilidades de éxito de un proyecto.

• Los individuos y sus interacciones son más


importantes que los procesos y las herramientas.
• El software que funciona es más importante
que la documentación exhaustiva.
• La colaboración con el cliente en lugar de la
negociación de contratos.
• La respuesta delante del cambio en lugar de
seguir un plan cerrado.
¿QUE PRETENDE EVITAR XP?

•Retrasos en la planificación.
•Sistemas deteriorados.
•Tasa de defectos.
•Requisitos mal comprendidos.
•Cambios de negocio.
•Falsa riqueza.
•Cambios de personal.
OBJETIVOS DE XP

La satisfacción del cliente

Potenciar el trabajo en grupo.


EPISODIO DE DESARROLLO

EL JEFE DE PROYECTO:

“Quiero estos requisitos realizados para el


día 1 de mes próximo, solo cuentan con el
equipo actual. ¡Ah ya sabes que la calidad
es lo primero!”
CUATRO VARIABLES DE XP

COSTO.

TIEMPO.

CALIDAD.

AMBITO.
CUATRO VALORES PARA AFRONTAR
CAMBIO CON XP
Comunicación

Sencillez

Retroalimentación

Valentía
¿ Qué tareas debemos de llevar a
cabo para desarrollar un buen
software ?

•Codificar.

•Hacer pruebas.

•Escuchar.

•Diseñar
FASES DE LA METODOLOGIA XP

Se basa en 12 principios básicos, agrupados en 4


categorías.

•Retroalimentación a escala fina.

•Proceso continuo en lugar de por lotes.

•Entendimiento compartido.

•Bienestar del programador.


Retroalimentación a escala fina
1. El principio de pruebas: definición de las entradas al
sistema y los resultados esperados de estas entradas.

2. Proceso de planificación: Se creará un documento llamado


Historias del usuario (User Stories).

3. El cliente en el sitio: Representante del cliente para


determinar los requerimientos, definir la funcionalidad,
señalar las prioridades y responder las preguntas de los
programadores.

4. Programación en parejas: Este principio puede producir


aplicaciones más buenas, de manera consistente, a iguales o
Proceso continuo en lugar de por
lotes.
Integración continua: permite al equipo hacer un rápido
progreso implementando las nuevas características del
software.

2. Refactorización: Los programadores evalúan


continuamente el diseño y recodifican lo necesario.

3. Entregas pequeñas: colocan un sistema sencillo en


producción rápidamente que se actualiza de forma rápida y
constante permitiendo que el verdadero valor de negocio del
producto sea evaluado en un ambiente real.
• Entendimiento compartido.
1. Diseño simple (Simple Design): el mayor valor de negocio es
entregado por el programa más sencillo que cumpla los
requerimientos.

2. Metáfora: define una historia de como funciona el sistema


completo.

3. Propiedad colectiva del código: un código con propiedad


compartida.

4. Estándar de codificación: define la propiedad del código


compartido sí como las reglas para escribir y documentar el
código.
Ventajas Pair Programming
•Mas disciplina.
•Mejor código.
•Flujo de trabajo constante.
•Múltiples desarrolladores contribuyen al diseño.
•Moral mejorada.
•Propiedad Colectiva del código.
•Enseñanzas.
•Cohesión de equipo.
•Pocas interrupciones.
•Menos estaciones de trabajo.
Criticas Pair Programming
•Es tedioso enseñar a otro desarrollador menos experto.

•Muchos desarrolladores prefieren trabajar solos.

•Productividad difícil de medir.

•Diferencias en el estilo de codificación.

•Cronogramas distintos.

•Compañías que funcionan con Teletrabajo.


Bienestar del programador.
La semana de 40 horas: la programación extrema
sostiene que los programadores cansados escriben código
de menor calidad.

También podría gustarte