Beruflich Dokumente
Kultur Dokumente
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.
Conclusin
Calidad de Software
Introduccin
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
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
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
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.
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.
Calidad de Software
Introduccin
Ejemplos de Metodologas gil:
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
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
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
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
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
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
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
Calidad de Software
XP
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.
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.
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.
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.
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.
Calidad externa.
Esta calidad se basa de la percepcin del cliente al sistema.
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.
Supongamos que estamos desarrollando un software para la empresa ADO. El cliente pide:
Pagina web radio.
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.
Valores y Principios de la XP
En esta metodologa existen cuatro valores que crean un entorno estable para el desarrollo y son:
Valores y Principios de la XP
Comunicacin. Simpleza
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
Valores y Principios de la XP
El juego de la planificacin.
mbito. Prioridad. Fecha de versiones.
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.
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.
Valores y Principios de la XP
Integracin continua.
Debe integrarse mdulos como mnimo una vez al da y probar su totalidad en el sistema.
Estndares de codificacin.
Se debe establecer un estndar de codificacin.
Hacer pruebas
Calidad de Software
Roles en XP
Cliente
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.
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.
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.
Calidad de Software
Ventajas y Desventajas
Ventajas
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
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
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