Upload
rodrif89
View
12
Download
0
Tags:
Embed Size (px)
Citation preview
ScrumIntroducción a las Metodologías Ágiles
75:45 – Taller de Desarrollo de Proyectos
Mario Pignataro / Gabriel Piñeiro / Pablo Tortorella
Nivel de “Caos” en los
proyectos
Simple
Anarquía
Complejo
Cerca de la
certeza
Lejos de la
CertezaTecnología
Cerca del
acuerdo
Lejos del
AcuerdoR
equerim
iento
s
Source: Strategic Management and
Organizational Dynamics by Ralph Stacey
in Agile Software Development with Scrum
by Ken Schwaber and Mike Beedle.
3
Que es lo que requiere el “negocio”?
4
Estrategias actuales para desarrollar
software
• Sin procesos
• Sin documentación
• Planificación informal
• Equipos no disciplinados
• Equipos no entrenados
• Etc., etc…
5
• Procesos compliance CMMI
• RUP, prototipación
• Con documentación
• Planificación formal
• Equipos disciplinados
• Equipos entrenados
• Etc., etc…
Cliente Satisfecho
6
Administración del cambio
7
Caminar sobre las aguas y administrar
proyectos a partir de las especificaciones
es fácil...
si ambas están congeladas.
Edward V. Berard
Administración del cambio
9
Algunas enfermedades, como dicen los médicos,
son al principio fáciles de curar pero difíciles de
reconocer... pero a medida que pasa el tiempo,
se hacen fáciles de reconocer y difíciles de
curar.
Nicolás Maquiavelo, El Príncipe
The “Agile Manifesto”
• Las Personas y el aprendizaje en Iteraciones
por encima de los procesos y herramientas
• El Entregable Real de Producto por encima de
la documentación detallada
• La Interacción Colaborativa con el
Usuario/Cliente por encima de la negociación de
cláusulas de contrato
• Responder al Cambio por encima del
seguimiento estricto de un plan
http://www.agilemanifesto.org 10
Scrum
• “The New New Product Development Game” in Harvard Business
Review, 1986.
• “… El uso actual de las técnicas estilo “carrera de relevos” para el desarrollo de
nuevos productos… puede fácilmente “jugar en contra” de conseguir objetivos de
máxima velocidad y flexibilidad. Como una buena alternativa para mantener la visión
y conseguir las metas en un ambiente competitivo, la aplicación de técnicas
“holísticas” o del estilo del juego de Rugby, donde un equipo trata de alcanzar la
meta del contrario en forma compacta como una unidad, y el individuo que lidera el
esfuerzo es el que en ese instante posee la pelota.”
• Wicked Problems, Righteous Solutions by DeGrace and Stahl, 1990.
• Primera mención de Scrum en un contexto de desarrollo de software
11
Scrum – Características
• Equipos con capacidad de auto-organización
• Progreso de desarrollo de Producto en series de “sprints” de
1 ó 2 semanas de duración
• Los requerimientos se listan como un ítem en una lista de
“product backlog”
• No se especifica norma o práctica alguna de la ingeniería
sobre como se realizará el trabajo
• Uso de practicas conversacionales generativas para crear un
entorno ágil para el delivery del producto
• Es una de varias “metodologías ágiles” 12
Scrum: El Proceso
13
Sprints
• Los proyectos con Scrum progresan en series de
“sprints”• Corto, acotado en tiempo, completo
• Duración: cerca de 2 semanas• +/- una semana
• Tener en cuenta que una duración constante lleva a un mejor ritmo
• El entregable de producto es diseñado, codificado,
y testeado durante el sprint
14
No hay cambios durante el sprint
• Planear que las duraciones del sprint sean breves pero comprendan el tamaño mínimo de entregable que el equipo se pueda comprometer.
SprintInputs Producto Testeado
Cambio
15
Restricciones durante el Sprint
• Lista completa de restricciones y limitaciones a
aplicar durante el Sprint:-
-
-
-
-
• </end of list>
… NO HAY !!!16
Scrum Framework
• Roles : Product Owner, ScrumMaster, Team
• Ceremonias: Sprint Planning, Sprint Review,
Sprint Retrospective, & Daily Scrum Meeting
• Artefactos: Product Backlog, Sprint Backlog, and
Burndown Chart
18
El cerdo y el pollo…la historia dice que…
19
Roles en Scrum (Implicados y Comprometidos)
Scrum Master
TeamProduct Owner
20
Product Owner
• Define las funcionalidades del producto
• Decide sobre el “release date” y el contenido
• Es responsable por la “rentabilidad” del producto
(ROI)
• Prioriza funcionalidades de acuerdo al valor de
mercado
• Ajusta las funcionalidades y prioridades en cada
iteración, a la medida que se requieran
• Acepta or rechaza los resultados de trabajo21
Scrum Master
• Representa la “gestión” del projecto
• Responsable de aplicar los valores y prácticas
de Scrum
• Remueve impedimentos
• Se asegura que el team es completamente
funcional y productivo
• Facilita la cooperacion de entre todos los
rooles y funciones
• Aisla al team de interrupciones externas
22
Scrum Team
• Típicamente 5 a10 personas (recomendado hasta 7)
• Cross-functional skills• UI Designers, Programmers, QA, etc.
• Asignados full-time• Puede haber excepciones temporales (e.g., SysAdmin, etc.)
• Self-organizing team• Idealmente, no hay jerarquías sino liderazgos
• El equipo sólo se modifica entre Sprints
23
Scrum Framework
• Roles : Product Owner, ScrumMaster, Team
• Ceremonies : Sprint Planning, Sprint Review,
Sprint Retrospective, & Daily Scrum Meeting
• Artifacts : Product Backlog, Sprint Backlog, and
Burndown Chart
24
26
Sprint Planning Meeting. Decidiendo qué historias incluir en el Sprint
Pila de Producto: historiaspriorizadas con su duracionestimada en “puntos de historia”
Velocidad Estimada = cuántos
puntos de historia cree el equipo que
puede completar durante el próximo
Sprint
• Parámetros• Una vez al día
• 15 minutos por reloj
• De pie, no sentados
• Solo daily planning. No problem solving
• Tres (3) preguntas :1. Que hiciste ayer ?
2. Que harás hoy?
3. Que obstáculos estás encontrando?
• Participan Chickens y Pigs• Ayuda a evitar otros meetings no necesarios
• Solo los Cerdos pueden hablar
Daily Scrum meetings
27
Daily Scrum meetings. Para que ?
• Porque una vez al día ?Pregunta: “Que hace que un proyecto se retrase un año ?”
Respuesta: “Que con cada inconveniente se retrase un día …”
• Fred Brooks, The Mythical Man-Month.
• Se pueden reemplazar los Scrum meetings por
reportes de avance por e-mail?
• NoEn los Scrum meetings se deciden acciones imposibles de resolver por e-mail
1) El team completo puede ver “the whole picture” cada día
2) Se crea un ambiente de compromiso personal de “voy a hacer lo que
prometi que iba a hacer”28
Sprint Review Meeting
• El team presenta que ha sido realizado durante el Sprint
• Típicamente toma la forma de una demo de nuevas funcionalidades
• Informal• Regla de 2 horas de preparación
• Participantes• Clientes / Usuarios
• Gerencia
• Product Owner
• Otros ingenieros
29
Sprint Retrospective Meeting
• Solamente el Scrum Team
• Feedback meeting, tres (3) cuestiones …
• Bien: si hiciéramos el Sprint otra vez, que cosas
volveríamos a hacer igual.
• Mejorable: si hiciéramos otra vez el Sprint, que
cosas haríamos de forma diferente.
• Mejoras: ideas concretas sobre cómo podemos
mejorar en el futuro
• También se evalúa la velocidad (planificado Vs.
Realizado) 30
Analizando el avance (Incorrecto)
31
Analizando el avance (Correcto)
32
Scrum Framework
• Roles : Product Owner, ScrumMaster, Team
• Ceremonias: Sprint Planning, Sprint Review,
Sprint Retrospective, & Daily Scrum Meeting
• Artefactos: Product Backlog, Sprint Backlog, and
Burndown Chart
33
Product Backlog
• Una lista del trabajo deseado• Normalmente una combinación de:
• Historias de Usuario (Funcionalidades)
• Tareas a realizar
• La lista la prioriza y pondera el Product Owner• Normalmente el Product Manager, Gte. Marketing, Internal
Customer rep, etc.
34
The Sprint Goal / “Visión” del Sprint
• Identificar un “tema” para el sprint :
Implementación de Metodologías Ágiles en la AFIP
“Planificar y validar con las áreas de la
SDG Sit un plan para la adopción de
metodologías ágiles en el desarrollo
de proyectos durante la gestión 2011”
Pliego de Especificaciones
Capacitación Scrum en la AFIP
“Preparar un pliego de
especificaciones para el
proyecto de Capacitación
sobre Scrum en la AFIP”
Oficina de Gestión y QA ágil
“Generar y acordar con
las áreas de la SDG Sit
una metodología ágil de
seguimiento de gestión
que garantice una
entrega de valor para la
mejora continua”
36
Del Sprint Goal al Sprint Backlog
• El Team identifica el Sprint Goal y decide que
tareas son necesarias
• El Team se auto-organiza de acuerdo a como
cumplimentar el Sprint Goal• El manager NO asigna tareas en forma individual
• Los managers NO toman decisiones por el Team
• El Sprint Backlog es creado
37
Ejemplo
Sprint
Backlog
38
Escalabilidad de Scrum
• El Scrum Team debe ser de 5 a10 personas
(normalmente no mas de 8)
¿ Como se escala ?
• Sutherland ha utilizado Scrum en grupos de más de
500 desarrolladores
• Mike Cohn ha aplicado Scrum en grupos de más de
100 personas
39
Scrum de Scrums / Meta-Scrum
40
Ejercicio 1: Pajarraco
• 4 Team de hasta 5 personas cada uno
• 1 Scrum Master por Team
• 1 “Coach” como Product Manager
• Armar estructura de roles y del team
• 4 Sprints de 15´ c/u• 2´ o menos Sprint Planning
• 1´ o menos Sprint Review
• 2´ Demo del entregable
41
SP Day 1 Day 2 Day 3 R
2’ < 5’ < 5’ < 5’ 1’
Nombre Team
(Story 1)
Sprint #
Team 1 Team 2 Team 3 Team 4
Sprint 1 …
/
…
Sprint 2 …
/
…
Sprint 3 …
/
…
Sprint 4 …
/
…