El Modelo SCRUM Tema 2
Rolando JaldĂn
Introducción al Modelo Scrum es una metodología de desarrollo simple, flexible y adaptable a todo tipo de desarrollo de software, sin embargo no es fácil su aplicación, ya que requiere de una disciplina y compromiso de sus integrantes, además de una buena formación y experiencia de trabajo en equipo.
• Es un modo de desarrollo de carácter adaptable. • Orientado a las personas antes que a los procesos. • Emplea desarrollo ágil: iterativo e incremental.
El Proceso SCRUM
Los Roles El Rol del Product Owner – Propietario del Producto El Product Owner o Propietario del Producto, es el representante de los usuarios o clientes interesados en el producto.
Las competencias que debe tener el Product Owner son: • Debe tener capacidad de organización, planificación y gestión de proyectos. • Buena capacidad de comunicación y relación interpersonal. • Capacidad de decisión en la organización, que le permita tomar decisiones sin tener que preguntar o esperar el visto bueno de un superior. • Conocimiento sólido y experiencia en los procesos del negocio. • Noción sobre la aplicación y uso de las tecnologías de información.
Rol del Product Owner
1. Se encarga de administrar el Product Backlog. 2. Único interlocutor entre los usuarios y el equipo de desarrollo. 3. Todos los miembros de la organización acatan sus decisiones. 4. Decide el orden de los incrementos, qué se pone, qué se quita. 5. Conoce el plan del producto, plan de inversión y el retorno esperado. 6. Se encarga de viabilizar el financiamiento del proyecto. 7. Facilita el apoyo administrativo y logístico.
Rol del Scrum Master El Scrum Master o Scrum Manager es la persona que lidera el desarrollo del proyecto. Las competencias que debe tener son las siguientes: Amplio conocimiento de la Metodología Scrum. Capacidad de liderazgo, manejo de equipos de trabajo. Alto nivel de comunicación y de relaciones interpersonales. Conocimientos de organización, planificación y seguimiento de proyectos. • Experiencia previa en proyectos de desarrollo. • • • •
Rol del Scrum Master con el Product Owner • • • • • • • •
Es el intermediario del Equipo de trabajo con el Product Owner. Coadyuva en la elaboración del Product Backlog. Coadyuva en la definición de los Sprints o iteraciones. Solicita y hace seguimiento a los historiales de usuario. Se encarga de coordinar la entrega de los resultados de los Sprints (incrementos) y su implantación. Se encarga de recabar la retroalimentación de los usuarios para mejoras o cambios en Sprints posteriores. Coordina el soporte administrativo y logístico con el Product Owner. Coordina todas las reuniones con el Product Owner.
Rol del Scrum Master con el Team • Es responsable de la capacitación del equipo de desarrollo. • Coordina y supervisa el desarrollo de los Sprints. • Coordina las herramientas usadas en los Sprints. • Supervisa las reuniones diarias del equipo de desarrollo. • Retroalimenta las observaciones de los usuarios al equipo. • Coordina la logística que requiere el equipo de desarrollo. • Responsable de llevar adelante el Sprint Review. • Responsable de llevar adelante el Sprint Retrospective.
El Rol del TEAM
• • • •
Coadyuva en la elaboración del Product Backlog con el Product Owner. Define las tareas del Sprint Backlog. Es responsable del desarrollo del incremento del Sprint. Es responsable de la documentación técnica del proyecto. • Documentación impresa y digital. • Documentación interna en el código fuente. • Definición de los estándares de desarrollo del proyecto.
Las Reuniones Las reuniones son unas de las características más destacadas de Scrum, que permiten e incentivan la comunicación permanente y directa de todos quienes participan en el proyecto y que se fundamentan en las siguientes razones: • Solventa la escasa documentación que se maneja. • Permite delimitar los hitos de desarrollo del proyecto. • Mantienen la comunicación permanente entre todos los miembros del equipo, scrum master y product owner. • Permiten registrar las herramientas y elementos propios de Scrum. La Planificación Inicial El Sprint Planning Scrums Diarios Sprint Review Sprint Retrospective
Reunión – La Planificación Inicial Esta reunión se la realiza una sola vez al inicio del proyecto, previo a la reunión es recomendable que el Product Owner prepare su lista de requerimientos. Participan: el Product Owner, el Scrum Master y el Team, todos ellos se reúnen para conocer las necesidades o requerimientos del Product Owner. Se determinan los requisitos iniciales y la visión del producto desde el punto de vista del cliente. El resultado de esta reunión se consolida en el Product Backlog, que es una lista o pila de requerimientos funcionales del cliente.
El Sprint Planning •
Es una reunión que se la realiza al inicio de cada iteración o Sprint.
•
Participan: el Product Owner, el Scrum Master y el Team.
•
Se determinan los objetivos que deberá cumplir la iteración.
•
El Team o equipo de desarrollo conjuntamente el Product Owner definen en mayor detalle las tareas que se realizaran para cada requerimiento definido en el product backlog.
•
El resultado se consolida en el Sprint Backlog.
Primera parte: El product owner presenta al equipo los requisitos a través de las Historias de Usuario. El Team hace las consultas necesarias al product owner o usuarios, para aclarar dudas y complementar las historias de usuario. El Scrum Master y el Team también hacen sugerencias para incorporar funcionalidades. Segunda parte: Una vez definidos los requerimientos del sprint, el Team con el Scrum Master, elaboran la lista de tareas de cada requerimiento o historia de usuario. Para cada requerimiento pueden haber varias tareas relacionadas. Se hace una estimación conjunta del esfuerzo necesario para realizar cada tarea. Los miembros del equipo se auto-asignan las tareas que van a realizar. La estimación de esfuerzo de cada tarea oscila entre 4 a 16 horas de trabajo. Si una tarea se estima en más de 16 horas, ésta deberá ser particionada en otras tareas más específicas. En cada reunión las preguntas claves 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?
Reunión diaria – Scrums diarios Reuniones diarias de seguimiento a las actividades realizadas el día anterior y planificar las actividades que se realizarán en el día presente. Participan el Scrum Master y el Team. Ocasionalmente puede el Product Owner. Coordina las reuniones el Scrum Master. Su duración no debe exceder los 15 minutos. Durante la reunión se actualizan los tiempos de las tareas en curso, se cierran las tareas concluidas y se inician nuevas tareas, esto se realiza sobre la pizarra de trabajo. No es una reunión para resolver problemas, estos se coordinan entre los miembros para ser atendidos posteriormente. El resultado de la reunión es la actualización de la Planilla de seguimiento del sprint y la hoja de trabajo. Se realizan todos los días en el mismo sitio y a la misma hora. Se recomienda que sea la primera actividad del día. Deben estar todos los miembros del equipo. Todos los miembros deben estar parados. El Scrum Master realiza las siguientes preguntas: ¿Qué hiciste ayer? ¿Qué vas a hacer hoy? ¿Qué obstáculos tienes?
Reunión – Sprint Review • Es una reunión que se realiza al final de cada Sprint o Iteración. • Participan: El Product Owner, el Scrum Master, el Team y según se requiera usuarios o clientes involucrados con el proyecto. • Se presenta lo construido durante el sprint al Product Owner y demás involucrados. Es una Demo. • Su duración es máximo de 4 horas. • El Product Owner identifica el cumplimiento de objetivos respecto del Product backlog. • El Team obtiene retroalimentación por parte del cliente sobre el incremento presentado. • Están prohibidas las presentaciones en diapositivas o powerpoint, se hace una DEMO del incremento desarrollado en la iteración. • La Demo debe ser usando un entorno e información lo más real y próximo a lo que usará el cliente. Se recomienda usar información histórica del cliente.
Reunión – Sprint Retrospective • Se realiza después del Sprint Review y antes del próximo Sprint Planning. • Participan el Scrum Master y el Team – equipo de desarrollo. • El propósito de la retrospectiva es revisar la forma en que se desarrolló el último Sprint en lo que respecta a las personas, relaciones, procesos y herramientas. • Tiene una duración máxima de 4 horas. • Las reuniones "retrospectivas" realizadas de forma periódica por el equipo permite mejorar la forma de trabajo, se consideran cada vez más un componente del marco técnico de scrum, si bien no es una reunión para seguimiento de la evolución del producto, sino para mejora del marco de trabajo. • Sin las retrospectivas el equipo sigue cometiendo los mismos errores una y otra vez. • La reunión es de carácter técnico para analizar el “CÓMO” se está construyendo el proyecto, desde una perspectiva netamente técnica. • Si el Team está teniendo dificultades de trabajo en equipo, de relaciones interpersonales o comunicación, es en ésta reunión en la que se deben tratar y solucionarlos. Todos los miembros responden dos preguntas: ¿Qué cosas se hicieron bien en el último sprint? ¿Qué cosas se podrían mejorar?