Metodologías de desarrollo ágiles: Scrum y eXtreme Programming.
Treball de l'assignatura Gestió de Sistemes d'Informació (GESI) de la Universitat Politècnica de Catalunya (UPC). Professor: Jordi Esteve. Gener 2009. Vilanova i la Geltrú. Barcelona. Catalunya.
2. Manifesto for Agile Software Development
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
3.
4. Product Owner (dueño del producto) -> Product Backlog
Scrum Master (facilitador)
Scrum Team (equipo 5-9 personas)
StakeHolders (clientes o proveedores)
Managers (Gestores o directivos)
Usuarios
5. Visión general del proyecto y su alcance
Construcción del Product Backlog
Construcción del equipo
Revisión del Product Backlog
Definición de terminado
Plan inicial de entregas
Logística (lugar de trabajo, equipos, etc.)
8. Actuación por sentido común
Sencillo de entender
Auto-organización del equipo
Rápido sin necesidad de planificaciones
iniciales como Pert o diagramas de Gantt
9.
10. eXtreme Programming (XP) es quizá la más destacada de las
metodologías ágiles de desarrollo del software. Fue ideada por
Kent Beck a finales de los 90.
En XP los cambios en los requisitos son un aspecto natural del
desarrollo de proyectos. Por lo tanto:
Adaptabilidad > Previsión en el diseño del software
Se basa en cuatro valores fundamentales y en diferentes prácticas
de programación, de las que enunciaremos las doce principales.
11. Testeos continuos (pruebas unitarias/ de aceptación)
Planificación (historias de usuarios)
Pequeñas mejoras (frecuentes entregas)
Sistema de metáforas (nombres claros)
Diseño simple (más rápido, funciones necesarias)
Refactorización del código (simplificarlo)
12. Programación por parejas (código / marco global)
El código es de todos (mejores correcciones / errores
evitables)
Integración continua (trabajar y renovar la versión)
Programación estandarizada / simple (cumplir
función / seguir estándar)
Ritmo sostenible (no sobrecargar al equipo / sin picos
de trabajo)
Relación con el cliente (“el cliente no ayuda al equipo,
es parte de él”)
14. Eficaz y rápido si se emplea en los proyectos
adecuados
Programación en parejas
Requiere contacto constante con el cliente
15. Semejanzas:
Ambas son metodologías de desarrollo ágiles,
basadas en los valores del "agile manifesto".
El hecho de que en ambas se utilicen las historias
de usuario de usuario.
Que se realicen continuamente entregas al cliente
en cortos periodo de tiempo.
Las reuniones exprés, de pie, entre los miembros
del equipo.
16. Diferencias:
SCRUM EXTREME PROGRAMMING
Las iteraciones de entrega son de dos a cuatro semanas y se Las iteraciones de entrega son de una a tres semanas (algo más
conocen como sprint. rápidas).
Al finalizar un sprint, las tareas que se han realizado del Sprint Las tareas que se van terminando en las diferentes entregas al
Backlog y en las que el Product Owner ha mostrado su cliente son susceptibles a modificaciones durante el transcurso de
conformidad ya no se vuelven a tocar en ningún momento. “Lo todo el proyecto, incluso después de que funcionen
que se termina, funciona y está bien, se aparta y ya no se toca”. correctamente.
Cada miembro del Scrum Team trabaja de forma individual. Los miembros programan en parejas en un proyecto de XP.
El Scrum Team trata de seguir el orden de prioridad que marca el El equipo de desarrollo sigue estrictamente el orden de prioridad
Product Owner en el Sprint Backlog pero si ven que es mejor de las tareas definido por el cliente (aunque el equipo de
modificar el orden de prioridad para el desarrollo de las tareas, desarrollo les ayude a decidir, ellos son lo que mandan)
pueden hacerlo.
El Scrum es una metodología de desarrollo ágil más basada en la En cambio, el XP se centra más en la propia programación o
administración del proyecto creación del producto
17. Documento pdf - Métodologías Ágiles en el Desarrollo de Software por José H. Canós, Patricio Letelier y Mª
Carmen Penadés de la Universidad Politécnica de Valencia http://www.willydev.net/descargas/prev/TodoAgil.pdf
Web Manifesto for Agile Software Development http://agilemanifesto.org
Agile Software Development - A gentle introduction http://www.agile-process.org/
Web PymeCrunch – SCRUM: metodología “ágil” para tus proyectos http://pymecrunch.com/scrum-metodologia-
agil-para-tus-proyectos
Video de conferencia de Ken Schwaber -Scrum http://video.google.com/videoplay?docid=-
7230144396191025011#
Web IngenieroSoftware - Gestión de proyectos con SCRUM
http://www.ingenierosoftware.com/equipos/scrum.php
Blog de Jorge Serrano MVP Visual Developer – Scrum
http://geeks.ms/blogs/jorge/archive/2007/05/09/explicando-scrum-a-mi-abuela.aspx
Web Wikipedia - concepto Burn Down Chart http://es.wikipedia.org/wiki/Burn_down_chart
Web Wikipedia en inglés- Extreme Programming http://en.wikipedia.org/wiki/Extreme_Programming
Extreme Programming: A gentle introduction http://www.extremeprogramming.org/
Web Wikipedia inglés- Extreme Programming Practices
http://en.wikipedia.org/wiki/Extreme_Programming_Practices
Web Hutagalung- Extreme Programming http://www.umsl.edu/~sauterv/analysis/f06Papers/Hutagalung/
Jera - Extreme Programming FAQ http://www.jera.com/techinfo/xpfaq.html
Apuntes de la asignatura GESI