Capacitación scrum

35
CAPACITACIÓN SCRUM SCRUM: MARCO DE REFERENCIA

Transcript of Capacitación scrum

Page 1: Capacitación scrum

CAPACITACIÓN SCRUM

SCRUM: MARCO DE REFERENCIA

Page 2: Capacitación scrum

¿Quien soy?

Erik M. Giraldo G. Ingeniero de Sistemas y

Telecomunicaciones Maestría en Gestión y Desarrollo de

proyectos de Software CSD – Certified Scrum Developer

http://www.scrumalliance.org/profiles/191040-erik-giraldo Claro Datacenter

Page 3: Capacitación scrum

AgendaDía 1:

• Presentación• Ball Pointing Game (Ejercicio)• Contexto• Valores y Principios Agiles (Ejercicio)• Ejercicio de levantamiento de requerimientos

Día 2:

• ¿Qué es SCRUM?• Roles• Artefactos• Flujo• Propuesta proyecto practico e inicio

Page 4: Capacitación scrum

AgendaDía 3:

• Desarrollo evolutivo• Historias de usuario y características• VSM, actividades y release planning• Proyecto

Día 4:

• TDD (Test Driven Development)• ATDD (Acceptance Test Driven Development)• IC (Integración continua)• Repositorio de código fuente

Page 5: Capacitación scrum

ContextoEn el año 1994 el Standish Group publicó un estudio conocido como el "CHAOS Report" donde se encontró la siguiente tasa de éxito en los proyectos de desarrollo de software en general:• 31.1% es cancelado en algún punto durante el desarrollo del mismo• 52.7% es entregado con sobrecostos, en forma tardía o con menos funcionalidades de las inicialmente acordadas• 16.2% es entregado en tiempo, dentro de los costos y con las funcionalidadescomprometidas

Page 6: Capacitación scrum

Contexto

Page 7: Capacitación scrum

Contexto

Page 8: Capacitación scrum

Contexto

Page 9: Capacitación scrum

Contexto

Page 10: Capacitación scrum

Manifiesto Ágil

Valores

Page 11: Capacitación scrum

Manifiesto Ágil

Valores

Valorar a las personas y las interacciones entre ellas por sobre los procesos y las herramientas

Valorar el software funcionando por sobre la documentación detallada

Valorar la colaboración con el cliente por sobre la negociación de contratos

Valorar la respuesta a los cambios por sobre el seguimiento estricto de los planes

Page 12: Capacitación scrum

Manifiesto ÁgilPrincipios

1. Nuestra mayor prioridad es satisfacer al cliente a través de entregas tempranas y

frecuentes de software con valor.

2. Aceptar el cambio incluso en etapas tardías del desarrollo. Los procesos ágiles

aprovechan los cambios para darle al cliente ventajas competitivas.

3. Entregar software funcionando en forma frecuente, desde un par de semanas a un par

de meses, prefiriendo el periodo de tiempo más corto.

4. Expertos del negocio y desarrolladores deben trabajar juntos diariamente durante la

ejecución del proyecto.

5. Construir proyectos en torno a personas motivadas, generándoles el ambiente

necesario, atendiendo sus necesidades y confiando en que ellos van a poder hacer el

trabajo.

6. La manera más eficiente y efectiva de compartir la información dentro de un equipo de

desarrollo es la conversación cara a cara.

7. El software funcionando es la principal métrica de progreso.

8. Los procesos ágiles promueven el desarrollo sostenible. Los sponsors, desarrolladores

y usuarios deben poder mantener un ritmo constante indefinidamente.

9. La atención continua a la excelencia técnica y buenos diseños incrementan la agilidad.

10. La simplicidad –el arte de maximizar la cantidad de trabajo no hecho- es esencial.

11. Las mejores arquitecturas, requerimientos y diseños emergen de equipos autoorganizados.

12. A intervalos regulares, el equipo reflexiona acerca de cómo convertirse en más

efectivos, luego mejora y ajusta su comportamiento adecuadamente.

Page 13: Capacitación scrum

Requerimientos

DINAMICA

Page 14: Capacitación scrum

SCRUMQue no es: Proceso completo o metodología

No proporciona una descripción completa y detallada de cómo deben de realizarse las tareas

Que es: Marco de Trabajo

Deja en manos del equipo de desarrollo muchas de las decisiones, el equipo es el idóneo para tomarlas.

Page 15: Capacitación scrum

SCRUM = Manera simple de manejar problemas complejos

Principios SCRUM

Page 16: Capacitación scrum

Roles

Page 17: Capacitación scrum

Roles: Equipo Hasta 9 personas Proveer estimación Compromisos Entrega de producto terminado al finalizar el

sprint

Page 18: Capacitación scrum

