Sie sind auf Seite 1von 48

UNIVERSIDAD DEL ISTMO

Tema: Metodologa gil - Programacin Extrema (XP) Expositor: Jos Pablo Santiago Cabrera. Carrera: Licenciatura En Informtica.
13/01/2013

Calidad de Software

Objetivos
Introduccin. Desarrollo.
Historia de la XP. Definicin de la XP. Programacion Extrema. Recursos de la XP. Valores y principios de la XP. Roles en XP. Ciclo de vida de un proyecto XP. Ventajas y desventajas.

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Conclusin

Calidad de Software

Introduccin

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

La metodologa de desarrollo de software evolucion desde los aos 90s. El proceso del modelo en cascada era visto como lento, degradante y con mucho papeleo. Inicialmente los mtodos giles fueron llamados de peso liviano.

Calidad de Software

Introduccin

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

En una reunin celebra en febrero de 2001 en Utah EUA, nace el trmino gil aplicado al desarrollo de software. El objetivo de esta reunin fue:
Dar a conocer los valores y principios de esta metodologa.

Calidad de Software

Introduccin

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Tras esta reunin se cre una organizacin llamada The Agile Alliance. Todo esto genero el Manifiesto gil, este es un documento que resume la filosofa gil y muestra los valores principales del desarrollo de software gil.

Calidad de Software

Introduccin

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Introducir al cliente en las interacciones del equipo de desarrollo sobre el proceso. Desarrollar software que funciona ms que conseguir una buena documentacin. La colaboracin del cliente ms que la negociacin de un contrato. Responder a los cambios ms que seguir estrictamente un plan.

Calidad de Software

Introduccin
METODOLOGA GIL
Pocos artefactos, modelos desechables. Preparadas para cambios durante el proyecto. Proceso menos controlado, pocos principios. El cliente es parte del equipo de desarrollo. Existe contrato flexible. Grupos pequeos trabajando en el mismo sitio. Poco consumo de recursos. Pocos roles.

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

METODOLOGA TRADICIONAL
Ms artefactos. El modelo es esencial. Cierta resistencia a los cambios. Proceso con numerosas polticas y normas. El cliente interacta mediante reuniones. Existe un contrato prefijado. Grupos grandes y posiblemente distribuidos. Ms consumo de recursos. Mas Roles.

Menos nfasis en la arquitectura del software.

La arquitectura de software es esencial.

Calidad de Software

Introduccin
Ejemplos de Metodologas gil:

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Adaptive Software Development (ASD). Agile Unified Process (AUP). Crystal Clear. Essential Unified Process (EssUP). Feature Driven Development (FDD). Lean Software Development (LSD). Kanban. Open Unified Process (OpenUP). Programacin Extrema (XP). Mtodo de Desarrollo de Sistemas Dinmicos (DSDM). Scrum.

Calidad de Software

Historia

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

En 1989, Cunningham form un equipo que usaba los principios y muchas de las prcticas que despus adoptara XP. Pero se reconoce a Kent Beck como el que articul esta propuesta y le dio nombre propio con la publicacin del libro Extreme Programming Explained: embrace change en 1999.

Calidad de Software

Historia

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

El manifiesto gil destaca los valores principales del desarrollo de software gil, algunas de ellas son:
Desarrollar software que funciona ms que conseguir una buena documentacin. La colaboracin del cliente ms que la negociacin de un contrato. Responder a los cambios ms que seguir estrictamente un plan.

Calidad de Software

Definicin

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

La Programacin Extrema (XP) es una metodologa de desarrollo de peso liviano o gil. La cual acepta lo que se conoce como buenas prcticas del desarrollo de sistemas de software y las lleva al extremo.

Calidad de Software

Definicin

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Este modelo de programacin se basa en una serie de metodologas de desarrollo de software en la que se da prioridad a los trabajos que dan un resultado directo.

Calidad de Software

Definicin

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

La XP se basa de variables de control, actividades de control, valores, principios bsicos. Tambin existen algunas prcticas esenciales que distinguen a XP de otras metodologas de desarrollo.

Calidad de Software

Definicin

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

La XP permite controlar los problemas de riesgo en los proyectos mediante medidas o decisiones extremas, y algunas de las caractersticas de estas son: Se basa en retroalimentacin continua entre desarrollo. Comunicacin fluida entre todos los integrantes. Simplicidad en las soluciones implementadas. el cliente y el equipo de

Coraje para enfrentar los cambios.


La XP es adecuada para proyectos con requisitos imprecisos y muy cambiantes. La toma de decisiones debe ser muy rpida y efectiva.

Calidad de Software

XP

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

