Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Scrum 1

No description
by

Jose Sandi

on 1 August 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Scrum 1

SCRUM
Scrum es ......
Prácticas
Herramientas
Scrum es un
modelo de trabajo iterativo e incremental

que ayuda a gestionar de mejor manera los proyectos tecnológicos altamente competitivos e innovadores.

Para ello se definen roles y prácticas que se llevarán a cabo durante el proyecto
Modelo de trabajo Iterativo e Incremental
Es la contra parte del desarrollo clásico de cascada
La idea principal es desarrollar e implementar de manera ágil módulos que funcionen correctamente y analizar la manera en que estos módulos van creciendo con el tiempo en funcionalidad, calidad y cantidad.

Requiere de la participación del cliente o el usuario de la tecnología que se está desarrollando, el cual irá reflejando su satisfacción del producto módulo por módulo conforme estos se vayan finalizando y no de manera holística únicamente


Los módulos son desarrollados en lapsos de tiempos llamados iteraciones, en cada iteración el equipo de trabajo se concentra en entregar una versión de ciertos módulos que funcionen ya correctamente a como el cliente lo ha pedido. Las iteraciones pueden llegar a durar un mes

Es decir módulo por módulo el cliente refleja su satisfacción y tiene mayor control sobre el desarrollo del proyecto, pero con ciertas limitaciones que debe respetar.


Esto permite que el cliente aprecie el proceso, el esfuerzo de desarrollo y el valor del producto en cada módulo, con esto se aprecia mejor el ROI
(return on investment o retorno sobre la inversión: beneficio obtenido en relación con la inversión realizada)
Permite al equipo sacar ventaja de lo
que se ha aprendido a lo largo del
desarrollo, debido al constante "feedback"
Permite un análisis y control del proceso de desarrollo
debido a que sus plataformas son diseñadas para la medición de muchas variables como por ejemplo:

el desempeño del equipo, satisfacción del cliente, mejoramiento en la calidad de módulos después de cada iteración, el tiempo de desarrollo de cada módulo, el esfuerzo total realizado por parte del equipo, los cambios, los defectos, etc.

Esto gracias a que se provee una base de comparación y análisis durante todo el proceso de desarrollo

También provee límites en cada aspectos medible para así tener la capacidad de notar problemas potenciales o anomalías en el proceso de desarrollo y gracias a ellos se puede advertir a los "project manager" de estas amenazas u anomalías. Así los "project manager" puedan manejar estas situaciones de mejor manera en el momento en
que ocurren
Requiere de un cliente involucrado, muchas veces los clientes no pueden involucrase todo el tiempo.
Debilidades:
Roles
Lista de control de proyecto:


Su objetivo es guiar el proceso de desarrollo en cada iteración. Para eso contiene un historial de todas las tareas que necesitan ser realizadas.
Funcionalidades para ser implementadas
Áreas de rediseño de la solución ya existente

Esta lista de control se revisa periódica y constantemente para así llevar mejor control de los
procesos en desarrollo
y de los
procesos en espera.

La lista de control es modificada después de cada iteración. Se puede modificar por dos cosas:

Como resultado de análisis de la versión recientemente desarrollada y revisada por el cliente

Como nueva petición por parte del cliente para añadir una nueva funcionalidad o característica del producto o sistema
Una de las herramientas que permite dicho control
Scrum Master


Organiza, dirige y controla las reuniones de Scrum, de manera que sean productivas y consigan sus objetivos
"" planificación de la iteración ""
"" reuniones diarias de sincronización del equipo ""
"" demostración ""
"" retrospectiva ""

Quita los impedimentos que tiene el equipo para conseguir sus objetivos y así finalizar cada iteración con éxito.
(Estos impedimentos se dan a conocer de manera automática en las "" reuniones diarias de sincronización del equipo "")

Aísla todo tipo de distracciones e interrupciones externas al momento de la iteración, ej: la introducción de nuevos requisitos en plena iteración, la salida no prevista de algún miembro del equipo

