Programacion extrema_WR

Post on 10-Aug-2015

35 views 0 download

Transcript of Programacion extrema_WR

PROGRAMACIÓN EXTREMAXP

Wilson Gerardo Rodríguez VicenteAnálisis de Sistemas

201210007

¿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 XPComunicación

Sencillez

Retroalimentación

Valentía

•XP ayuda mediante sus prácticas a fomentar la comunicación.

•XP nos enseña a apostar, ¡Apuesta por hacer una cosa sencilla hoy y pagar un poco mas para mañana.!

•“No me preguntes a mi, pregúntale al sistema”

•Asumir retos, ser valientes antes los problemas y afrontarlos.

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

•Codificar.

•Hacer pruebas.

•Escuchar.

•Diseñar

FASES DE LA METODOLOGIA XPSe 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 fina1. El principio de pruebas: definición de las entradas alsistema y los resultados esperados de estas entradas.

2. Proceso de planificación: Se creará un documento llamadoHistorias 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 menores costos.

Proceso continuo en lugar de por lotes.1. 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.

Bienestar del programador.

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

Bienestar del programador

CONCLUSIONES

Se puede concluir que la programación extrema es una buena alternativa, dependiendo del entorno de desarrollo en que se esta trabajando.

Al ser una herramienta que se basa en otras metodologías, se puede confiar en cada proceso individual.

La XP brinda no solo ventajas en cuanto a rapidez, sino que promueve habilidades sociales como la comunicación, el trabajo en equipo y disciplina.