La principal diferencia entre la metodologa de desarrollo de XP y otros tipos de metodologas de desarrollo es que se centra a escuchar al usuario.

Sabiendo escuchar lo que desean los usuarios se puede calcular la cantidad de recursos que requerir.

Calidad de Software

XP
Por ejemplo.

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

La filosofa de XP asume que si el analista determina el alcance, la calidad y el tiempo necesarios para terminar el proyecto, puede ajustar el costo. Si el analista determina la cantidad de tiempo, la calidad y el costo que se requieren, podra ajustar el alcance.

Recursos de la Programacion Extrema

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Las actividades bsicas de la programacin extrema son:


Codificar Probar Escuchar Disear

Recursos de la Programacion Extrema


Codificar.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

El proceso bsicamente es esto:


Tener un pensamiento. Codificarlo. Probarlo. Verificar si el pensamiento fue correcto.

Recursos de la Programacion Extrema


Probar.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

La programacin extrema realiza pruebas escritas para verificar la codificacin, la funcionalidad, el rendimiento y la conformidad con los objetivos. Corto Plazo
Si las pruebas se ejecutan perfectamente se puede seguir adelante con la confianza renovada.

Largo Plazo
Mantiene vivo un sistema, y le permite hacer muchos ms cambios de los que seran posibles.

Recursos de la Programacion Extrema


Escuchar

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

En la XP, esta actividad se lleva al extremo. El desarrollador debe escuchar al cliente. Los desarrolladores asumen que no saben nada acerca del negocio en el que estn colaborando, y por lo tanto deben escuchar cuidadosamente a los usuarios para obtener las respuestas a sus preguntas. Si no escucha, no sabr lo que debe codificar o lo que debe probar.

Recursos de la Programacion Extrema


Disear

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Disear es una actividad evolutiva, y por ello los sistemas que se disean con un enfoque de la programacin extrema se conceptualizan como en constante evolucin, siempre disendose. Disear bien permite agregar extensiones al sistema haciendo cambios en un solo lugar.

Recursos de la Programacion Extrema

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Las variables de control de recursos son:


Calidad Alcance Tiempo Costo

Recursos de la Programacion Extrema


Calidad.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Este recurso se divide en dos calidad interna y externa. Calidad interna.


Esta calidad se basa de probar factores del software como la funcionalidad y la conformidad. Se recomienda que centrarse mas a esta calidad.

Calidad externa.
Esta calidad se basa de la percepcin del cliente al sistema.

Recursos de la Programacion Extrema

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

La XP permite sacrificar algunos de los aspectos de calidad externos, para que el sistema sea liberado a tiempo. Implicando a que el cliente tenga que lidiar con algunos errores. Si el desarrollador desea cumplir con la fecha lmite, tal vez la interfaz de usuario no sea perfecta, La puede refinar en una versin posterior.

Recursos de la Programacion Extrema


Alcance.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Supongamos que estamos desarrollando un software para la empresa ADO. El cliente pide:
Pagina web radio.

Recursos de la Programacion Extrema


Tiempo.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Es necesario dedicar suficiente tiempo a la elaboracin de un proyecto. El tiempo se asigna a actividades separadas. La XP desafa la idea de que ms tiempo le permitir obtener los resultados que desea. Con frecuencia suele ocurrir que los clientes se sienten felices si parte de la funcionalidad queda lista a tiempo.

Recursos de la Programacion Extrema


Costo.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Valores y Principios de la XP

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

En esta metodologa existen cuatro valores que crean un entorno estable para el desarrollo y son:

Valores y Principios de la XP
Comunicacin. Simpleza

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Cada esfuerzo humano tiene la posibilidad de fallar en la comunicacin.

Cuando se est trabajando en un proyecto de desarrollo de software, la primera reaccin es abrumarse por la complejidad y magnitud de la tarea.

Retroalimentacin
Una retroalimentacin buena y concreta, que es til para el programador, analista y cliente puede ocurrir en segundos, minutos, das, semanas o meses, dependiendo de lo que se necesita, quin est comunicando y lo que se har con dicha retroalimentacin.

Valenta
La valenta tiene que ver con un nivel de confianza que debe existir en el equipo de desarrollo.

Valores y Principios de la XP
12 Principios
El juego de la planificacin. Pequeas versiones. Metfora. Diseo simple. Recodificacin. Programacion en parejas. Propiedad colectiva. Integracin continua. Cuarenta Horas. Cliente In Situ. Estndares de codificacin. Hacer pruebas

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Valores y Principios de la XP
El juego de la planificacin.
mbito. Prioridad. Fecha de versiones.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Preguntas entre Negocio- Tcnico.