Lista de requisitos prioritarios del producto:
(Product Backlog)

Lista elaborada por el cliente, si se requiere con ayuda del scrum master y del equipo

Contiene los requisitos, funcionalidades o módulos que aportan mayor valor al producto y que de cierta manera son más prioritarios para el cliente o para el proyecto en si.
Cliente (Product Owner)
Se encuentra en nombre de todas las personas interesadas en el resultado del proyecto. (gerentes, administradores, usuarios del producto, socios de la empresa
)

Estratégicamente debería ser un usuario clave o un usuario final del producto que se está desarrollando .

Ej:

Usuario clave:
Un dependiente del módulo que se está realizando, que trabaje en otra área de la empresa y que no sea parte del
equipo de desarrollo
de ese módulo en específico.

Usuario final:
Potencial consumidor del producto
Define ante el equipo todos los objetivos del producto o proyecto
Dirige los resultados del proyecto y maximiza el ROI, ya que es él quien crea y mantiene
"la lista de requisitos prioritarios del producto"
en cada iteración
Lista de requisitos prioritarios del producto:
(Product Backlog)

Lista elaborada por el cliente, si se requiere con ayuda del scrum master y el equipo.

Contiene los requisitos, funcionalidades o módulos que aportan mayor valor al producto y que de cierta manera son más prioritarios para el cliente o para el proyecto en sí.
Iteración (Sprint)
Son lapsos de tiempo (15 días a un mes) en donde el equipo desarrolla ciertas funcionalidades y características del producto de tal manera que estas funcionalidades y características ya sean capaces de ponerse a prueba con los usuarios del producto y obtener un resultado exitoso y deseado por el usuario.

Estas funcionalidades y características a ser desarrolladas deben estar definidas en
"La lista de requisitos prioritarios del producto"
Iteración (Sprint)
Son lapsos de tiempo (15 días a un mes) en donde el equipo desarrolla ciertas funcionalidades y características del producto de tal manera que estas funcionalidades y características ya sean capaces de ponerse a prueba con los usuarios del producto.

Estas funcionalidades y características a ser desarrolladas deben estar definidas en
"La lista de requisitos prioritarios del producto"
Especifíca los objetivos/requisitos prioritarios
para que inicie cada iteración y establece
un calendario de entregas conjuntamente con el
equipo de desarrollo.
Scrum es ......
Scrum es un
modelo de trabajo iterativo e incremental

que comúnmente agiliza y facilita el desarrollos de productos tecnológicos.

Para ello define roles, prácticas que se llevarán a cabo durante el proyecto

Team (Equipo de desarrollo)
Vela que TODOS los participantes del proyecto sigan las reglas y procesos de Scrum.

Se asegura que
la lista de requisitos prioritarios del producto
este preparada antes de cada iteración.
Grupo de entre 5 a 9 personas que comparten el mismo objetivo de desarrollar un producto altamente
innovador y competitivo

Menos de 5 se crea mucha dependencia, es decir la salida de algún miembro del equipo puede ser muy negativo

Más de 9 dificulta la comunicación y las reuniones Scrum
Seleccionan los requisitos y funcionalidades que se comprometen a realizar en la iteración. Estos requisitos y funcionalidades a ser elegidas provienen de
La lista de requisitos prioritarios del producto

Conforme a su experiencia definen la complejidad de cada requisito y funcionalidad del proyecto

En las iteraciones desarrollan cada uno de los requisitos y funcionalidades. Si tienen una dificultad lo comentan en las
reuniones diarias de sincronización del equipo
y además explicará brevemente como solucionará la dificultad. Si la dificultad persiste entonces el Scrum Master intervendrá para eliminar la dificultad.

Terminada la iteración muestran al cliente los requisitos y funcionalidades desarrollados en una demostración. Esta demostración debe ser completamente satisfactoria para el cliente

