exposicion scrum
TRANSCRIPT
Universidad Autónoma de Universidad Autónoma de Baja CaliforniaBaja California
Maestría en Tecnologías de la Maestría en Tecnologías de la Información y Comunicación Información y Comunicación
SCRUM SCRUM , “Una metodología Agil”
Evaluación de Tecnologias para el Desarrollo de SoftwareEvaluación de Tecnologias para el Desarrollo de Software
Antecedentes del MAntecedentes del MÉÉTODO TODO ÁÁGILGIL
Concepto surgido en Marzo del 2001 Concepto surgido en Marzo del 2001 en Salt Lake City, donde críticos de en Salt Lake City, donde críticos de
los modelos de mejora del desarrollo los modelos de mejora del desarrollo de software basados en procesos, de software basados en procesos, convocados por Kent Beck en Salt convocados por Kent Beck en Salt Lake City se reunieron para tratar Lake City se reunieron para tratar
sobre técnicas y procesos para sobre técnicas y procesos para desarrollar softwaredesarrollar software. .
Se obtuvo el término de “Se obtuvo el término de “Métodos Métodos AgilesAgiles” para definir a los métodos que ” para definir a los métodos que
estaban surgiendo como alternativa a las estaban surgiendo como alternativa a las metodologías formales, como la CMMI metodologías formales, como la CMMI
( Capability Maturity Model Integration) y ( Capability Maturity Model Integration) y la SPICE ( Simulation Program with la SPICE ( Simulation Program with
Integrated Circuits Emphasis), a las que Integrated Circuits Emphasis), a las que consideraban excesivamente pesadas y consideraban excesivamente pesadas y
rigidas por su carácter normativo y fuerte rigidas por su carácter normativo y fuerte dependencia de planificaciones detalladas dependencia de planificaciones detalladas
previas al desarrolloprevias al desarrollo..
¿Qué se obtuvo de la reunión?¿Qué se obtuvo de la reunión?
Características de la Metodología Características de la Metodología AgilAgil
Flexibilidad en la introducción de cambiosFlexibilidad en la introducción de cambios El factor humano es tomado el cuentaEl factor humano es tomado el cuenta
El producto finalEl producto final Colaboración con el clienteColaboración con el cliente
El desarrollo incremental como formas de El desarrollo incremental como formas de asegurar los buenos resultados de asegurar los buenos resultados de
proyectos con requisitos cambiantes o proyectos con requisitos cambiantes o cuando se exige reducir los tiempos de cuando se exige reducir los tiempos de
desarrollo manteniendo una alta calidaddesarrollo manteniendo una alta calidad..
TRADICIONALTRADICIONAL
Restricciones de tiempo
TRADICIONALTRADICIONAL
Restricciones en la flexibilidadRestricciones en la flexibilidad
EJEMPLO DE METODOLOGIA AGILEJEMPLO DE METODOLOGIA AGIL
SCRUMSCRUM
Scrum es una metodología para el desarrollo ágil de productos, expuesta por Hirotaka Takeuchi e Ikujiro Nonaka, en el
artículo The New Product Development Game[Harvard Business Review Ene-Feb 1986] en el que ponen de manifiesto que:
S C R U M !!!!!!!!!!!!!!S C R U M !!!!!!!!!!!!!!
El mercado competitivo de los El mercado competitivo de los productos tecnológicos, además de productos tecnológicos, además de los conceptos básicos de calidad, los conceptos básicos de calidad, coste y diferenciación, exige también coste y diferenciación, exige también rapidez y flexibilidadrapidez y flexibilidad
Los nuevos productos representan Los nuevos productos representan cada vez un porcentaje más cada vez un porcentaje más
importante en el volumen de negocio importante en el volumen de negocio de las empresasde las empresas
El mercado exige ciclos de desarrollo más
cortos
Nonaka y Takeuchi extraen las bases de Scrum de las prácticas que observan en las empresas con buenos resultados de rapidez y flexibilidad en la producción: Xerox, Canon, Honda, NEC, Epson, Brother, 3M o Hewlett-Packard; y son:
Inestabilidad consustancial al entorno de desarrollo. Equipos auto-organizados.
Solapamiento de las fases del desarrollo. Multi-aprendizaje.
Control sutil. Transferencia de aprendizaje a nivel organizacional.
ScrumScrumScrumScrum
Scrum es un método adaptativo de gestión de proyectos que se basa en los principios ágiles:
Colaboración estrecha con el cliente.
Predisposición y respuesta al cambio
Prefiere el conocimiento tácito de las personas al explícito de los procesos
Desarrollo incremental con entregas funcionales frecuentes SPRINT
Comunicación verbal directa entre los implicados en el proyecto
Motivación y responsabilidad de los equipos por la auto-gestión, auto-organización y compromiso.
Simplicidad. Supresión de artefactos innecesarios en la gestión del proyecto.
La esencia de ScrumLa esencia de Scrum
Al iniciar cada iteración, el equipo revisa el trabajo pendiente del proyecto y selecciona la parte que terminará como un incremento de funcionalidad incorporado al software al terminar la iteración.
Al final de la iteración el equipo presenta el incremento de funcionalidad a las partes implicadas en el proyecto.
El equipo revisa los requisitos, considera la tecnología disponible, evalúa sus conocimientos, y de forma colectiva determina cómo implementar la funcionalidad.
El equipo revisa los requisitos, considera la tecnología disponible, evalúa sus conocimientos, y de forma colectiva determina cómo implementar la funcionalidad.
RolesRoles
Scrum tiene una estructura muy simple. Todas las responsabilidades del proyecto se reparten en 3 roles:
Propietario del producto
Equipo
Gestor de Scrum (Scrum manager o Scrum Master)
Propietario del productoPropietario del productoPropietario del productoPropietario del producto
Financiación del proyecto
Requisitos del sistemaRetorno de la inversión del proyecto
Lanzamiento del proyecto
Representa a todos los interesados en el producto final.
Sus áreas de responsabilidad son:
Representa a todos los interesados en el producto final.
Sus áreas de responsabilidad son:
EquipoEquipoEquipoEquipo
Responsable de transformar la pila del sprint (Sprint Backlog) en un incremento de
la funcionalidad del software
Responsable de transformar la pila del sprint (Sprint Backlog) en un incremento de
la funcionalidad del software
Auto-gestionado
Auto-organizadoMulti-funcional
Scrum ManagerScrum ManagerScrum ManagerScrum Manager
Responsable del proceso ScrumResponsable 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
Una gallina y un cerdo paseaban por la carretera. La gallina dijo al cerdo: “Quieres abrir un restaurante conmigo”. El cerdo consideró la propuesta y respondió: “Sí, me gustaría. ¿Y cómo lo llamaríamos?”. La gallina respondió: “Huevos con beicon”.
Una gallina y un cerdo paseaban por la carretera. La gallina dijo al cerdo: “Quieres abrir un restaurante conmigo”. El cerdo consideró la propuesta y respondió: “Sí, me gustaría. ¿Y cómo lo llamaríamos?”. La gallina respondió: “Huevos con beicon”.
El cerdo se detuvo, hizo una pausa y contestó: “Pensándolo mejor, creo que no voy a abrir un restaurante contigo. Yo estaría realmente comprometido, mientras que tu estarías sólo implicada”.
El cerdo se detuvo, hizo una pausa y contestó: “Pensándolo mejor, creo que no voy a abrir un restaurante contigo. Yo estaría realmente comprometido, mientras que tu estarías sólo implicada”.
COMPROMETIDOS EN EL PROYECTO
Dueño del productoEquipoScrum Manager
IMPLICADOS EN EL PROYECTOoMarketingoComercial
Scrum diferencia claramente entre estos dos grupos para garantizar que quienes tienen la responsabilidad tienen también la autoridad necesaria para poder lograr
el éxito, y que quienes no tienen la responsabilidad no producen interferencias innecesarias
Scrum diferencia claramente entre estos dos grupos para garantizar que quienes tienen la responsabilidad tienen también la autoridad necesaria para poder lograr
el éxito, y que quienes no tienen la responsabilidad no producen interferencias innecesarias
Diferenciacion entre los roles: Diferenciacion entre los roles: Gallinas y CerdosGallinas y Cerdos
Conceptos que intervienen en el Conceptos que intervienen en el desarrollo de Scrumdesarrollo de Scrum
SprintSprint
Es el periodo de tiempo durante el que se desarrolla un incremento de funcionalidad. Constituye el núcleo de Scrum, que divide de esta forma el desarrollo de un proyecto en un conjunto de pequeñas “carreras”.
Es el periodo de tiempo durante el que se desarrolla un incremento de funcionalidad. Constituye el núcleo de Scrum, que divide de esta forma el desarrollo de un proyecto en un conjunto de pequeñas “carreras”.
Duración máxima: 30 días.Durante el sprint no se puede modificar el trabajo que se ha acordado en el Backlog.Sólo es posible cambiar el curso de un sprint, abortándolo, y sólo lo puede hacer el Scrum
Master si decide que no es viable por alguna de las razones siguientes:La tecnología acordada no funciona.Las circunstancias del negocio han cambiado.El equipo ha tenido interferencias.
Pila de producto (Product Backlog)Pila de producto (Product Backlog)
Listado con los requisitos del sistema Es responsabilidad del dueño del producto
Contenido Priorización Disponibilidad
Nunca llega a ser una lista completa y definitiva El empleado para planificar el proyecto es sólo una estimación inicial de requisitos Es un documento dinámico que incorpora constantemente las necesidades del sistema Se mantiene durante todo el ciclo de vida (hasta la retirada del sistema).
Potencia la formación de equipos de Potencia la formación de equipos de trabajos autosuficientes y trabajos autosuficientes y multidisciplinares, reduciendo la multidisciplinares, reduciendo la carga de gestión y proporcionando a carga de gestión y proporcionando a los miembros del equipo un entorno los miembros del equipo un entorno amigable y productivo para amigable y productivo para desarrollar sus habilidades al desarrollar sus habilidades al máximomáximo..
Este entorno proporciona mayor calidad de vida a los trabajadores y
mejora drásticamente la moral en las organizaciones.
Se centra en el producto y las Se centra en el producto y las personas y hace especial hincapié en personas y hace especial hincapié en la eliminación proactiva de todas las la eliminación proactiva de todas las trabas e impedimentos que surjan trabas e impedimentos que surjan durante el desarrollodurante el desarrollo..
Es una metodología simple, ligera Es una metodología simple, ligera pero fuerte a la vez. Es sencillo pero fuerte a la vez. Es sencillo
combinar SCRUM con otras combinar SCRUM con otras metodologías y marcos de gestión de metodologías y marcos de gestión de
proyectos en las organizacionesproyectos en las organizaciones..
Ejemplo gráficoEjemplo gráfico
ComunicaciónComunicaciónComunicaciónComunicación
Reunión diaria
Revisión del sprint
Retroalimentación
La forma más eficiente y efectiva de comunicar
información de ida y vuelta dentro de un equipo de
desarrollo es mediante la conversación cara a cara.
La forma más eficiente y efectiva de comunicar
información de ida y vuelta dentro de un equipo de
desarrollo es mediante la conversación cara a cara.
¿Qué trabajo has realizado desde la última reunión?
¿Qué tienes previsto para hoy?
¿Qué necesitas?
¿Qué trabajo has realizado desde la última reunión?
¿Qué tienes previsto para hoy?
¿Qué necesitas?
Reunión del equipo con duración máxima de 15 minutos.Todos los días en el mismo sitio y a la misma hora.Se recomienda que sea la primera actividad del día.Deben acudir todos los miembros del equipo.Moderada por el Scrum Manager, que pregunta a todos los asistentes
¿Cuál ha sido el trabajo realizado desde la última revisión diaria?¿Cuál es el trabajo previsto para hoy?¿Hay algo que necesitas, o que te impide realizar el trabajo previsto?
No se permite entrar en divagaciones o salirse del guión.Sólo habla la persona que informa de su trabajo, el resto escucha y no hay lugar para
otras conversaciones.Cuando un miembro informa de algo de interés para otros, o necesita ayuda de otros,
estos se reúnen al terminar la revisión diaria.Las gallinas no pueden intervenir ni distraer, y el Scrum Master puede limitar el número
de gallinas asistentes si lo considera oportuno.
Reunión DiariaReunión Diaria
Reunión diaria
Reunión del equipo, Scrum Manager, propietario del producto con todas las personas implicadas en el proyecto (gallinas).
Duración máxima:Duración máxima: 4 horas.FinalidadFinalidad: presentar al propietario del producto y a las gallinas las
nuevas funcionalidades implementadas.Las funcionalidades no implementadas no se presentan.En la reunión, los miembros del equipo muestran las nuevas
funcionalidades.Al final de la reunión se interroga individualmente a todos los
asistentes para recabar impresiones, sugerencias de cambio y mejora, y su relevancia.
El propietario del producto trata con los asistentes y con el equipo las posibles modificaciones en la pila de producto.
Revisión del SprintRevisión del Sprint
Acuden el equipo y el Scrum Master, y opcionalmente el Propietario del Producto.Todos los miembros del equipo responden a dos preguntas:
¿Qué cosas fueron bien en el último sprint?¿Qué cosas se podrían mejorar?
El Scrum Manager anota todas las respuestasEl equipo prioriza las mejoras posiblesEl Scrum Manager no proporciona respuestas, sino que ayuda al equipo a
encontrar la mejor forma de trabajar con Scrum.Las acciones de mejora localizadas que se puedan implementar en el
próximo Sprint deben introducirse en la pila de producto como elementos no funcionales.
RetroalimentaciónRetroalimentación
Retroalimentación
End of Service Release 1 (The SCRUM way!).mpg
La vida antes de ScrumLa vida antes de Scrum
Scrum en la vida realScrum en la vida real
Solo para reflexionar un Solo para reflexionar un momento y ya poder IRNOS..... momento y ya poder IRNOS.....
Scrum no es sólo para proyectos de Scrum no es sólo para proyectos de software o IT: puede adaptarsesoftware o IT: puede adaptarse..
Permite a las organizaciones eliminar Permite a las organizaciones eliminar impedimentos clásicos en el desarrollo impedimentos clásicos en el desarrollo de los proyectos, aumentando la de los proyectos, aumentando la satisfaccion de los clientes mediante la satisfaccion de los clientes mediante la realización de entregas frecuentes de realización de entregas frecuentes de resultados SPRINTS tangibles e resultados SPRINTS tangibles e integrandolos activamente el ciclo de integrandolos activamente el ciclo de desarrollo, lo que permite una mayor desarrollo, lo que permite una mayor adaptación y adecuación a sus adaptación y adecuación a sus necesidades.necesidades.
Scrum no es una moda: es una Scrum no es una moda: es una filosofía, una forma de pensar. Es filosofía, una forma de pensar. Es una metodología Agil aplicado a la una metodología Agil aplicado a la gestion de proyectosgestion de proyectos..
Es sobre las personas, es ser mas Es sobre las personas, es ser mas eficiente, trabajar en equipo, eficiente, trabajar en equipo, colaborar con el cliente, colaborar con el cliente, comprometerse, entregar a tiempocomprometerse, entregar a tiempo..