Estimaciones. Procesos. Consecuencias.

Pequeas versiones.
Versiones pequeas importantes. con los requisitos mas

Metfora.
Pequea historia que tiene los desarrolladores de como funciona el sistema.

Valores y Principios de la XP
Diseo simple.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Funciona con todas las pruebas, tiene el menor numero de clases y mtodos.

Recodificacin.
O refactorizar, consiste en hacer el programa mas simple sin perder funcionalidad.

Programacion en parejas. Propiedad colectiva.


Cualquiera que pueda aportar valor al cdigo puede hacer, no existe individualidad.

Valores y Principios de la XP
Integracin continua.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Debe integrarse mdulos como mnimo una vez al da y probar su totalidad en el sistema.

Cuarenta Horas. Cliente In Situ.


Un cliente debe estar presenten con el equipo de programadores.

Estndares de codificacin.
Se debe establecer un estndar de codificacin.

Hacer pruebas

Calidad de Software

Roles en XP
Cliente

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Escribe Historias de usuarios y especifica pruebas funcionales. Establece prioridades. Puede ser o no un usuario final.

Programador
Hace estimaciones sobre las historias. Define tareas a partir de las historias y hace estimaciones. Implementa las historias y las pruebas unitarias.

Calidad de Software

Roles en XP
Tutor.

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Observa todo, identifica seales de peligro, se asegura que el proyecto se mantiene en curso. Ayuda en todo.

Perseguidor (calidad)
Monitoriza el progreso de los programadores, toma accin si las cosas tienden a salirse del control.

Verificador.
Implementa y corre las pruebas funcionales. Presenta graficas de los resultados y se asegura de que la gente conoce cuando los resultados empiezan a caer.

Calidad de Software

Roles en XP
Agorero.

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Se asegura que todos conocen los riesgos que existen. Se asegura que las malas noticias no se oculten.

Gestor.
Planifica las reuniones. Es el responsable directo del propietario de oro.

Propietario de oro.
La persona que paga el proyecto.

Ciclo de vida de un proyecto en XP.


Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

El ciclo de vida ideal de XP consiste de seis fases que son:


Exploracin. Planificacin de la Entrega (Release). Iteraciones. Produccin. Mantenimiento. Muerte del Proyecto.

Ciclo de vida de un proyecto en XP.


Exploracin.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Ciclo de vida de un proyecto en XP.


Planificacin de la Entrega.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Ciclo de vida de un proyecto en XP.


Iteraciones

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Ciclo de vida de un proyecto en XP.


Produccin

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Ciclo de vida de un proyecto en XP.


Produccin

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Ciclo de vida de un proyecto en XP.


Mantenimiento

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Ciclo de vida de un proyecto en XP.

Calidad de Software J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Calidad de Software

Ventajas y Desventajas
Ventajas

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Satisfaccin del cliente. Cumplimiento de plazos. El cliente tiene el control sobre las prioridades. Se hacen pruebas continuas durante el proyecto. Calidad en el trabajo. Es utilizada donde los requerimientos cambian rpidamente.

Calidad de Software

Ventajas y Desventajas
Desventajas

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

Es recomendado emplearlo en proyectos a corto plazo. Altos costos en caso de fallar. Es complicado predecir costos y tiempo de desarrollo si no se tiene un buen conocimiento de ellos.

Calidad de Software

Conclusin

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

En conclusin el proceso de esta metodologa basada en prototipos es una tcnica til para la recopilacin de informacin para completar el ciclo de vida del desarrollo de sistemas. Prcticamente la metodologa gil de programacin extrema se encuentra basada en un proceso que promueve la comunicacin en el equipo, la sencillez en la implementacin, otra muy importante es que el cliente debe estar muy informado e implicado en el desarrollo de esta para aumentar el nivel de conformidad, que el tiempo del desarrollo sea el indicado y que la toma de decisiones se tiene que ser muy rpida pero a la vez efectiva.

Calidad de Software

Bibliografa

J. Pablo Santiago Cabrera Programacion Extrema XP 13/01/2013

http://oness.sourceforge.net/docbook/metodologia.html http://books.google.com.mx/books?id=G8EL4H4vf7UC&printsec=frontcover&dq= extreme+programming+explained&hl=es&sa=X&ei=V7GiUNyoOoK9qgGGj4CYAg &ved=0CC0Q6AEwAA#v=onepage&q=extreme%20programming%20explained&f= false http://mhsaleh.persiangig.com/document/extremeprogramming/Extreme%20Prog ramming%20Explained%20-%20Kent%20Beck;%20Addison-Wesley,%201999.pdf

Das könnte Ihnen auch gefallen