Roles: Product OwnerResponsable del éxito del producto desde el punto de vista del stakeholder

Visión del producto Expectativas de Stakeholders Recolectar requerimientos Detalle de características de alto y bajo nivel Mantener el release plan Maximizar la rentabilidad Priorización

Page 19: Capacitación scrum

Roles: ScrumMasterCoach del equipo y quien ayuda a alcanzar el máximo nivel de productividad

Líder y facilitador Correcto empleo y evolución de SCRUM Seguimiento al marco Equipo multi-funcional Proteger al equipo de distracciones Remoción de impedimentos Cooperación y comunicación Progreso de actividades Actualización de metricas

Page 20: Capacitación scrum

Artefactos: Backlog del producto

Page 21: Capacitación scrum

Flujo de trabajo

• Iteraciones (Sprints) -> Retrasos y adelantos – Potencialmente entregable• Reunión de planificación -> Qué (SM, PO, T) y Cómo (SM, T)• Reuniones diarias –> Incremento de comunicación• Reunión de revisión del producto• Reunión de Retrospectiva• Reunión de indagación y estimación

Page 22: Capacitación scrum

Desarrollo Evolutivo: Construcción de autobuses

Page 23: Capacitación scrum

Desarrollo Evolutivo: Construcción de autobuses

Page 24: Capacitación scrum

Desarrollo Evolutivo: Construcción de autobuses

MMM = Minimum Marketeable Feauture

Page 25: Capacitación scrum

Análisis Ágil

Identificación de RolesVisual Story Mapping• Identificación de Procesos• Funcionalidades de Software

Page 26: Capacitación scrum

Historia de UsuarioLas Historias de Usuario surgieron en eXtremme Programming (XP) como una respuesta a una situación habitual en los proyectos de desarrollo do software: los clientes o especialistas de negocio se comunican con los equipos de desarrollo a través de extensos documentos conocidos como especificaciones funcionales. A su vez, las especificaciones funcionales son la documentación de supuestos y están sujetas a interpretaciones, lo que causa malos entendidos y que finalmente el software construido no se corresponda con la realidad esperada.Una de las principales razones por las cuales la utilización de especificaciones detalladas como medio de comunicación no conduce a resultados satisfactorios es porque solo cubre una porción mínima (7%) del espectro de la comunicación humana: el contenido. Según Albert Mehrabian, la comunicación humana se compone de tres partes:

• En un 7%: El contenido (las palabras, lo dicho)• En un 38%: El tono de la voz• En un 55%: Las expresiones faciales

Page 27: Capacitación scrum

Historia de Usuario: Componentes

• Card (Ficha): Ficha de papel pequeña• Conversación: Información, pensamientos y opiniones• Confirmación: Criterios de aceptación

Mike Cohn sugiere:

Page 28: Capacitación scrum

Historia de Usuario: Componentes

Page 29: Capacitación scrum

Historia de Usuario: Características

INVEST

Page 30: Capacitación scrum

Historia de Usuario: Características

• Independientes (I)• Negociable (N)• Valorable (V)• Estimable (E)

• Muy grande• Falta de conocimiento funcional• Falta de conocimiento tecnico

• Pequela (S)• Verificable (T)

Page 31: Capacitación scrum

Estimación Ágil• Cono de la incertidumbre

Page 32: Capacitación scrum

Estimación Ágil: Escalas de PBIs y Estimaciones

• EPIC (Bloque)• Historia de Usuario (Funcionalidad)• Tareas

Page 33: Capacitación scrum

Estimación Ágil: Planning Poker

0, 1, 2, 3, 5, 8, 13, 21, 40, 100

Page 34: Capacitación scrum

Estimación Ágil: Conclusiones

1. No tiene sentido presentar estimaciones certeras al comienzo de un proyecto ya que su probabilidad de ocurrencia es extremadamente baja por el alto nivel de incertidumbre.

2. Intentar bajar dicha incertidumbre mediante el análisis puede llevarnos al “AnálisisParálisis”. Para evitar esto debemos estimar a alto nivel con un elevado grado de probabilidad, actuar rápidamente, aprender de nuestras acciones y refinar las estimaciones frecuentemente. Este enfoque se conoce también como “Rolling Wave Planning” o “Elaboración Progresiva”.

3. La mejor estimación es la que provee el Equipo de trabajo. Esta estimación será mucho mas realista que la estimación provista por un experto ajeno al Equipo

Page 35: Capacitación scrum

PROYECTO

EL AHORCADO• División del equipo• Obtención del Product Backlog -> ?

• Planning Meeting• X -> ? -> ?• Y -> ? -> ?

• SprintBacklog• Daily Meeting

• ?• ?• ?

• Reunión revisión del producto -> ?• Reunión de retrospectiva -> ?