Hacen una retrospectiva al final de cada iteración con la intención de siempre mejorar su manera de trabajar
Funciones:
1) Planificación de la iteración (Sprint Planning)
Antes de empezar con las prácticas es bueno definir qué es un
"time box":

Time box es una técnica que consiste en fijar un lapso de tiempo máximo para conseguir ciertos objetivos o tomar una decisión, y hacer lo mejor que podamos en ese lapso de tiempo

La consciencia de esta limitación temporal favorece la priorización de objetivos / tareas, fuerza la toma de decisiones y evita las pérdidas de tiempo
2) Ejecución de la iteración (sprint)
3) Reunión diaria de sincronización del equipo (Scrum Daily Meeting)
4) Demostración de los requisitos completados (Sprint Review)
5) Retrospectiva (Sprint Retrospective)
La planificación de la iteración se divide en 2 partes:
1º Parte:
Se realiza en un timebox
máximo de 4 horas

El cliente muestra al equipo la lista de requisitos prioritarios del proyecto que es el product backlog (Dicha lista la pudo haberla realizado con ayuda del Scrum Master y con el equipo)

El equipo examina la lista de requisitos, pregunta al cliente las dudas que surgen y selecciona los objetivos/requisitos más prioritarios que se compromete a completar en la iteración.
2º Parte:
Se realiza en un timebox
máximo de 4 horas

El equipo planifica la iteración de tal manera que le permite conseguir el mejor resultado posible con el mínimo esfuerzo ( Esta actividad la realiza el equipo dado que ha adquirido un compromiso, es el responsable de organizar su trabajo y es quien mejor conoce cómo realizarlo. )

Define las tareas necesarias para completar cada objetivo/requisito creando la lista de tareas de iteración (Sprint Backlog)

Realiza una estimación conjunta del esfuerzo necesario que requiere cada tarea para ser completada

Cada miembro se auto-asigna las tareas que puede realizar
En Scrum un proyecto se realiza en bloques temporales cortos y fijos, que van desde un mes hasta dos semanas
Cada iteración tiene que proporcionar un resultado completo, un incremento del producto.
Para ello, durante la iteración el equipo colabora estrechamente y se llevan a cabo las siguientes dinámicas:
Cada día el equipo realiza una
reunión de sincronización
, donde cada miembro inspecciona el trabajo de los otros para poder hacer las adaptaciones necesarias, comunica cuales son los impedimentos con que se encuentra, actualiza el estado de la lista de tareas de la iteración (Sprint Backlog) y los gráficos de trabajo pendiente (Burndown charts).
El Scrum Master elimina los obstáculos que el equipo no puede resolver por sí mismo.

El Scrum Master protege al equipo de interrupciones externas que puedan afectar su compromiso o su productividad.

Esto con la finalidad de que no merme la productividad del equipo
Para poder completar el máximo de requisitos en la iteración, se
debe minimizar el número de objetivos/requisitos en que el equipo trabaja simultáneamente (WIP, Work In Progress)
, completando primero los que den más valor al cliente o al proyecto en si.

Esta forma de trabajar, que se ve facilitada por la propia estructura de la lista de tareas de la iteración (sprint backlog)
Recomendación
Restricciones
No se puede cambiar los objetivos/requisitos de la iteración en curso.

En
la reunión de planificación de la iteración
el equipo adquirió el compromiso de completar en la iteración unos requisitos concretos, basó su plan y organización en ellos. Cambiar los objetivos/requisitos de la iteración dificulta la concentración del equipo, baja su moral y su compromiso.

El hecho de no poder cambiar los objetivos/requisitos de la iteración una vez iniciada facilita que el cliente cumpla con su responsabilidad de conocer qué es lo más prioritario a desarrollar, antes de iniciar la iteración.
Terminación anormal de la Iteración
Sólo en situaciones muy excepcionales el cliente o el equipo pueden solicitar una terminación anormal de la iteración.

Ej:
El contexto del proyecto ha cambiado enormemente

