Flexibilidad Con Scrum
Flexibilidad Con Scrum
Flexibilidad Con Scrum
Juan Palacio
Título
Autor
Juan Palacio
Imagen de Portada
Carlo D.C.
Edición
Octubre – 20081
Noviembre - 2007
Impresión
Versión impresa, disponible en http://www.lulu.com
Derechos
http://www.safecreative.org/work/0710210187520
Las condiciones en las que se puede usar y distribuir este trabajo están registradas y
se pueden consultar en Safe Creative
Contenido 1
Prólogo 11
¿QUÉ ES UN PROYECTO? 19
Gestionar no es controlar 28
El nuevo escenario 31
VELOCIDAD 31
INCERTIDUMBRE 34
2 Flexibilidad con Scrum.
1.- Incertidumbre 42
2.- Auto-organización. 42
EL MANIFIESTO ÁGIL 48
INTRODUCCIÓN 55
Valor 56
Agilidad y flexibilidad 59
Resultados fiables 60
1.- Concepto 62
2.- Especulación 62
3.- Exploración 63
4.- Revisión 63
5.- Cierre 63
1.- ¿El objetivo de cualquier proyecto siempre es: producto, costes y fechas
planificadas? 69
PROPUESTA CLÁSICA. 83
PROPUESTA ÁGIL. 86
DSDM 86
Extreme Programming 87
Scrum 87
INTRODUCCION 91
MALEABILIDAD 100
SÍNTESIS 106
Contenido 5
FLEXIBILIDAD 106
INTRODUCCIÓN 113
LA ORGANIZACIÓN 117
EL TRABAJO 118
DESARROLLO 120
MANTENIMIENTO 121
EL ORIGEN 125
Auto-organización 127
Colaboración 128
HERRAMIENTAS 133
Estimaciones 134
VALORES 135
INTRODUCCIÓN 137
CONDICIONES 143
EJEMPLOS 144
EL INCREMENTO 146
INTRODUCCIÓN 147
Pre-condiciones: 148
Entradas: 148
Resultados: 148
DESCRIPCIÓN 157
PRE-CONDICIONES 157
ENTRADAS 157
RESULTADOS 157
DESCRIPCIÓN 158
OBJETIVOS: 158
PRE-CONDICIONES 159
ENTRADAS 159
RESULTADOS 159
INTRODUCCIÓN 169
Auto-organización 171
Índice 181
Prólogo
Hay dos tendencias: por un lado empresas que se, o les prescriben como
remedios de mejora a ISO 9003 o CMMI o ITIL… o incluso
combinaciones de varios; y por otro las que optan por algún modelo o
combinación de modelos ágiles: Extreme Programming, Scrum, FDD,
etc.
También están las adictas que, seguramente sin pensarlo mucho, se meten
todo lo que pillan: las veintitantas áreas de proceso CMMI, más las
prácticas de Scrum, Extreme Programming…
Por estas razones tomar el modelo que más encaja con nuestra empresa
conociendo y respetando su fondo de conocimiento, pero no su forma,
permite flexibilizarlo:
Supone tomar del modelo lo que nos ayuda, y olvidar lo que nos enreda.
¡Casi nada!; primero, porque se necesita nuestro criterio. No vale lo de
hacer lo que nos dicen; y segundo porque supone que “uno tiene su
propia fe” y como decía Georges Brassens (Brassens, 1952) “Non, les
brav’s gens n’aiment pas que L’on suive une autre route qu’eux2”.
Los apuntes que recopilo en el libro son de conclusiones a las que llego
por la experiencia y lo aprendido hasta ahora. Son los consejos que daría
a un amigo, al que al mismo tiempo diría que siempre que sea posible,
antes de copiar las formas de trabajar de otros, las cuestione, y si su
realidad le demuestra que es mejor adaptarlas, que no lo dude. Por eso
estas páginas no dan recetas para calcar, sino conocimiento que ojalá
resulte útil para adaptar o diseñar las propias.
relacionados.
Esta sección incluye principios que se suelen ignorar al implantar
modelos de mejora en nuestras empresas. Principios para las
áreas de gestión de la organización, necesarios porque la
implantación de un modelo ágil implica mucho más que cambiar
el formato de los requisitos o el protocolo de las reuniones.
¿Qué es un proyecto?
Algunos productos se desarrollan “a medida”, comenzando por el diseño,
y ejecutando después un plan de ejecución; otros sin embargo son el
resultado en serie de cadenas o procesos de producción.
Con los servicios ocurre algo similar: algunos son actuaciones únicas y
específicas concebidas y realizadas para las necesidades de la ocasión, y
otros son procedimientos normalizados, ejecutados según protocolos y
prácticas estandarizadas, que con carácter repetitivo se emplean siempre
para prestar el mismo servicio, o servicios del mismo tipo.
Incumplimiento de agendas.
Desbordamiento de costes.
Funcionalidad deficiente.
Para PMI (por ejemplo) las áreas de gestión que tiene a su cargo son
(PMI, 2005):
26 Flexibilidad con Scrum
Diagramas de Gantt.
Ruta crítica.
Plan de comunicación.
Plan de riesgos.
Plan de calidad.
Plan de recursos.
Matriz de responsabilidades.
Actas de reuniones.
Etc.
La mejor medida para evitar este vicio es que sean conscientes del riesgo,
y lo conozcan tanto el departamento de calidad y procesos (si lo hay)
como los responsables y directivos de las diferentes áreas, porque tienen
una compromiso notable en los valores culturales de la organización, y
son por ello los más indicados para evitar una “cultura de cumplimiento”,
que hace olvidar que el fin de un diseño, o de un plan, una gestión… no
es escribirlas y registrarlas según las normas, sino que sean el mejor, o el
más innovador o el más adecuado (diseño, plan, gestión…) según los
casos.
Gestionar no es controlar
En la gestión de proyectos predictiva el gestor diseña, traza el plan y es el
responsable de su cumplimiento.
Las formas pasan a ser también más importantes que los fines, y se da
más relevancia a las horas de dedicación o al cumplimiento de las normas
que a la eficiencia o calidad de los resultados.
El nuevo escenario
Velocidad
Incertidumbre.
Velocidad
Hasta entonces los productos, una vez desarrollados, permanecían en los
catálogos de ventas bastantes años, y en las cuentas anuales pesaban
mucho más los ingresos por productos de catálogo, que los de las
novedades.
A partir de los 80 la vida de los productos empieza a ser más breve, y una
vez desarrollados apenas se mantienen unos meses el catálogo de
novedades, y enseguida quedan fuera del mercado. Los ingresos de las
empresas no dependen ya de los productos veteranos, sino de los últimos
desarrollos.
Incertidumbre
En un escenario rápido e inestable, encajan mal las estrategias de negocio
predictivas, que diseñan un producto y trazan un plan de negocio.
A finales del siglo pasado, entre las industrias más afectadas por la
velocidad y la inestabilidad de los entornos de negocio, algunas dejan de
lado los modelos de desarrollo predictivo, y generan patrones propios
con los que obtienen mejores resultados que sus competidores.
Los desarrollos secuenciales puros suelen ser más teóricos que prácticos y
en realidad quienes los adoptan generalmente producen ciclos
“secuenciales con solapamiento”, en los que cada fase puede comenzar
con el material aún no terminado por completo en la fase anterior. Así no
es raro que partes de diseño de la arquitectura, por ejemplo, se comiencen
cuando los requisitos aún no se han cerrado por completo; de igual
forma, con partes de análisis aún pendientes de concretar, el equipo de
codificación puede disponer ya de partes de diseño que permiten
comenzar la codificación, etc.
1.- Incertidumbre
Como elemento consustancial y asumido en el entorno y en la cultura de
la organización.
2.- Auto-organización.
Son equipos auto-organizados. No hay roles de gestión que marquen
pautas o asignación de tareas.
Para que los equipos puedan conseguir auto-organizarse deben reunir tres
características:
En el desarrollo tradicional:
El Manifiesto Ágil
Firmado por:
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward
Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew
Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve
Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas.
Por supuesto que los procesos ayudan al trabajo. Son una guía de
operación. Las herramientas mejoran la eficiencia, pero sin personas con
conocimiento técnico y actitud adecuada, no producen resultados.
También son apropiadas las prácticas ágiles para los casos en los que se
prevé inestabilidad en los requisitos por la velocidad del entorno de
negocio.
Introducción
El nuevo escenario de negocio de muchos sectores necesita modelos
diferentes para desarrollar sus productos.
Valor
Reducción de tiempo de desarrollo
Agilidad y flexibilidad
Fiabilidad.
Valor
Aunque ya está muy acuñado como principio que la gestión ágil es más
adecuada para dar valor, ésta ha sido una redacción tendenciosa desde los
principios ágiles.
Resulta más realista considerar que la gestión ágil es más adecuada para
dar valor innovador.
LA INNOVACIÓN
De igual forma ocurre con las aportaciones de valor que podrían dar los
programadores al combinar su conocimiento técnico con el conocimiento
de las razones del cliente y del diseño.
Agilidad y flexibilidad
Agilidad: capacidad de responder rápidamente a las modificaciones de las
directrices de trabajo.
Flexibilidad
Resultados fiables
Los procesos de producción empleados por la gestión de proyectos
tradicional tienen como finalidad la predictibilidad de los resultados:
conseguir el trabajo planificado (y conocido de antemano) en el plazo
planificado y por el coste previsto.
Etcétera.
Gestión ágil de proyectos 61
1.- Concepto
2.- Especulación
3.- Exploración
4.- Revisión
5.- Cierre
62 Flexibilidad con Scrum
1.- Concepto
En la fase de concepto se crea la visión del producto o servicio que quiere
obtener. Se decide y selecciona al equipo de personas que lo llevará a
cabo.
Partir sin una visión determinada produce esfuerzo baldío. Igual que para
una empresa, la visión es un factor crítico para el éxito del proyecto.
2.- Especulación
Una vez que se dispone de la visión de lo que se quiere conseguir, el
equipo especula y construye hipótesis sobre la información de la visión,
que per se es muy general e insuficiente para determinar las implicaciones
de un desarrollo (requisitos, diseño, costes…).
3.- Exploración
Desarrollo de las funcionalidades que para generar el siguiente
incremento de producto, ha determinado el equipo en la etapa anterior.
4.- Revisión
El equipo y los usuarios revisan las funcionalidades construidas hasta ese
momento.
5.- Cierre
Al llegar a la fecha de entrega de una versión de producto (fijada en la
fase de concepto y revisada en las diferentes fases de especulación), se
obtiene el producto esperado.
64 Flexibilidad con Scrum
Forma 2:
Quiero pasar las vacaciones por Italia. La idea es salir en la primera
semana de junio y estar entre 15 y 20 días allá. Tengo un presupuesto de
3.500 Euros. Quiero comenzar en Roma, pero luego no sé si ir hacia el
norte e intentar abarcar Florencia, Bolonia y Venecia; o hacia el sur para
conocer Nápoles y dar una vuelta por Sicilia. Bueno, lo decidiré sobre la
marcha.
1.- Universalidad.
Pueden ser:
Características determinantes
Prioridad de negocio
Por supuesto los dos objetivos son deseables, pero hay que determinar un
nivel de equilibrio porque son excluyentes.
O lo que es lo mismo, ¿Se puede saber con certeza y detalle qué es lo que
se quiere construir, y es poco probable que cambien los criterios o las
necesidades?
Coste de prototipado
La afirmación “per se” es obviamente cierta; pero también son ciertas dos
circunstancias relacionadas:
O lo que es lo mismo:
Hay quien considera que los modelos ágiles resultan poco adecuados para
desarrollar sistemas críticos, y opiniones como la de Ken Schwaber,
impulsor del uso de Scrum para desarrollo de software, que considera que
sí que sería posible si se incluyeran unos requerimientos de conformidad
Gestión, ¿predictiva o ágil? 75
Los resultados de la gestión ágil dependen más del valor de las personas
que del de los procesos de la organización.
Cultura organizativa
Nivel profesional
“En el mundo del diseño informático, los mejores lo hacen entre 50 y 100
veces mejor que el promedio, y la cifra aumenta, conforme se incrementa
la complejidad de la tecnología” (Jericó, 2001)
Modelo de de desarrollo
Nuestra profesión es muy reciente, se podría decir que aún adolescente (si
no una niña) y que no cuenta todavía con una base de conocimiento
maduro.
Se puede decir que hasta bien entrados los 80 el uso de ordenadores era
escaso, y ninguno el conocimiento desarrollado para gestionar proyectos
de software.
Propuesta clásica.
En las fechas que se planteaba la necesidad de crear un conocimiento
profesional para la gestión de proyectos, (v. origen de la gestión de
proyectos pág. 21) también se estaba en la necesidad de crear una
“ingeniería del software” para ofrecer garantías de calidad y previsibilidad
al desarrollar programas.
Propuesta ágil.
A finales de los 90, reputados profesionales con predicamento en
diferentes foros técnicos, comenzaron a cuestionar las metodologías
formales, que representadas por CMM e ISO 15504, y respaldadas por la
autoridad y los medios de sus respectivas organizaciones, estaban
asentando una ingeniería del software basada en procesos.
DSDM
Es la metodología más veterana de las auto-denominadas ágiles. Surgió en
1994 de los trabajos de Jennifer Stapleton, la actual directora del DSDM
Consortium.
Modelos y metodologías: el mapa del bosque 87
Extreme Programming
Es la metodología ágil más popular, y posiblemente también la más
transgresora de la ortodoxia basada en procesos.
Scrum
Scrum es una metodología ágil de desarrollo de proyectos que toma su
nombre y principios de los estudios realizados sobre nuevas prácticas de
producción por Hirotaka Takeuchi e Ikujijo Nonaka a mediados de los 80
(v. pág.37)
INTRODUCCION
Según como afrontan las organizaciones el desarrollo del software, éste
puede comportarse como factor de riesgo o amenaza para el negocio; o
por el contrario como una poderosa oportunidad de negocio.
Todas las empresas quieren producir más rápido, mejor y con menores
costes, y es posible, porque la naturaleza del software, antes que causa de
riesgos y problemas, es una fuente de oportunidades.
Aunque las cinco décadas de vida del software ya han sido suficientes
para experimentar los excesos y los errores de la infancia y la juventud, la
resistencia al cambio es el mejor aliado de la inercia, y produce una cierta
impermeabilidad a la experiencia.
En cualquier caso es una opción: trabajar sin ninguna metodología.
Salto que supone que no van a ser ya ellos, sino su empresa quien deberá
producir de forma eficiente y repetible en todos sus proyectos, resultados
de calidad. Y esta es otra aventura en la que muchos fracasan teniendo
que regresar a la casilla de salida, o si el "roto" del intento ha sido muy
grave, terminar cerrando, o como mal menor dejándose adquirir por
algún competidor más o menos grande del sector.
Personas +
Producción heroica
tecnología
Personas + procesos Producción basada
+ tecnología en procesos
Un ejemplo que seguro todos hemos realizado alguna vez, y que ilustra
las diferencias entre los dos modos de producción es el montaje de un
mueble en kit.
Todas las industrias necesitan ambos tipos de capitales para elaborar los
productos o servicios de su negocio, pero la relevancia con que cada uno
puede influir en el resultado final es muy diferente de unas empresas a
otras.
Es frecuente que en las dedicadas a la fabricación de productos, el
componente estructural sea más crítico que en las de servicios, donde el
elemento humano tiene más relevancia.
Por esta razón resulta mucho más fácil, o en lenguaje empresarial, menos
costoso, reemplazar al personal de cocina de un establecimiento de
PhonoPizza que al de un restaurante de cocina vasca.
Las barras de color azul de la figura representan el valor, que para una
empresa determinada, aporta cada elemento a su sistema de producción.
98 Flexibilidad con Scrum
La clave del éxito es conseguir que cada factor aporte al conjunto hasta el
límite de su mejor relación eficiencia/calidad.
Maleabilidad
Los materiales físicos no son muy maleables. Esta característica refuerza
la necesidad de previsión antes de comenzar la construcción de un
sistema, porque una vez desarrolladas cada una de las partes o módulos,
no es posible su cambio, amoldando lo ya construido.
Factor de escala
Algunos productos tienen factores de escala escasos: aumentar el número
de unidades realizadas, supone incrementos de proporciones similares en
el coste de fabricación.
"La evaluación en CMM depende más de una buena presentación en papel que da la
calidad real del producto de software. Tiene que ver más con el seguimiento a ciegas de
una metodología que con el desarrollo y puesta en producción de un sistema en el
panorama tecnológico".
Ken Orr , CMM versus Agile Development: Religious wars and software development .
"Si uno pregunta a un ingeniero de software típico si cree que CMM se puede aplicar a
los métodos ágiles, responderá o con una mirada de sorpresa o con una carcajada
histérica".
Richard Turner y Apurva Jain, Agile meets CMMI: Culture Clash or Common Cause .
FLEXIBILIDAD
Cada proyecto tiene sus propias circunstancias: estabilidad del entorno,
componente de innovación, grado de criticidad del producto que debe
construir, cultura de la organización que lo desarrolla, etc.
No hay dos proyectos iguales, ni dos empresas iguales; ni por tanto, una
"talla única" de gestión de proyectos.
GESTIÓN SISTÉMICA
La empresa es un sistema inter-relacionado, y es importante que tenga
una identidad definida con una visión y misión concretas, porque de esta
forma será el punto para dar coherencia y alineación a todos los
departamentos y personas.
ayuda, una herramienta que simplifica aspectos rutinarios para que pueda
lograr más eficiencia y no diluir el esfuerzo en rutinas mecánicas.
Para los segundos, la variable más influyente en el valor del resultado son
las personas.
¿Quién tiene razón: la tesis (CMM, ISO 15504, PMI...) o la antítesis (XP,
Scrum, DSDM...)?
Ambos la tienen, y lo que su síntesis revela es que los procesos y las
personas, que cada uno gestiona de forma diferente, encierran dos
aspectos diferentes en cada caso, y no uno sólo.
Scrum Management 111
Scrum Management
Con este nombre definimos la estrategia de gestión que trabaja con la
síntesis del conocimiento desarrollado por las teorías de procesos y las de
agilidad.
De ésta toma el patrón de Campo de Scrum (pág. 40) como entorno para
el desarrollo de los proyectos.
Introducción
La tesis (ISO 12207, 15504, CMMI…) ha identificado y definido QUÉ
cosas son las que hay que hacer.
La antítesis (XP, Scrum, FDD...) ha mostrado formas de trabajar: CÓMO
hacer determinados "qués".
ISO 12207, CMMI o ISO 15504 son modelos. Los modelos dicen el
QUÉ hay qué hacer, pero no CÓMO hacerlo. Los modelos le dicen: hay
que hacer un contrato, hay que mirar las opciones del mercado, hay que
hacer requisitos, plan de proyecto, análisis, codificar, probar, etc...
Una gran empresa, o una pequeña que quiere asentar principios para dar
el salto: de personas que saben programar a empresa que sabe programar,
debe incluir procesos para explicitar e institucionalizar su saber hacer,
independientemente de que sean procesos o agilidad.
Ingeniería de procesos:
4.- Mejora
La organización
Las características de la organización que se deben tener en cuenta son:
Nº de personas
Previsión / estrategia de evolución
5 Ciclo “Plan, Do, Check, Act (Planificar, Hacer, Verificar, Actuar), o círculo de Deming.
6Modelo IDEAL (Initiating, Diagnosing, Establishing, Acting & Learning) para la mejora
organizacional, definido y utilizado por CMMI.
118 Flexibilidad con Scrum
El trabajo
También las características del trabajo son relevantes para cuestionar los
“porqués”; que como apunta la introducción del libro, decir software es
decir mucho y no decir nada. Hay empresas para sistemas muy diferentes.
Unas se pueden dedicar, por ejemplo, a la configuración e integración de
productos estándar (CRM’s, ERP’s…) y otras al desarrollo de artefactos
novedosos para servicios vanguardistas.
Su conveniencia.
Si debe orientarse como procesos, o como rutinas de trabajo.
Conveniencia y forma de institucionalización.
La conveniencia y forma de su inclusión en prácticas de
ingeniería de procesos, y con qué nivel y rigor de medición:
cualitativa o cuantitativa y sobre qué métricas.
ADQUISICIÓN – SUMINISTRO.
De adquisición son las tareas responsabilidad del cliente: cosas como
saber qué necesita, de qué forma y con qué criterios va a seleccionar al
proveedor, forma de contrato, seguimiento del desarrollo y validación de
lo entregado.
DESARROLLO
Los procesos de desarrollo cubren la gestión, los requisitos del software,
análisis, codificación, integración y pruebas.
Por qué es más apropiado integrar cada parte en las fechas y según prevé
el Gantt del proyecto, o trabajar con integración y pruebas sistemáticas
continuas.
Los criterios de la gestión flexible en el software 121
MANTENIMIENTO
En los sistemas desarrollados con patrones predictivos el mantenimiento
deberá adoptar modelos formales tipo IEEE Std. 1219. Cada petición de
cambio tendrá que evaluarse, catalogarse, analizarse… de forma adecuada
al tamaño y características del proyecto.
PROCESOS ORGANIZACIONALES
El diseño y la gestión de cada área de procesos, de las personas, de la
calidad y la mejora continua, la cultura e institucionalización de las formas
de trabajo; en definitiva: la gestión de la organización, debe estar alineada
y ser coherente entre todos los procedimientos; y en conjunto coherente
en el sistema lógico e inter-relacionado que es la organización.
Aquí, y posiblemente más que en ningún otra área, encajan mal las tallas
únicas. No es realista emplear modelos o prácticas generales de gestión, y
el saber hacer y la capacidad de los gestores es mucho más importante
que el de los procesos, precisamente para determinar cuáles o qué
prácticas deben emplearse.
.
LA PRÁCTICA DE SCRUM
El modelo Scrum
El origen
Scrum es una metodología ágil para gestionar proyectos de software, que
toma su nombre y principios de los estudios realizados sobre nuevas
prácticas de producción por Hirotaka Takeuchi e Ikujijo Nonaka a
mediados de los 80 (Ikujiro & Takeuchi, 1986).
Introducción al modelo
Scrum es una metodología de desarrollo muy simple, que requiere trabajo
duro, porque la gestión no se basa en el seguimiento de un plan, sino en
la adaptación continua a las circunstancias de la evolución del proyecto.
126 Flexibilidad con Scrum
Cada uno de los ciclos de desarrollo es una iteración (sprint) que produce
un incremento terminado y operativo del producto.
Desarrollo incremental
En el proyecto, no se trabaja con diseños o abstracciones.
Desarrollo evolutivo
Como modelo ágil, es útil en entornos con incertidumbre e inestabilidad
de requisitos.
Intentar predecir en las fases iniciales cómo será el resultado final, y sobre
dicha predicción desarrollar el diseño y la estructura del producto no es
realista, porque las circunstancias obligarán a remodelarlo muchas veces.
Auto-organización
Durante el desarrollo de un proyecto surgen circunstancias impredecibles
en todas las áreas y niveles. La gestión predictiva confía la responsabilidad
de su resolución al gestor de proyectos.
Colaboración
Las prácticas y el entorno de trabajo ágiles facilitan la colaboración del
equipo, que es necesaria y debe basarse en la colaboración abierta entre
todos según los conocimientos y capacidades de cada persona, y no según
su rol o puesto.
El modelo Scrum 129
Las reuniones
Planificación del sprint: Jornada de trabajo previa al inicio de cada
sprint en la que se determina cuál es el trabajo y los objetivos que se
deben cubrir con esa iteración.
Esta reunión genera la “sprint backlog” o lista de tareas que se van a
realizar, y en ella también se determina el “objetivo del sprint”: lema
que define la finalidad de negocio que se va a lograr.
Los elementos
Product backlog: Requisitos del sistema. Se parte de la visión del
resultado que se desea obtener; y evoluciona durante el desarrollo.
Es el inventario de características que el propietario del producto
desea obtener, ordenado por orden de prioridad.
Considerando que las realidades de unas y otras empresas pueden ser muy
diferentes, y que siempre que sea posible es mejor optar por adaptar las
prácticas de trabajo a la empresa, y no al revés, en ocasiones puede
resultar más aconsejable:
Herramientas
Gráfico Burn-Up
Herramienta de gestión y seguimiento para el propietario del producto.
Presenta de un vistazo las versiones de producto previstas, las
funcionalidades de cada una, velocidad estimada, fechas probables para
cada versión, margen de error previsto en las estimaciones, y avance real.
Gráfico Burn-Down
Herramienta del equipo para gestionar y seguir el trabajo de cada sprint.
Conceptos y métricas
Tiempo real o tiempo de trabajo.
Tiempo efectivo para realizar un trabajo. Se suele medir en horas o días.
Estimaciones
Cálculo del esfuerzo que se prevé necesario para desarrollar una
funcionalidad.
Velocidad absoluta
Cantidad de producto construido en un sprint. Se expresa en la misma
unidad en la que se realizan las estimaciones (puntos de función, horas o
días reales o teóricos).
Velocidad relativa
Cantidad de producto construido en una unidad de tiempo de trabajo.
Valores
Las prácticas de Scrum son una “carrocería” que permite trabajar con los
principios ágiles, que son el motor del desarrollo. Son una ayuda para
organizar a las personas y el flujo de trabajo; como lo pueden ser otras
propuestas de formas de trabajo ágil: Cristal, DSDM, etc.
La carrocería sin motor, sin los valores que den sentido al desarrollo ágil,
no funciona.
Introducción
Los principales elementos de Scrum son:
Este capítulo describe estos tres elementos. Los dos primeros forman los
requisitos del sistema que se va a desarrollar, y el tercero es valor que se le
entrega al cliente al final de cada sprint.
Product Backlog
Sprint Backlog
Observaciones
Criterio de validación
Persona asignada
Nº de Sprint en el que se realiza
Módulo del sistema al que pertenece
Etc.
Sprint backlog
El sprint backlog es la lista que descompone las funcionalidades del
product backlog en las tareas necesarias para construir un incremento:
una parte completa y operativa del producto.
Condiciones
Realizado de forma conjunta por todos los miembros del equipo.
Cubre todas las tareas identificadas por el equipo para conseguir
el objetivo del sprint.
Sólo el equipo lo puede modificar durante el sprint.
El tamaño de cada tarea está en un rango de 4 a 16 horas de
trabajo.
Es visible para todo el equipo. Idealmente en una pizarra o pared
en el mismo espacio físico donde trabaja el equipo.
Formato y soporte
Hay tres opciones:
Hoja de cálculo.
Pizarra o pared física.
Herramienta colaborativa o de gestión de proyectos.
Ejemplos
Scrum: los elementos 145
146 Flexibilidad con Scrum
El Incremento
Incremento es la parte de producto desarrollada en un sprint.
Sin embargo suele ser una excepción habitual el primer sprint. En el que
objetivos del tipo “contrastar la plataforma y el diseño” pueden ser
normales, e implican trabajos de diseño, desarrollo de prototipos para
probar la solvencia de la plataforma que se va a emplear, etc.
Introducción
En el trabajo con Scrum, el seguimiento y la gestión del proyecto se basa
en la información de trabajo de las tres reuniones que forman parte del
modelo:
Descripción general
En esta reunión, tomando como base las prioridades y necesidades de
negocio del cliente, se determinan cuáles y cómo van a ser las
148 Flexibilidad con Scrum
Pre-condiciones:
La organización tiene determinados los recursos posibles para
llevar a cabo el sprint.
El propietario del producto tiene preparado el backlog del
producto: con su criterio de prioridad para el negocio, y un nº
suficiente de elementos para desarrollar en el sprint.
Siempre que sea posible el propietario del producto debe haber
trabajado ya previamente con el equipo. De esta forma su
estimación previa de qué cantidad de pila de producto se puede
desarrollar en el sprint será bastante ajustada.
El equipo tiene un conocimiento de las tecnologías empleadas, y
del negocio del producto suficiente para realizar estimaciones
basadas en "juicio de expertos”, y para comprender los
conceptos del negocio que expone el propietario del producto.
Entradas:
El backlog del producto
El producto desarrollado hasta la fecha a través de los sucesivos
incrementos (excepto si se trata del primer sprint)
Circunstancias de las condiciones de negocio del cliente y del
escenario tecnológico empleado.
Resultados:
Backlog del sprint.
Duración del sprint y fecha de la reunión de revisión.
Objetivo del sprint.
Scrum: Las reuniones 149
El objetivo es que todo el equipo conozca las razones y los detalles con el
nivel necesario para poder estimar el trabajo necesario.
Formato de la reunión
Esta reunión marca el inicio de cada sprint. Una persona con la
responsabilidad de procesos en la organización (Scrum Manager) es el
responsable de su organización y gestión.
Pueden asistir: es una reunión abierta a todos los que puedan aportar
información útil.
Consta de dos partes separadas por una pausa de café o comida, según la
duración.
Primera parte:
Duración de 1 a 4 horas.
El equipo
Segunda parte:
En la segunda parte, que puede alargarse hasta el final de la jornada:
Esta segunda parte debe considerarse como una “reunión del equipo”, en
la que deben estar todos sus miembros y ser ellos quienes descomponen
el trabajo en tareas, las asignan y estiman.
4.- Que la reunión sea un trabajo de colaboración activa entre los dos
protagonistas: cliente y equipo, y concluyen con un acuerdo sobre el
incremento de producto que van a realizar en el sprint.
Pizarra de trabajo
Es recomendable, que el propietario del producto emplee una hoja de
cálculo, alguna herramienta similar, o el soporte de una intranet, para
guardar en formato digital la pila del producto.
Un ejemplo de pizarra.
La pizarra es una herramienta para facilitar la comunicación y el trabajo
de la reunión.
Descripción
Reunión diaria breve, de no más de 15 minutos en la que todos los
miembros del equipo dicen las tareas en las que están trabajando, si se
han encontrado o prevén encontrarse con algún impedimento y
actualizan sobre el sprint backlog las tareas ya terminadas o los tiempos
de trabajo que les quedan.
Pre-condiciones
Disponibilidad de un lugar físico en la organización para realizar
diariamente la reunión.
Sprint backlog actualizado en el soporte que emplee el equipo
(dibujado en pizarra, con post-it’s, sobre hoja de cálculo…)
Asiste todo el equipo
Asiste un responsable con rol de Scrum Manager de la
organización.
Un miembro del equipo (team leader)conduce y garantiza el
protocolo, formato y tiempos de la reunión.
Entradas
Sprint Backlog y gráfico Burn-down (página. 164) actualizados con la
información de la reunión anterior.
Resultados
Backlog y gráfico de avance (Burn-down) actualizados.
Formato de la reunión
Se recomienda realizarla de pie y emplear un formato de backlog o lista
de tareas en una pizarra o en la pared, para que todo el equipo pueda
verlo, anotar o mover las tareas, junto con el gráfico de avance del sprint.
158 Flexibilidad con Scrum
Uno por uno, los miembros del equipo exponen estas tres cuestiones:
Al final de la reunión:
Descripción
Reunión realizada al final del sprint en la que, con una duración máxima
de 4 horas el equipo presenta al propietario del producto, clientes,
usuarios, gestores… el incremento construido en el sprint.
Objetivos:
El propietario del producto obtiene una revisión del progreso del
sistema. Esta reunión le ofrece a intervalos regulares el ritmo de
construcción del sistema y la trayectoria que va tomando la visión
del producto.
Al ver el incremento funcionando, el propietario del producto, y
el equipo en general obtienen feedback clave para evolucionar y
dar valor al product backlog.
Scrum: Las reuniones 159
Pre-condiciones
Se ha concluido el sprint.
Asiste todo el equipo de desarrollo, el propietario del producto,
el responsable de procesos de la empresa y todas las personas
implicadas en el proyecto que lo deseen.
Entradas
Incremento terminado.
Resultados
Feedback para el propietario del producto: hito de seguimiento
de la construcción del sistema, e información para mejorar el
valor de la visión del producto.
Feedback para el responsable de procesos (Scrum Manager):
buenas prácticas y problemas durante el sprint.
Convocatoria de la reunión del siguiente sprint.
Formato de la reunión
Es una reunión informal. El objetivo es ver el incremento, trabajar en el
entorno del cliente. Están prohibidas las presentaciones gráficas y
“powerpoints”.
Un protocolo recomendado:
Gráfico Burn-Up
Es una herramienta de planificación y seguimiento del propietario del
producto, que muestra en un gráfico muy simple el plan general de
desarrollo del producto, y la traza de su evolución.
Se confecciona con:
Gráfico Burn-Down
Herramienta de seguimiento para el equipo, que muestra el avance del
sprint día a día y revela de forma temprana posibles desviaciones.
De esta forma al final de la reunión la columna del día del sprint backlog
muestra el esfuerzo que según el equipo falta para terminar el sprint, y el
equipo marca en el gráfico el punto que tiene como ordenada ese valor, y
como abscisa la fecha del día.
Scrum: las herramientas 165
Por esta razón el modelo original emplea las ocho cartas de la figura: con
los siete números se puede representar cualquier estimación entre 10 días
y medio día; y el infinito se emplea para indicar que la tarea necesitaría
más de 10 días de trabajo, y por tanto debe dividirse en otras menores.
El número de cartas que debe tener cada participante, y los números que
representan dependerán de la unidad de estimación empleada por el
equipo: puntos de funcionalidad (story points), días u horas teóricas o
reales (v. métricas, pág. 134).
Introducción
No es lo mismo “adoptar” formas ágiles, que “trabajar” de forma ágil.
Otras saben que no sólo implica cambios en la forma de hacer las cosas,
que no afecta sólo a los programadores y que también necesita una
cultura adecuada en la organización.
Responsabilidades de Management
Equilibrio sistémico de la empresa
La organización tiene una visión, misión y valores reales y coherentes. Las
personas, cultura, procesos y métodos de las distintas áreas de la empresa
son adecuados están alineados con la visión y misión.
Medios y formación
La dirección provee de los recursos necesarios para la puesta en marcha y
funcionamiento de las prácticas ágiles, y la formación adecuada para las
personas.
Scrum Management: responsabilildades 171
Responsabilidades de Procesos
Configuración de Scrum
Se analizan las características y medios de la organización, y se diseñan las
formas y prácticas ágiles más adecuadas.
Mejora continua
De forma regular se toma información sobre el funcionamiento del
modelo, se analiza y se determinan acciones para mejorar la configuración
de Scrum.
Responsabilidades de producción
Visión del producto
El cliente sabe cuáles son sus necesidades y el resultado que desea
obtener; así como las restricciones que impone el negocio sobre el
desarrollo y en base a ello define las funcionalidades que necesita y la
prioridad en la que deben desarrollarse.
Auto-organización
El equipo del proyecto (técnicos y cliente) trabaja de forma auto-
gestionada: prioridades, estimación, asignación de tareas, decisiones
técnicas…
Tecnología ágil
El equipo técnico conoce y emplea modelos y medios de desarrollo ágil:
integración continua, pruebas automáticas, refactorización…
172 Flexibilidad con Scrum
¿Responsabilidades o roles?
Scrum Management, aborda la implantación de principios ágiles en la
empresa desde la visión de la organización en conjunto; como un sistema
inter-relacionado y diseñado para alcanzar el mejor equilibrio y alineación
hacia la visión y misión de la empresa.
Es posible que….
Beck, K., Beedle, M., Bennekum, A. v., Cockburn, A., Cunningham, W.,
Fowler, M., y otros. (Marzo de 2001). Manifiesto for Agile Software
Development. Recuperado el 01 de 09 de 2007, de
http://www.agilemanifesto.org
Beth Chrissis, M., Konrad, M., & Shrum, S. (2003). CMMI Guideliness for
Process Integration and Product Improvement. Boston: Addison Wesley.
Boehm, B., & Turner, R. (2004). Balancing Agility and Discipline. Addison
Wesley.
Constantine, L., Myers, G., & Stevens, W. (1974). Structured Design. IBM
Systems Journal , 115-139.
Garcia, S., Graettinger, C., & Kost, K. (2006). Proceedings of the First
International Research Workshop for Process Improvement in Small
Settings. First International Research Workshop for Process Improvement in Small
Settings. Pittsburgh: Carnegie Mellon, Software Engineering Institute.
178 Flexibilidad con Scrum
Ikujiro, N., & Takeuchi, H. (1986). The New New Product Development
Game. Harvard Business Review .
Imai, H., Nonaka, I., & Takeuchi, H. (1985). Managing the New Product
Development Process: How Japanese Companies Learn and Unlearn. The
uneasy alliance , 337-375.
Schwaber, K., & Sutherland, J. (1996). Controlled Chaos: Living on the Edge.
San José, California: OOPSLA.
Wujec, T., & Muscat, S. (2002). Return on Imagination: Realizing the Powr of
Ideas. London: Prentice Hall.
Índice
cultura · 77
A
cultura de cumplimiento · 28, 29
adquisición · 119
Agile Modeling · 88 D
auto-gestión · 42
E
auto-organización · 42
ejecución · 100
C especulación · 62
cierre · 63
F
CMM - CMMI · 85, 104
FDD · 88
CMMI · 113
flexibilidad · 59
concepto · 62
definición · 20
M
I P
prototipado · 72 SEI · 84
rutinas · 100
T
S talento · 77, 100
visión · 62
V
valor · 56