PROGRAMACION AGIL:“ SCRUM Y XP ”
Profesor: Hernán Moraga
Edición: Aline Guerrero
Ingeniería De Software Santiago, 16 Diciembre 2005 1/30
SCRUM
Gestión Ágil de Proyectos
Colaborador:
Anónimo
Ingeniería De Software Santiago, 16 Diciembre 2005 2/30
¿Qué Es SCRUM? SCRUM es una metodología ágil de gestión de
proyectos cuyo objetivo primordial es elevar al máximo la productividad de un equipo.
Reduce al máximo la burocracia y actividades no orientadas a producir software que funcione y produce resultados en periodos muy breves de tiempo (cada 30 días), por medio de iteraciones o Sprints.
Ideal para proyectos con un rápido cambio de requerimientos.
Ingeniería De Software Santiago, 16 Diciembre 2005 3/30
Contexto SCRUM Sólo abarca prácticas de gestión sin entrar en las
prácticas de desarrollo como puede hacer XP. Delega completamente en el equipo la
responsabilidad de decidir la mejor manera de trabajar para ser lo más productivos posibles y, le da gran protagonismo a las reuniones que realicen a lo largo del proyecto.
Sus raíces teóricas están en las teorías de la auto-organización.
Ingeniería De Software Santiago, 16 Diciembre 2005 4/30
Actores SCRUMPropietario del producto
Representa a todos los interesados en el producto final.Sus áreas de responsabilidad son: Financiación del proyecto. Retorno de la inversión del proyecto. Lanzamiento del proyecto.
Ingeniería De Software Santiago, 16 Diciembre 2005 5/30
Actores SCRUMEquipo
Responsable de transformar el Backlog de la iteración en un incremento de la funcionalidad del software. Auto-gestionado. Auto-organizado. Multi-funcional.
Ingeniería De Software Santiago, 16 Diciembre 2005 6/30
Actores SCRUMScrum Master
Responsable del proceso Scrum. Formación y entrenamiento del proceso. Incorporación de Scrum en la cultura de la
empresa. Garantía de cumplimiento de roles y
responsabilidad.
Ingeniería De Software Santiago, 16 Diciembre 2005 7/30
Metodología De Trabajo Equipos de entre 6 y 10 personas revisan los
requisitos, la tecnología disponible y evalúan los conocimientos para colectivamente determinar como incrementar la funcionalidad.
Reuniones diarias, antes de empezar a trabajar, con una duración máxima de 4 hrs.
Se llevan a cabo hasta que el proyecto este listo para ser puesto en producción o ser lanzado al mercado.
Ingeniería De Software Santiago, 16 Diciembre 2005 8/30
Metodología De Trabajo En la primera reunión se explica al equipo la forma de
trabajo, especificando que son reuniones cortas para coordinar trabajo y no para solucionar problemas. Se establecen los criterios para arreglar los errores por prioridades (base del éxito del sistema).
Al inicio de cada iteración se revisa el trabajo pendiente en el proyecto y se selecciona la parte a la cual se le incrementara funcionalidad, para al final de la iteración incorporarla al SW y presentársela a las partes involucradas.
En cada reunión las preguntas claves a contestar son: ¿Qué es lo que se hizo desde la última reunión? ¿Qué es lo que se va a hacer hasta la siguiente reunión? ¿Cómo se va a llevar a cabo?
Ingeniería De Software Santiago, 16 Diciembre 2005 9/30
Artefactos SCRUMSprint
Es la base del desarrollo Scrum. Su duración máxima es de 30 días. Se llevan a cabo las tareas pre-establecidas y no se puede
modificar el trabajo acordado en el backlog. Sólo el ScrumMaster puede abortar un sprint si lo
considera no viable por alguna de las sgtes. razones: Las circunstancias del negocio han cambiado. La tecnología acordada no funciona. El equipo ha tenido interferencias.
Ingeniería De Software Santiago, 16 Diciembre 2005 10/30
Artefactos SCRUMProduct Backlog
Crea un listado con los requisitos de los usuarios o propietarios del sistema para planificar el proyecto.
No es una lista completa y definitiva. Es sólo una estimación inicial de los requisitos.
Es un documento dinámico que incorpora las constantes necesidades del sistema y se mantiene durante todo el ciclo de vida (hasta la retirada del Sist.).
Ingeniería De Software Santiago, 16 Diciembre 2005 11/30
Artefactos SCRUMSprint Backlog
Especifica la serie de tareas que se van a desarrollar según los requisitos señalados.
Estas tareas tienen una duración de entre 4 y 16 hrs. de trabajo.
Las de mayor duración intentar descomponerlas en Sub-Tareas dentro de ese rango de tiempo.
Al final del sprint se busca un incremento en la funcionalidad.
Ingeniería De Software Santiago, 16 Diciembre 2005 12/30
El Flujo De SCRUM
Ingeniería De Software Santiago, 16 Diciembre 2005 13/30
Bibliografía http://www.ingenierosoftware.com/equipos/estabilizar-aplicacion.php
http://www.agile-spain.com/agilev2/donde_aprender_mas_sobre_scrum
http://blogs.msdn.com/josemurl/archive/2005/09/15/467898.aspx
http://www.exa.unicen.edu.ar/catedras/ingsoft/informeagiles.doc
Ingeniería De Software Santiago, 16 Diciembre 2005 14/30
XP
Programación Extrema
Colaboradores: Felipe Lobos
Wilder Escobedo
Ingeniería De Software Santiago, 16 Diciembre 2005 15/30
¿Qué Es XP? Es un proceso ligero, ágil, de bajo riesgo, flexible,
predecible, científico y divertido de desarrollar software.
Esta orientado hacia quien produce y usa el software ( retroalimentación continua cliente y desarrollador).
Reduce el costo del cambio en todas las etapas del ciclo de vida del sistema.
Combina las que han demostrado ser las mejores practicas para desarrollar software, y las lleva al extremo.
Ingeniería De Software Santiago, 16 Diciembre 2005 16/30
Contexto XP Cliente bien definido y en colaboración constante. Los requisitos pueden y van a cambiar (volátiles). Reduce los tiempos de desarrollo manteniendo la
calidad. Desarrollo incremental y continuo para responder a
los cambios. Grupo pequeño y muy integrado.
Ingeniería De Software Santiago, 16 Diciembre 2005 17/30
Características XP Metodología creada a base de prueba y error. Énfasis en el desarrollo del software mas que una
buena documentación. Empieza en pequeño y añade funcionalidad con
retroalimentación continua. No introduce funcionalidades antes de que sean
necesarias. El cliente o el usuario se convierte en miembro del
mismo equipo.Ingeniería De Software Santiago, 16 Diciembre 2005 18/30
Características XP Su utilidad es medida con cuatro valores:
Simplicidad en las soluciones implementadas.
Comunicación. Retroalimentación. Coraje (si funciona … mejóralo).
Ingeniería De Software Santiago, 16 Diciembre 2005 19/30
Roles De XP Programador. Cliente. Encargado de pruebas (Tester). Encargado de seguimiento (Tracker). Entrenador (Coach). Consultor. Gestor (Big boss).
Ingeniería De Software Santiago, 16 Diciembre 2005 20/30
Prácticas De XP Desarrollo guiado por pruebas. Cliente presente. Integración continua. Refabricación sin piedad. Diseño simple. Propiedad colectiva del código y convenciones del
mismo. Cubrir una semana de 40 horas, pues los
programadores cansados son menos productivos y mas propensos a errores.
Ingeniería De Software Santiago, 16 Diciembre 2005 21/30
Prácticas De XP
Ingeniería De Software Santiago, 16 Diciembre 2005 22/30
Ciclo De Vida XP El ciclo de vida ideal de XP consta de seis
fases: Exploración. Planificación de la Entrega (Release). Iteraciones. Producción. Mantenimiento. Muerte del Proyecto.
Ingeniería De Software Santiago, 16 Diciembre 2005 23/30
Costo Del Cambio En El Ciclo De Vida Del Proyecto
Tradicionalmente, entre mas tarde aparezca la necesidad de un cambio, el costo de implementación de este se elevara exponencialmente.
La programación extrema mantiene dicho costo en un nivel prácticamente independiente con respecto a la etapa del ciclo de vida.
Ingeniería De Software Santiago, 16 Diciembre 2005 24/30
Flujo De Un Proyecto XP
Ingeniería De Software Santiago, 16 Diciembre 2005 25/30
Iteración XP
Ingeniería De Software Santiago, 16 Diciembre 2005 26/30
Bibliografía http://www.willydev.net/descargas/prev/TodoAgil.Pdf
http://www.programacionextrema.org
http://es.wikipedia.org/wiki/Programaci%C3%B3n_extrema
http://ultimaorbita.com/raciel/x-ezine/x2/2x010-XP.html
http://www.marquetti-asociados.com.ar/xp.htm
http://www.avemundi.com/archivos/XP.ppt+programacion+extrema&hl=es
Ingeniería De Software Santiago, 16 Diciembre 2005 27/30
Otras Metodologías Ágiles
Ingeniería De Software Santiago, 16 Diciembre 2005 28/30
Crystal Methodologies. Dynamic Systems Development Method
(DSDM). Adaptive Software Development (ASD). Feature - Driven Development (FDD). Lean Development (LD).
Ingeniería De Software Santiago, 16 Diciembre 2005 29/30
FIN
Ingeniería De Software Santiago, 16 Diciembre 2005 30/30