El equipo encuentra que es imposible cumplir con el compromiso adquirido.

En cualquier caso se dará fin a la iteración y se dará inicio a otra mediante una "Reunión de planificación de iteración", es decir el paso # 1
Stakeholders: Usuarios del producto
El objetivo de esta reunión diaria es el de conocer el desempeño de cada miembro del equipo
Para ello se responden solamente 3 preguntas en un timebox máximo de 15 minutos
¿Qué he hecho ayer?
¿Qué voy a hacer a partir de este momento?
¿Qué impedimentos tengo o voy a tener para cumplir mis compromisos en esta iteración y en el proyecto?
Como apoyo a la reunión, el equipo cuenta con
la lista de tareas de la iteración (sprint backlog),
donde se actualiza el estado y el esfuerzo pendiente para cada tarea, asi como con el
gráfico de horas pendientes en la iteración.
Beneficios
Aumentar la productividad en el proyecto y potencia el compromiso de equipo, dado que cada miembro da a conocer delante del resto:

Cual es su ritmo de trabajo.
Se hace visible si de manera continua un miembro del equipo está realizando tareas por debajo del rendimiento esperado.
) Así se evita que una persona señale con el dedo a otra, dado que la reunión de sincronización pone a todos los miembros del equipo en la misma situación de tener que explicar en qué tareas están trabajando

Cuales son los criterios que está utilizando para realizar sus tareas
, de manera que estén alineados con los objetivos comunes del equipo.

Cuales son sus necesidades
. Cada miembro entiende las necesidades de los otros miembros del equipo respecto a su trabajo, de manera que pueden colaborar y adaptar sus trabajos para que den el máximo valor y no realizar tareas que no proporcionan ningún beneficio al resto del equipo.

Las tareas que pueden afectar a otros miembros del equipo
, por que impactan en su trabajo o por que hay dependencias (especialmente si existe un retraso).

Los impedimentos con que se encuentra
. La reunión de sincronización permite identificar más problemas a tiempo. El resto de miembros del equipo pueden ofrecer ayuda a otros en la realización de tareas o para resolver problemas que ya tuvieron anteriormente. El Facilitador (Scrum Master) se encargará de solucionar los impedimentos que el equipo no puede solucionar por sí solo o que le quitan tiempo para cumplir con su compromiso fundamental de desarrollo de requisitos.
Prácticas Scrum
Fomenta el aprendizaje de los miembros del equipo, ya que pueden
ver cómo trabajan los otros según sus especialidades y experiencias.
siempre da a conocer el estado de la iteración
Restricciones
La reunión diaria de sincronización del equipo no es para resolver problemas, los problemas se resuelven después de la reunión.

No a todos los miembros del equipo les interesan todos los detalles de cada tema.

En la reunión los miembros del equipo programan reuniones entre ellos donde colaborar sincronizando tareas, ayudando a resolver problemas, etc.

No puede haber una persona explicando su estado mientras otras "se han apartado" de la reunión para comentar un tema particular. Si apareciese alguna conversación de interés común (que debe ser rápida), debe poder ser escuchada por todo el equipo sin distraer el principal objetivo de que todos conozcan en qué están trabajando los demás.


Recomendaciones
Realizar la reunión diaria de sincronización de pie, para que los miembros del equipo no se relajen ni se extiendan en más detalles de los necesarios.

Realizar las reuniones de colaboración entre miembros del equipo justo después de la de sincronización.
Se realiza en un timebox de cómo máximo 4 horas.
El objetivo es presentar al propietario del producto las nuevas funcionalidades implementadas. Estas funcionalidades son las que el cliente priorizó en la
lista de requerimientos prioritarios

Con esto se logra el desarrollo incremental del proyecto.

