Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fernando Pinciroli
Marzo de 2010
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Agradecimientos
Agradezco a todos los autores y metodologistas que siempre están
dispuestos a intercambiar opiniones conmigo sobre metodologías y
hacerme participar de la revisión de sus libros antes de publicarlos, ya
sea personalmente, por correo electrónico, en facebook, ¡o en donde
nos encontremos!
1 – Conceptos generales
2 – Roles y actividades
3 – Implementación de Scrum
4 – Conclusiones
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Enfoques ágiles #1
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Enfoques ágiles #2
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Programación extrema #1
•Fue creado por Kent Beck, a su vez creador de las tarjetas CRC y quizás
el programador Smalltalk más respetado del mundo
•
•Según el autor fue aplicado exitosamente en Chrysler en 1996, dentro
del proyecto C3, aunque Chrysler no opina lo mismo
•
•Junto a Beck podemos encontrar metodologistas muy prestigiosos que,
además de haber participado en C3, llevan firmemente hacia
adelante las ideas de XP, como es el caso de Ron Jeffries y Martin
Fowler
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Programación extrema #2
•“Si al final del día no hay un programa funcionando, ese día no se hizo
absolutamente nada”
•
•Se basa en los principios de comunicación, simplicidad, pruebas y
agresividad o “coraje”
•
•Apunta a reducir los costos de desarrollo y a lograr una mayor
satisfacción del usuario
•
•Se emplea en proyectos restringidos de tiempo, con pocos recursos
humanos y con un cambio constante en los requerimientos
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Programación extrema #3
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Programación extrema #4
La planificación en XP
•Escribir las “historias de los usuarios”
•Planificar las versiones
•Realizar frecuentes versiones pequeñas
•Medir la velocidad del proyecto
•Dividir el proyecto en iteraciones
•Comenzar cada iteración con su planificación
•Cambiar las duplas de programadores
•Realizar una reunión cada mañana
•Corregir las reglas de XP cuando sea necesario
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Programación extrema #5
El diseño en XP
•Mantener simplicidad
•
•Elegir una metáfora del sistema
•
•Usar tarjetas CRC para el diseño
•
•Crear prototipos
•
•No agregar funcionalidad adicional
•
•Refactorizar en donde sea posible
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Programación extrema #6
La codificación en XP
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Programación extrema #7
La prueba en XP
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Manifiesto ágil
•Convocados por Kent Beck, se reúne un grupo de profesionales que redactan
y firman el manifiesto ágil: 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 Martin,
Steve Mellor, Ken Schwaber, Jeff Sutherland y Dave Thomas
•
•El manifiesto consiste en un conjunto de valores básicos de los que surge un
conjunto de principios
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Acerca de Scrum #1
•Se trata de un enfoque, dentro de las denominadas Metodologías
Ágiles, para administrar el proceso de desarrollo de software desde
una perspectiva empírica basada en la teoría del control de
procesos
•Su finalidad es introducir los conceptos de flexibilidad, adaptabilidad
y productividad en el desarrollo de software
•Cubre a otras metodologías, estándares y prácticas de ingeniería, en
particular a Programación Extrema (XP)
•Es un proceso donde el costo, el tiempo, la funcionalidad y la calidad
son administrados empíricamente
•Entre otras cosas, intenta resolver el problema de que los clientes
realmente se dan cuenta de lo que quieren una vez que tienen una
primera versión del producto
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Acerca de Scrum #2
•Parte del concepto de que los procesos de desarrollo de software no
son definidos, es decir, no pueden ser ni repetibles ni predecibles
•En lugar de avanzar en un proceso secuencial, se trata de un proceso
caótico de adaptación del equipo al caos para lograr un Objetivo
auto-organizándose y tomando decisiones con total libertad,
logrando una cohesión interna y una productividad cada vez mayor
•Ocupa menos tiempo en planificación, definición de tareas y
producción de reportes y más tiempo en la comprensión del
problema y la provisión de soluciones empíricas
•A sus autores les gusta llamarlo el arte de lo posible
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Historia de Scrum
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Beneficios de Scrum
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Bases conceptuales
•Scrum se basa en un proceso empírico en lugar de en un modelo de
control del proceso definido
•Generalmente se dice que aplica en entornos cambiantes,
complicados, conflictivos, frustrantes
•Ayuda a quitar las “interferencias” en las acciones cotidianas
•El proceso no sólo no está definido sino que, incluso, es inesperado
•La interacción humana de las reuniones diarias obliga a ser sincero, a
hablar cara a cara y a comprometer a ambas partes en cumplir sus
compromisos y en quitar los obstáculos
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Resultados esperados
•Las gerencias se vuelven más expeditivas, menos burocráticas y
menos tendientes al uso de papel
•Los Equipos se tornan más confiados, con más poder, más eficientes y
más enfocados en su trabajo
•Los gerentes comienzan a transformar sus actividades de control en
acciones para ayudar al Equipo, quitar impedimentos, aportar lo
que ayude a brindar más y mejores resultados
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Contenido del módulo
1 – Conceptos generales
2 – Roles y actividades
3 – Implementación de Scrum
4 – Conclusiones
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Product Owner
•El Dueño del Producto es oficialmente el responsable del proyecto
•Es una persona, no un comité; aunque pueden existir comités para
asesorar al dueño del producto
•Es un miembro de la organización y representa los intereses de los
stakeholders: clientes, usuarios y gerencia
•Es la persona que se encarga de administrar los requisitos que se van
a entregar, de establecer las prioridades y el orden en que se deben
implementar y debe decidir el contenido de cada uno de los
releases
•Es el responsable de convertir los “temas” en requisitos dentro de la
lista oficial de requisitos del proyecto que se denomina Backlog del
Producto
•
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Product Backlog #1
•Se trata de una lista evolutiva y priorizada que contiene la totalidad
de los requisitos funcionales y no funcionales del proyecto,
características y aspectos de tecnología
•Es administrada por una única persona, el Dueño del Producto
(Product owner)
•El Dueño del Producto establece periódicamente las prioridades y es
el único que puede hacerlo
•No se niega la entrada de ningún requisito; a lo sumo no se
implementará nunca por tener siempre una prioridad baja
•La agenda de desarrollo del proyecto se hace a partir de esta lista
•La lista no se cierra nunca y se mantiene visible en forma
permanente
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Product Backlog #2
•Permite que el Equipo de desarrollo no sea molestado nunca con
solicitudes, las que deben pasar necesariamente a través de esta
lista
•Cada requisito del Backlog debe tener su propia estimación de
tiempo y esfuerzo
•Sólo pueden entrar para ser atendidos en cualquier momento los
requisitos de soporte y mantenimiento del código preexistente
•Cualquier cosa que signifique trabajo en el proyecto debe estar
incluido en el Backlog
•Las fuentes del Backlog pueden ser tan formales o informales como
lo sea la organización para la que se desarrolla el software
•Los requisitos del Backlog de más alta prioridad están más detallados
que los de más baja prioridad
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Product Backlog #3
•Además de los requisitos, el Backlog incluye “temas” (issues), que
hasta que no sean convertidos en trabajo
•Si un ítem del Backlog no está lo suficientemente claro, se lo debe
transformar en un tema o se le debe reducir su prioridad
•El Backlog se puede dividir en partes, llamadas Release Backlog,
correspondientes a los releases planificados
•Ejemplos de ítems del Backlog, mezclando funcionalidad con
tecnología:
•se pierden transacciones en determinado proceso
•el framework debe mejorarse para soporte de múltiples
bases de datos
•se detectó que falta presentar determinada información en
pantalla en determinado proceso
•
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Scrum Master
•Es el principal responsable del éxito de Scrum
•Se ocupa de velar por el estricto cumplimiento del proceso, de
proteger al Equipo de los pedidos fuera del Backlog, de hacer que
los clientes, usuarios y stakeholders en general se atengan a las
reglas del proceso, etc.
•Se encarga de controlar que el Equipo no desarrolle nada fuera de lo
acordado dentro del Sprint en curso
•Debe conseguir los recursos que precisa el Equipo y quitar los
impedimentos
•Representa a la otra parte, a la gerencia o al Equipo, frente a cada
uno de éstos
•Selecciona al Dueño del Producto junto con la gerencia
•Sin lugar a dudas este rol debe ser ocupado por quien tenga el perfil
adecuado; no todos pueden llevarlo a cabo
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Sprint #1
•Se denomina así a cada una de las iteraciones del proceso de
desarrollo de software, que es un proceso iterativo e incremental
•Posee una duración fija que se establece al inicio del proyecto (por
ejemplo, un mes)
•La duración debe permitir la inclusión de requisitos de alta prioridad
que pudieran surgir mientras se lleva a cabo un Sprint
•Cada Sprint se inicia con una Reunión de Planificación, que
establecerá el trabajo a realizarse en el tiempo que dura el Sprint
•Al comienzo de un Sprint y junto al Scrum Master el Equipo se
compromete a transformar en producto un conjunto de ítems del
Backlog
•Los ítems del Backlog del producto que se incluyen en el Sprint
conforman el Backlog del Sprint
•Cada Sprint debe tener un Objetivo claro (Sprint Goal)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Sprint #2
•Al término de un Sprint se hace una Reunión de Revisión para
evaluar lo realizado y el cumplimiento del Objetivo del Sprint
•Si durante el Sprint se detecta que no se puede cumplir con el
Objetivo, el Srum Master se debe reunir de inmediato con Dueño
del Producto y el Equipo para ver qué ítem del Backlog del Sprint
se puede quitar o disminuir su alcance o profundidad
•Cuando el Equipo descubre que no podrá cumplir con sus
compromisos en el Sprint, debe solicitar una Terminación Anormal
del Sprint y se debe convocar a una reunión de planificación de un
nuevo Sprint
•Si al término del Sprint se detectó que hubo una decisión
equivocada, se debe rehacer el trabajo
•Como un Sprint es corto, a lo sumo se pierden sólo 30 días de trabajo
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Sprint #3
•En todo proyecto existen cuatro restricciones: tiempo, costo, calidad
y funcionalidad a entregar; un Sprint prácticamente fija las tres
primeras
•El tiempo, son 30 días; el costo, el del salario del equipo, el
equipamiento y los consultores y herramientas que se pudieran
precisar; la calidad se debe establecer antes de iniciar el Sprint; la
funcionalidad se puede manejar siempre y cuando se cumple con el
Objetivo del Sprint
•Al término del Sprint se debe actualizar el conjunto de pruebas,
ejecutarlas a todas y ejecutar las pruebas de humo más las de
regresión para el resto del código
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Incremento de producto
•Es el producto resultante de cada Sprint y el Objetivo fundamental a
lograr
•Se debe realizar necesariamente la entrega de un Incremento de
Producto al final de cada Sprint
•La arquitectura y el diseño del producto emergen luego de varios
Sprints en lugar de plantearse en el primero
•
•
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Reunión de planificación del Sprint #1
•En la Reunión de Planificación del Sprint deben participar todos, el
equipo y los interesados
•En cada reunión de planificación se deben tener en consideración el
Backlog, las capacidades del Equipo, las condiciones del negocio,
la estabilidad tecnológica, los Incrementos de Producto
•En estas reuniones se debe revisar, reconsiderar lo que se está
haciendo y reorganizar el Equipo y el proceso
•Esta reunión, en realidad, consta de dos reuniones:
•Primera reunión: se reúnen el Scrum Master, el Equipo
completo, el Dueño del Producto, los clientes, los usuarios
y la gerencia y determinan qué funcionalidad incluirán en
el Sprint
•Segunda reunión: se reúnen sólo el Scrum Master y el
Equipo para ver cómo transformar esa funcionalidad en un
Incremento de Producto
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Reunión de planificación del Sprint #2
•Son insumos de la reunión el Backlog del Producto, el último
Incremento de Producto, el detalle de las capacidades y
rendimiento del Equipo, las condiciones del negocio y la
estabilidad de la tecnología
•Se puede invitar a otras personas para que aporten opiniones o
consejo
•Al inicio, el Scrum Master presenta los ítems prioritarios del Backlog
y se discuten posibles cambios
•Los miembros del Equipo, trabajando con todos los presentes,
establecen lo que pueden hacer durante los próximos 30 días
•Se debe describir el Objetivo del Sprint que engloba los ítems del
Backlog a implementar y el Incremento de Producto a entregar, de
modo de que sea un Objetivo claro en la mente de todos a lo largo
del Sprint
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Reunión de planificación del Sprint #3
•El Equipo delinea una lista de las tareas que llevará a cabo para
cumplir con el Objetivo y que se llama Sprint Backlog
•Cada tarea debe poder cumplirse entre 4 y 16 horas
•A medida que se trabaja en las tareas o se completan se deben
actualizar las estimaciones de las restantes y sólo puede hacerlo el
Equipo
•El Equipo debe transformar el caos y la complejidad en un
Incremento de Producto
•Ejemplos de ítems del Sprint Backlog son:
•escribir un objeto de negocio en para administrar las
transacciones
•medir el rendimiento de las transacciones para asegurar los
requisitos de escalabilidad
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Daily scrum #1
•Son reuniones diarias en las que el Equipo reporta a los clientes del
producto los avances realizados el día anterior y la actividad que está
llevando a cabo
•Estas reuniones diarias no deben ser de más de 15’ aunque sea difícil
decirle a un gerente que no interrumpa
•Los miembros del Equipo informan uno tras otro, breve y
concisamente, sólo tres cosas:
•qué se hizo desde la última reunión: no importa nada que no
esté relacionado con su trabajo
•qué se planificó hacer en el tiempo hasta la próxima
reunión: que debe coincidir con el trabajo planificado por el
Equipo; si hay diferencias las deben discutir tras esta reunión
•qué cosas impiden trabajar adecuadamente: qué se
interpone, qué reduce la velocidad, qué hace que el equipo
no trabaje como un todo y qué ayudaría a lo contrario
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Daily scrum #2
•Las personas ajenas al Equipo no pueden preguntar nada;
simplemente se les informa
•Tras informar a los clientes, el Equipo potencia su productividad
cuando cada programador conoce lo que hará el otro y puede
sugerirle mejores alternativas
•El Scrum Master debe confrontar lo que cada integrante del Equipo
informa con el Objetivo del Sprint y con el compromiso del Daily
Scrum anterior
•Los Daily Srcums deben eliminar otras reuniones, quitar
impedimentos al desarrollo, ayudar a la rápida toma de decisiones y
mejorar la visibilidad del proyecto para todos
•En estas reuniones se puede detectar rápidamente si alguien se
desmotivó, tiene problemas externos (familiares, etc.), las buenas y
malas actitudes, etc.
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Daily scrum #3
•La habitación para estas reuniones se llama Sala de Scrum y debe
tener una puerta, una mesa, sillas para el Equipo, pizarra y un
teléfono con altavoz
•Estas reuniones no deben ser ni un espectáculo ni un centro de
entrenamiento para otros Equipos
•El Scrum Master debe asegurarse de que la sala está en orden antes
de comenzar la reunión, incluso ordenando las sillas
•Se debe establecer un límite físico para que no queden dudas de que
quienes no son miembros del Equipo son sólo observadores y no
participantes
•Si queda gente de pie no hay problemas; esto ayuda al concepto de
brevedad
•El inicio debe ser puntual, sin importar quién está ausente, y se deben
establecer multas para los miembros del Equipo impuntuales
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Daily scrum #4
•Algunos impedimentos típicos: equipos o red funcionando mal,
solicitudes al Equipo de ir a reuniones o de hacer algo, indecisiones
acerca de cómo proceder con algo, de cómo hacer un diseño o de
cuestiones tecnológicas, etc.
•Es un mal signo que se vuelvan a reportar los mismos impedimentos al
día siguiente
•Si el Scrum Master detecta que no hay apoyo suficiente de parte de
la organización puede suspender el Sprint, aunque debería hacer
esto sólo tras haber agotado otras instancias
•Si se detectan indecisiones o decisiones riesgosas, el Scrum Master
debe reunirse con el Equipo para conversar tras la reunión
•Si el Scrum Master no puede resolver un impedimento, se lo debe
comunicar al Equipo dentro de la hora siguiente a la reunión
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Daily scrum #5
•Los miembros del Equipo deben estar obligatoriamente con presencia
activa, es decir, al menos por teléfono, pero no se pueden reportar
vía fax o correo electrónico
•En estas reuniones se debe detectar qué prácticas de modelado se
realizan y luego trabajar sobre si es necesario el modelado que se
haga
•Cuando no hay inconvenientes puede ser una mala señal, ya que
puede ser que no los haya porque no se avanza
•Un miembro del Equipo puede solicitar una reunión de seguimiento
de la discusión de un tema tras el Daily Scrum
•Estas reuniones de seguimiento no están restringidas en tiempo
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Reunión de revisión del Sprint #1
•Antes del Sprint, el Equipo hizo estimaciones acerca de adónde
estará al final del Sprint
•En el día final, número 30, del Sprint se reúnen gerentes, usuarios,
clientes, el dueño del producto, el Scrum Master y el equipo para
evaluar el Incremento de Producto que se obtuvo
•Es posible que participen otros ingenieros y desarrolladores para ver
cómo se desempeñó el Equipo
•El Scrum Master es quien coordina y dirige la reunión, para lo que
previamente se reunió con el Equipo para organizar qué se
presentará y quién lo hará
•El Scrum Master se ocupa de las invitaciones y de los recordatorios a
la reunión
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Reunión de revisión del Sprint #2
•El Scrum Master inicia la reunión con un resumen conciso del Sprint
•El Equipo puede presentar primero un diagrama simple de
arquitectura
•Luego el Equipo presenta las funcionalidades que se fueron
agregando, para lo que quizás haya que pasar la reunión de una
computadora, e incluso de una oficina, a otra
•Se revisan y se discuten las diferencias que se encuentran entre el
Objetivo del Sprint y el Backlog del Producto y los resultados que
se obtuvieron
•A medida que se realiza la presentación, se puede determinar qué
funcionalidad se debe agregar en el próximo Sprint
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Reunión de revisión del Sprint #3
•También se van explicando las fortalezas y debilidades de las
funcionalidades que se presentan junto con las cuestiones
favorables y desfavorables que vivieron a lo largo del Sprint
•A fin de agilizar la reunión y hacerla concreta, se prohíben las
presentaciones estilo PowerPoint
•Si se necesitan más de dos horas para preparar la reunión, es que se
está necesitando “adornar” lo que se va a presentar
•Se espera que existan muchas preguntas, opiniones, sugerencias y
discusiones
•Con todo lo dicho, se establece en qué lugar están parados en el
proyecto
•En este punto se comienzan a realizar los ajustes que sean necesarios
para enderezar el rumbo del proyecto
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Equipo de Scrum #1
•Es un Equipo pequeño, compuesto por aquellos que desarrollan el
producto; se dice que debería ser de siete más menos dos personas
•Los Equipos de tres personas no son convenientes porque no se da la
interacción suficiente y se reduce la productividad
•Los Equipos de más de ocho personas pueden no trabajar bien y
complicar al Scrum Master en las reuniones de Daily Scrum
•Realizan las Reuniones de Planificación de cada Sprint e informan en
los Daily Scrums
•Pueden haber varios Equipos trabajando en paralelo sobre el mismo
Backlog, pero todos deben ser autónomos y organizarse por sí
mismos
•Las únicas restricciones deben ser los estándares, guías y convenciones
para el desarrollo
•El Equipo debe estar protegido y desconectado del caos externo
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Equipo de Scrum #2
•En Scrum se busca proveer al Equipo de trabajo un ambiente en el
cual cada uno pueda dar lo mejor de sí
•Cuando hay inconvenientes dentro del Equipo hay que dejarlos que
resuelvan sus diferencias entre sí; ayudarlos significa quitarles parte
de su responsabilidad de cumplir con sus compromisos
•Se deben minimizar las interacciones entre Equipos y maximizar la
cohesión interna de cada Equipo
•En los proyectos grandes donde se hace Scrum de Scrums, los Scrum
Masters de cada Scrum tienen sus propias reuniones de Daily Scrum
además de las de sus correspondientes equipos
•Los Equipos deben contar con todos los perfiles entre sus miembros
que les permitan alcanzar los Objetivos
•Es deseable que haya siempre un programador con mucha experiencia
en cada Equipo
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Equipo de Scrum #3
•Algunos Equipos incluyen recursos para pruebas o para elaborar la
documentación del usuario, mientras que otros hacen que los
programadores revisen su propio código y escriban la documentación
•Algunas veces se incluye un documentador
•La mayor parte de los miembros deben estar asignados al Equipo a
tiempo completo, mientras que pueden existir algunos miembros
part time
•No existen títulos ni cargos en los Equipos, ni se aceptan personas
que no quieran codificar porque, por ejemplo, digan que son
analistas de sistemas
•La composición de los Equipos puede cambiar al final de un Sprint,
aunque con los cambios disminuye la productividad
•El Equipo tiene la libertad de tomar decisiones y puede solicitar que
le quiten impedimentos para alcanzar los Objetivos
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Equipo de Scrum #4
•Puede solicitar ayuda o consejo como así también rechazarlo cuando
se le ofrece
•El Equipo tiene autoridad completa sobre sí mismo y muchas veces
cuesta que sus miembros lo entiendan; cuando sucede esto, la
productividad crece
•En cada Equipo hay libertad absoluta para utilizar métodos,
herramientas, convenciones, estándares, tecnologías, etc., sólo que
se deben establecer antes del inicio del Sprint
•Se debe brindar al equipo las mejores herramientas posibles
•El silencio siempre es un mal signo; cuando hay conversaciones es
porque hay colaboraciones
•Cada Equipo establece sus propios horarios, aunque se pueden poner
ciertas restricciones
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Equipo de Scrum #5
•Pueden trabajar tantas o tan pocas horas como quieran, pueden
asignar todo el tiempo que quieran a una tarea, pueden gastar días
en reuniones con consultores y proveedores y en navegar en la web
•Puede y debe hacer todo por cumplir sus compromisos incluyendo
entrevistar a otros, traer consultores, leer libros, buscar en
Internet, o lo que sea necesario, siempre dentro del presupuesto
•Ante indecisiones del Equipo, el Scrum Master debe decidir, pero
esta intervención no debería ser frecuente
•No todas las personas pueden llevar adelante Scrum, pero quienes lo
hacen son normalmente las personas que conforman el núcleo
principal de una organización, y Scrum ayuda a identificarlos
•Cada programador es responsable para siempre de la corrección de las
porciones de código que haya escrito
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Equipo de Scrum #6
•Como cada programador es responsable a perpetuidad del código que
escribió, será cada uno de ellos el que establezca cuál es la mejor
documentación que le ayude a cumplir con tal responsabilidad
•No obstante lo anterior, al término de cada Sprint se debe entregar
algo que ilustre el diseño del producto entregado y el código escrito
•Cuando el Equipo está geográficamente distribuido es fundamental un
software que ayude a gestionar los recursos
•Cuando hay Equipos distribuidos se puede avanzar dividiendo el
trabajo adecuadamente y realizando una buena coordinación
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Terminación anormal de un Sprint
•A raíz de la corta duración de un Sprint, es raro que deba finalizarse
anticipadamente
•El Scrum Master es quien finaliza anticipadamente un Sprint y puede
hacerlo por las siguientes razones:
•el Objetivo del Sprint quedó obsoleto
•el Equipo se dio cuenta de que no logrará el Objetivo
•la organización no brinda el apoyo suficiente al Equipo
•Una terminación anticipada consume mucho tiempo y recursos, por lo
que se debe tratar de evitar
•Por lo general, nadie quiere quedar como el responsable de una
terminación anormal de un Sprint
•
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Estimaciones #1
•El Dueño del Producto trabaja con el equipo para determinar cuánto
esfuerzo demandará desarrollar los requisitos del Backlog
•Los tiempos que se estiman deben incluir todo lo necesario para llevar
a cabo la arquitectura, el diseño, la construcción, la prueba y la
elaboración de la documentación del usuario
•Las estimaciones evolucionan a medida que se conoce más acerca del
ítem del Backlog a construir
•Las estimaciones no son vinculantes en el Equipo y no significan que
no hay más tiempo para desarrollar que el que se estableció
•A medida que se gana experiencia se supone que las estimaciones
serán mejores
•Las estimaciones se pueden revisar y reajustar y son más acertadas
después del tercero o cuarto Sprint
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Estimaciones #2
•Se debe comprender que al comienzo no habrá una estimación fija de
costo, fecha, calidad y funcionalidad; estos factores se deben
negociar a lo largo del proyecto
•La información de la brecha entre el producto real y el estimado debe
ser visible al cliente; en Scrum la relación con el cliente debe ser
siempre honesta
•El problema de la estimación pasa principalmente por tres ejes: los
requisitos, la tecnología y las personas
•Las correcciones a los problemas en la estimación son tres: reducción
de la funcionalidad, agregado de recursos y postergación de la fecha
de entrega
•
•
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Trabajo remanente (hs.)
Administración empírica #1
Tiempo (meses)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Trabajo remanente (hs.)
Administración empírica #2
Tiempo (meses)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Trabajo remanente (hs.)
Administración empírica #3
Tiempo (meses)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Trabajo remanente (hs.)
Forma de un Sprint ideal
Tiempo (días)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Trabajo remanente (hs.)
Forma de un Sprint real
Tiempo (días)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Forma de un Sprint sin actualizar
Trabajo remanente (hs.)
Tiempo (días)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Forma de un Sprint subestimado
Trabajo remanente (hs.)
Tiempo (días)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Forma de un Sprint sobreestimado
Trabajo remanente (hs.)
Tiempo (días)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Trabajo remanente (hs.)
Entrega con control perfecto
Tiempo (meses)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Entrega con funcionalidad reducida
Trabajo remanente (hs.)
Tiempo (meses)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Entrega con un segundo equipo
Trabajo remanente (hs.)
Tiempo (meses)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Trabajo remanente (hs.)
Entrega con tiempo agregado
Tiempo (meses)
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Contenido del módulo
1 – Conceptos generales
2 – Roles y actividades
3 – Implementación de Scrum
4 – Conclusiones
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Para implementar Scrum #1
•Scrum encapsula todas las prácticas de ingeniería de software que se
usan en la organización
•Para la gestión del proyecto se pueden eliminar las cartas Gantt, los
reportes de horas, las largas reuniones para controlar el proyecto,
etc.
•Se recomienda comenzar con un proyecto nuevo
•El proyecto se inicia trabajando en conjunto durante varios días para
obtener un Backlog de producto inicial
•El Objetivo del primer Sprint puede llegar a ser: “presentar una
porción clave de funcionalidad en la tecnología seleccionada”
•Entre las tareas se deben incluir aquellas que permitan establecer el
ambiente de desarrollo, las prácticas de administración del código,
la tecnología para el sistema, etc.
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Para implementar Scrum #2
•Durante el Sprint se deben aplicar todas las reglas tal como son, sin
excepción, respetándolas a rajatabla
•Una vez que haya transcurrido un tiempo prudencial utilizando
Scrum, recién entonces se podrán hacer ajustes al método para
adaptarlo a la propia organización
•Mientras el Equipo trabaja, el Scrum Master y el Dueño del Producto
continúan agregando ítems al Backlog de producto; ambos son
quienes establecen la visión del proyecto
•Al implementar Scrum en proyectos ya en marcha, el foco debe estar
en detectar los impedimentos y lograr que se empiecen a entregar
productos
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Contenido del módulo
1 – Conceptos generales
2 – Roles y actividades
3 – Implementación de Scrum
4 – Conclusiones
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Valores de Scrum
•Compromiso
•Estar en foco
•Apertura
•Respeto
•Sinceridad
•Coraje
•Confianza en sí mismo
•Iniciativa
•Auto organización
•Actitud proactiva
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Palabras clave
•Metodologías ágiles •Estimaciones
•Cliente •Objetivo del Sprint
•Usuario •Incremento de producto
•Gerencia •Backlog del Sprint
•Dueño del Producto •Daily Scrum
•Scrum Master •Reunión de revisión del Sprint
•Backlog del Producto •Terminación anormal del
•Backlog del Release Sprint
•Equipo de Scrum
•Sprint
•Reunión de Planificación del
Sprint
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Referencias #1
•BECK, Kent, carta personal a Fernando Pinciroli (8/VII/2002).
•BECK, Kent, carta personal a Fernando Pinciroli (15/VII/2002).
•BOOCH, Grady, carta personal a Fernando Pinciroli (11/VII/2002).
•C3 TEAM. "Case Study: Chrysler Goes to 'Extremes'". En: Distributed Computing. Oct. de
1998.
•DAVIES, Rachel. "The Power of Stories". Cap. 11. Londres, Connextra, s/f.
•FOWLER, Martin, carta personal a Fernando Pinciroli (8/VII/2002).
•JEFFRIES, Ron, carta personal a Fernando Pinciroli (8/VII/2002).
•JEFFRIES, Ron, carta personal a Fernando Pinciroli (16/VII/2002).
•SCHWABER, Ken y Mike Beedle. Agile Software Development with Scrum. Prentice-Hall,
2002.
•WIRFS-BROCK, Rebecca, carta personal a Fernando Pinciroli (8/VII/2002).
•WIRFS-BROCK, Rebecca, carta personal a Fernando Pinciroli (15/VII/2002).
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar
Referencias #2
En Internet:
•Agile Modeling: http://www.agilemodeling.com/
•Cristal Clear: http://alistair.cockburn.us/
•Dynamic Systems Development Method: http://www.dsdm.org
•Martin Fowler: http://www.martinfowler.com/
•SCRUM: http://www.controlchaos.com/
•XP: http://www.extremeprogramming.org/
•
Solus S.A. – San Martín 1351 piso 1º of. 4 – Mendoza – +54 261 4294115 – http://www.solus.com.ar