1 / 20

eXtreme Programming

eXtreme Programming. Jose Mª Cubel Navarro. Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia. ¿Qué es XP?. Proceso software ligero Diseñado para entornos dinámicos Ideal para equipos pequeños (hasta 10 programadores) Basado en el código

ronnie
Download Presentation

eXtreme Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. eXtreme Programming Jose Mª Cubel Navarro Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia

  2. ¿Qué es XP? • Proceso software ligero • Diseñado para entornos dinámicos • Ideal para equipos pequeños (hasta 10 programadores) • Basado en el código • Alta dependencia en la comunicación informal, verbal

  3. ¿Qué es XP? • Creado por Kent Beck para la plantilla del proyecto C3 en Chrysler • Kent fue contratado para dirigir el proyecto • Durante el proceso nació una nueva metodología • C3 concluyó exitosamente en 1997

  4. ¿Qué es XP? • Valores que intenta fomentar la filosofia XP: • Comunicación • Simplicidad • Retroalimentación • Coraje

  5. Programador (Programmer) Responsable de decisiones técnicas Responsable de construir el sistema Sin distinción entre analistas, diseñadores o codificadores En XP, los programadores diseñan, programan y realizan las pruebas Cliente (Customer) Es parte del equipo Determina qué construir y cuándo Escribe tests funcionales para determinar cuándo está completo un determinado aspecto Actores

  6. Entrenador (Coach) El líder del equipo - toma las decisiones importantes Principal responsable del proceso Tiende a estar en un segundo plano a medida que el equipo madura Rastreador (Tracker) Metric Man Observa sin molestar Conserva datos históricos Probador (Tester) Ayuda al cliente con las pruebas funcionales Se asegura de que los tests funcionales se ejecutan Actores

  7. El proceso Mientras(sistema_es_útil) { Captar requisitos • User Stories • Methaphor Planificar • Release planning • Iteration planning Desarrollar • Programming Presentar la entrega • Releasing }

  8. Prácticas clave en XP • El juego de planificación (The planning game) • Entregas pequeñas (Short releases) • Metáfora (Metaphor) • Diseños simples (Simple designs) • Pruebas (Testing) • Refactorización (Refactoring)

  9. Prácticas clave en XP • Programación en parejas (Pair programming) • Dominio colectivo del código(Collective code ownership) • Integración contínua (Continuous integration) • Semana de 40 horas (40-hour week) • Cliente in situ (On site customer) • Estándares de codificación (Coding standard)

  10. La gran foto • De forma aislada, cualquier práctica individual de XP tiene poco sentido • Pero en conjunto, unas compensan las carencias que las otras puedan tener • Para evaluar XP tienes que mirar la gran foto, es decir, todo el conjunto

  11. La gran foto

  12. OK, ¿pero XP funciona? • Probablemente • No hay datos concretos y reales en el índice de éxito de proyectos • No obstante está teniendo un gran crecimiento • Aumento en el número de proyectos • Han aparecido sitios web, grupos de noticias, incluso artículos en el “Economist” • ¿Por qué? • Tiene el visto bueno de algunos de los mejores:Booch, Gamma, Fowler, Cockburn, De Marco, Ambler • Proceso para gente que odia los procesos • Tiene sentido

  13. ¿Deberias probar XP? • ¿Tienes ya un proceso en su lugar? • ¿Reacciona bien a los cambios? • ¿Está tu equipo feliz con él? • Quizás deberías esperar • Se están recogiendo datos sobre XP • Serás capar de hacer comparaciones

  14. ¿Deberias probar XP? • Si no tienes ningún proceso • Si no eres capaz de responder a cambios • Si tu cliente no está feliz • XP es una gran forma de empezar • Facil de financiar • A los programadores les gustará XP • A los clientes les gustará el control añadido

  15. ¿Cómo empezar? • Incrementalmente • De “Extreme Programming Explained”: • Escoge tu peor problema • Resuelvelo al estilo XP • Repite

  16. Experiencias con XP • XP 2000 Conference: • Implantación progresiva de las prácticas • Muy pocos usan XP al completo • Prácticas más utilizadas: • Iteraciones cortas • Refactorización • Evolución progresiva (planning game) • Problemas surgidos: • Objetivos mezclados • Falta de comunicación

  17. Resumen • XP es una forma de desarrollar softwarebien definida y bien estructurada • Está hecho para equipos de trabajo pequeños que trabajan en la misma localización • Especialmente idóneo para entornos dinámicos • Prometedor pero no probado

  18. Dónde encontrar más URL’s http://www.extremeprogramming.org/ Web de XP http://www.xprogramming.comAn Extreme Programming Resource http://www.martinfowler.com/articles/designDead.htmlIs Design Dead? (Martin Fowler, Chief Scientist, ThoughtWorks) http://www.martinfowler.com/articles/xp2000.htmlThe XP 2000 Conference http://www.ucongres.edu.ar/cemun/cemun/hgest-pincirolli.htmLa importancia de un estándar para el desarrollo de sistemas (por Fernando Pincirolli) http://www.cimat.mx/ingsoft/seminario/XPresentation.zipSeminario de Ing. de Software del CIMAT. Conferencia sobre XP. Pedro Pinto. 22/01/2001 http://linux.oreillynet.com/pub/a/linux/2001/05/04/xp_intro.htmlAn Introduction to XP O'Reilly Open Source Convention in San Diego, CA, 23-27/07/2001 http://www.objectmentor.comObject Mentor - Extreme Programming at the Speed of Change

  19. Dónde encontrar más URL’s http://www.egroups.com/group/extremeprogrammingDiscussion of Extreme Programming practices and principles http://www.martinfowler.com/articles/newMethodology.html The New Methodology LIBROS / REVISTAS • Extreme Programming ExplainedBeck, Kent; Addison Wesley • Extreme Programming InstalledJeffries, Ron et al; Addison Wesley • Planning Extreme ProgrammingBeck, Kent et al; Addison Wesley • Refactoring – Improving the Design of Existing CodeFowler, Martin; Addison Wesley • Principles of Software Engineering Management • Gilb, Tom; Addison Wesley • Strengthening the Case for Pair ProgrammingWilliams, Laurie et al;; IEEE SOFTWARE, July/August 2000

More Related