Teóricamente el cliente debe estar en la demostración, pero en muchos casos no se da, pero eso no implica que la demostración no se de. En ese caso se da ante el equipo de trabajo u otros involucrados el día establecido y luego se dará ante el cliente.
Beneficios
El cliente puede ver de manera objetiva cómo han sido desarrollados los requisitos que proporcionó, ver si se cumplen sus expectativas, entender más qué es lo que necesita y tomar mejores decisiones respecto al proyecto.
El equipo se siente más satisfecho, motivado y con más alta moral cuando puede ir mostrando los resultados que va obteniendo. No está meses trabajando sin poder exhibir su obra.
Para algunas de las demostraciones se crearán soluciones temporales o en otras palabras los famosos parches. Estos parches estarán ahí en la demostración, pero su presencia obliga a preparar y planificar soluciones reales para el siguiente Sprint
Flexibilidad en el desarrollo del producto
En ca En cassoo dde req e requer uerir ir aayyuuda, da, llos mie os miembro mbros s ddel eq el equi uipo i po invnvol olucrad ucrados se reú os se reúnen nen

aal t l teermin rminar ar lla rev a reviisiósión n aa fifin de aco n de acordar rdar lalas accio s acciones nes nnecesa ecesariariass
En caso de requerir ayuda, los miembros del equipo involucrados se reúnen al terminar a fin se acordar las acciones necesarias
Restricciones
El equipo solo puede mostrar los objetivos completados, así es cliente no se hace falsas expectativas y pueda tomar decisiones correctas y objetivas en función de la velocidad de desarrollo
Un requisito no completado quedará como un requisito más a replanificar.
Con el fin de

mejorar de manera continua

la productividad y la calidad del producto
el equipo analiza cómo ha sido su manera de trabajar durante la iteración, por qué está consiguiendo o no los objetivos a que se comprometió al inicio de la iteración y por qué el incremento de producto que acaba de demostrar al cliente era lo que él esperaba o no:

Qué cosas han funcionado bien.
Cuáles hay que mejorar.
Qué cosas quiere probar hacer en la siguiente iteración.
Qué ha aprendido.
Cuáles son los problemas que podrían impedirle progresar adecuadamente.
Esta reunión se realiza después de la reunión de demostración al cliente, para poder incorporar su feedback y cumplimiento de expectativas como parte de los temas a tratar en la reunión de retrospectiva

Se realiza en un timebox de cómo máximo 3 horas
Incrementa la productividad en el proyecto, la calidad del producto (cosa que permite hacerlo crecer de manera sostenida) y potencia el aprendizaje del equipo de manera sistemática, iteración a iteración, con resultados a corto plazo.

Aumenta la motivación del equipo dado que participa en la mejora de proceso, se siente escuchado, toma decisiones consensuadas (y más sostenibles) para ir eliminando lo que molesta e impide que sea más productivo.
Beneficios
Restricciones
En necesario que el Equipo y el Scrum Master dispongan de autoridad, mecanismos y recursos para ir mejorando su forma de trabajar y el contexto del proyecto. Es frustrante encontrar sistemáticamente los mismos obstáculos y no poder solucionarlos.
Lista de requisitos priorizada (Product Backlog)
Lista de tareas de la iteración (Sprint Backlog)
Gráficos de trabajo pendiente (Burndown Chart)
La lista de objetivos/requisitos priorizada representa la visión y expectativas del cliente respecto a los objetivos y entregas del producto o proyecto. El cliente es el responsable de crear y gestionar la lista (con la ayuda del Facilitador y del equipo, quien proporciona el coste estimado de completar cada requisito)
Lista de tareas que el equipo elabora en la reunión de planificación de la iteración (Sprint planning) como plan para completar los objetivos/requisitos seleccionados para la iteración y que se compromete a demostrar al cliente al finalizar la iteración, en forma de incremento de producto preparado para ser entregado.
Los objetivos/requisitos están ordenados por orden de prioridad para el cliente
Un gráfico de trabajo pendiente a lo largo del tiempo muestra la velocidad a la que se está completando los objetivos/requisitos. Permite extrapolar si el Equipo podrá completar el trabajo en el tiempo estimado.
Full transcript