1. SCRUM
Ingeniería de Software
Equipo No.2
Integrantes Matrícula
Morales Miranda Melissa Araceli 329575
Serrano García María de los Angeles 329731
Vela Moreno Jorge Luis 325295
Grupo 361
Profesor Alejandro Gomero Portilla
Ensenada Baja California a 18 de Febrero de 2013
2. Contenido
Origen de la metodología SCRUM ................................................................................................. 3
¿Qué es SCRUM? ........................................................................................................................... 3
Como Funciona.............................................................................................................................. 4
Roles .............................................................................................................................................. 5
Actividades a realizar .................................................................................................................... 7
Ventajas ......................................................................................................................................... 8
Desventajas ................................................................................................................................... 8
Características ............................................................................................................................... 8
Fases .............................................................................................................................................. 9
Practicas ...................................................................................................................................... 10
¿Cuándo se utiliza la metodología SCRUM? ............................................................................... 11
Valores......................................................................................................................................... 11
Principios ..................................................................................................................................... 12
Conclusión ................................................................................................................................... 12
Bibliografía .................................................................................................................................. 13
2
3. SCRUM
Origen de la metodología 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. Aunque surgió como modelo para el
desarrollo de productos tecnológicos, también se emplea en entornos que trabajan
con requisitos inestables y que requieren rapidez y flexibilidad; situaciones frecuentes
en el desarrollo de determinados sistemas de software.
¿Qué es SCRUM?
SCRUM es un proceso ágil y liviano que sirve para administrar el desarrollo de
software. El desarrollo se realiza en forma iterativa e incremental (una iteración es un
ciclo corto de construcción repetitivo).
Es un modelo que explica cómo se deben hacer las reuniones y cómo coordinar
personas para aprovechar al máximo el tiempo. Esta metodología marca una serie de
reglas que bien usadas pueden conseguir un aumento en la eficiencia de los equipos
de trabajo. Aplicando Scrum a un equipo, se puede conseguir mejorar los plazos de
entrega, aumentar la versatilidad y la capacidad de adaptación del equipo. Esto se
consigue mediante la mejora en la comunicación y dando importancia preferente a las
cuestiones relevantes.
Scrum puede ser aplicado a las siguientes actividades:
Realización de proyectos.
Diseño y desarrollo de productos y servicios.
Desarrollo de software
Coordinación de departamentos y equipos de trabajo.
Como método ágil:
Es un modo de desarrollo adaptable, antes que predictivo.
Orientado a las personas, más que a los procesos.
Emplea el modelo de construcción incremental basado en iteraciones y
revisiones.
3
4. Scrum es un proceso en el que se aplican de manera regular un conjunto de mejores
prácticas para trabajar en equipo y obtener el mejor resultado posible de un proyecto.
Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la
manera de trabajar de equipos altamente productivos.
Se comienza con la visión general del producto, especificando y dando detalle a las
funcionalidades o partes que tienen mayor prioridad de negocio, y que pueden
llevarse a cabo en un periodo de tiempo breve (según los casos pueden tener
duraciones desde una semana hasta no más de dos meses). Cada uno de estos
periodos de desarrollo es una iteración que finaliza con la entrega de una parte
(incremento) operativa del producto. Estas iteraciones son la base del desarrollo ágil, y
Scrum gestiona su evolución en reuniones breves diarias donde todo el equipo revisa
el trabajo realizado el día anterior y el previsto para el siguiente.
En Scrum se realizan entregas parciales y regulares del resultado final del proyecto,
priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está
especialmente indicado para proyectos en entornos complejos, donde se necesita
obtener resultados pronto, donde los requisitos son cambiantes o poco definidos,
donde la innovación, la competitividad y la productividad son fundamentales. Scrum
también se utiliza para resolver situaciones en que no se está entregando al cliente lo
que necesita, cuando las entregas se alargan demasiado, los costes se disparan o la
calidad no es aceptable, cuando se necesita capacidad de reacción ante la
competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es
necesario identificar y solucionar ineficiencias sistemáticamente o cuando se quiere
trabajar utilizando un proceso especializado en el desarrollo de producto.
Como Funciona
El desarrollo se realiza en forma iterativa e incremental (una iteración es un ciclo corto
de construcción repetitivo). Cada iteración, denominada Sprint, tiene una duración
preestablecida de entre 2y 4 semanas obteniendo como resultado una versión del
software. En cada nuevo Sprint, se va ajustando la funcionalidad ya construida y se
añaden nuevas prestaciones priorizándose siempre aquellas que aporten mayor valor
de negocio.
Scrum se utiliza como marco para otras prácticas de ingeniería de software, como ser
la integración continua o la programación de a pares.
Scrum se focaliza en priorizar el trabajo en función del valor que tenga para el negocio,
maximizando la utilidad de lo que se construye y el retorno de la inversión. Está
diseñado especialmente para adaptarse a los cambios en los requerimientos, sobre
todo en mercados de alta competitividad. Los requerimientos y las prioridades se
revisan y ajustan durante el proyecto en intervalos muy cortos y regulares. De esta
manera es posible adaptar en tiempo real el producto que se está construyendo a las
necesidades del cliente. Se busca entregar software que realmente resuelva las
necesidades, aumentando la satisfacción del cliente.
4
5. Los ciclos, se repetirán de forma continuada, realizando las modificaciones pertinentes
entre ciclo y ciclo a medida que cambian los requisitos, surjan dificultades y las tareas
se vayan materializando hasta que se termine el proyecto y se alcance el objetivo.
Roles
En Scrum, el equipo se focaliza en construir software de calidad. La gestión de un
proyecto Scrum se centra en definir cuáles son las características que debe tener el
producto a construir (qué construir, qué no y en qué orden) y en vencer cualquier
obstáculo que pudiera entorpecer la tarea del equipo de desarrollo.
Scrum clasifica a todas las personas que intervienen o tienen interés en el desarrollo
del proyecto en: propietario del producto, equipo, gestor de Scrum (también Scrum
Manager oScrum Master) y “otros interesados”. Los tres primeros grupos (propietario,
equipo y gestor) son los responsables del proyecto, los que según la comparación
siguiente (y sin connotaciones peyorativas) serían los “cerdos”; mientras que el resto
de interesados serían las gallinas.
5
6. Cerdos y gallinas.
Esta metáfora ilustra de forma muy gráfica la diferencia de implicación en el proyecto
entre ambos grupos:
Una gallina y un cerdo paseaban por la carretera.
La gallina dijo al cerdo: “Quieres abrir un
restaurante conmigo”.
El cerdo consideró la propuesta y respondió: “Sí, me
gustaría. ¿Y cómo lo llamaríamos?”.
La gallina respondió: “Huevos con beicon”.
El cerdo se detuvo, hizo una pausa y contestó:
“Pensándolo mejor, creo que no voy a abrir un
restaurante contigo. Yo estaría realmente
comprometido, mientras que tu estarías sólo implicada”.
El equipo Scrum está formado por los siguientes roles:
El director o líder del equipo (Scrum master): Persona que lidera al equipo
guiándolo para que cumpla las reglas y procesos de la metodología. Gestiona la
reducción de impedimentos del proyecto y trabaja con el cliente (PO).
Los clientes (Product owner (PO)): Representante de los accionistas y clientes
que usan el software. Se focaliza en la parte de negocio y el es responsable del
proyecto (entregar un valor superior al dinero invertido). Traslada la visión del
proyecto al equipo, formaliza las prestaciones en historias a incorporar en los
requisitos y las reprioriza de forma regular.
Los desarrolladores / equipo de trabajo Team: Grupo de profesionales con los
conocimientos técnicos necesarios y que desarrollan el proyecto de manera
conjunta llevando a cabo las historias a las que se comprometen al inicio de
cada sprint.
Usuarios (Customers): Son los que usarán el producto final. Muchas veces se
confunden con los clientes, pero no son los mismos. Hablando claro: “cliente es
el que paga (y por lo tanto decide) y consumidor el que usa el producto”. A
veces cliente y consumidor son la misma persona, pero otras veces no.
6
7. COMPROMETIDOS (cerdos) IMPLICADOS (gallinas)
Propietario del producto
Otros interesados
Equipo
(Dirección general Dirección comercial Marketing Usuarios, etc.)
Scrum Manager
Actividades a realizar
1º) Reunión inicial (Product Background): A la reunión inicial asiste todo el equipo y el
Product Owner. En ella se debe planificar cuáles son las tareas que se van a llevar a
cabo para la consecución del objetivo. Estas tareas posteriormente se dividirán en
ciclos de entre 2 y 4 semanas. Además se deben definir los roles, los recursos
necesarios, etc.
Es muy importante calcular bien los tiempos y contemplar la posibilidad de que el
cliente cambie sus ideas acerca de lo que quiere a durante el desarrollo del trabajo. En
el caso de que esto pase, se deberán recalcular las tareas y adaptar los ciclos y
actividades a los nuevos objetivos.
2º) Reunión de planificación de ciclo (Sprint Background): A principio de cada ciclo el
equipo debe realizar una reunión donde definir qué tareas se van a realizar en las
próximas semanas, quién las va a realizar y qué es lo que debe estar terminado al
finalizar el ciclo.
3º) Reunión diaria (Daily Scrum): Todos los miembros del equipo realizarán una
reunión diaria de corta duración para tratar los avances en las tareas. Concretamente,
cada miembro del equipo hablará de lo que ha hecho el día anterior, qué va a hacer
hoy y qué problemas han surgido.
Reglas a seguir en estas reuniones: estarán presentes todos los miembros del equipo,
deberá durar entre 15 y 20 minutos, puntualidad y sólo hablará quien tenga el turno
de palabra. El encuentro se realizará en el mismo lugar y a la misma hora todos los
días. El objetivo de estas reglas es mantener al equipo informado sin perder tiempo,
agilizando la reunión.
4º) Reunión de fin de ciclo (Sprint Review): Se realiza al final del ciclo y en ella se
debe hablar de qué es lo que se ha hecho durante el ciclo y qué ha quedado por hacer.
A ella asiste todo el equipo y también el Product Owner para comprobar cuáles son los
avances hasta el momento. Se recomienda que esta reunión no dure más de dos
horas. Posteriormente, se recomienda hacer otra reunión (Sprint Retrospective) con
el Product Owner para comentar qué se hará en los próximos ciclos y si hay que hacer
algún cambio.
7
8. Ventajas
Es fácil de aprender.
Requiere muy poco esfuerzo para comenzarse a utilizar.
Permite que abarcar proyectos donde los requisitos de negocio están
incompletos
Permite el desarrollo y correcciones rápido
Mediante las reuniones diarias se ven claramente los avances y problemas
Como toda metodología ágil, obtiene mucha participación del cliente.
Facilita la entrega de productos de calidad a tiempo
Programación organizada.
Menor taza de errores.
Satisfacción del programador.
Desventajas
Si no se define una fecha de fin, los clientes siempre pedirán nuevas
funcionalidades.
Si una tarea no está bien definida puede incrementar costes y tiempos.
Si el equipo no se compromete hay mucha probabilidad de fracasar.
Solo funciona bien en equipos pequeños y ágiles.
Se requieren miembros del equipo experimentados.
Solo funciona cuando el Scrum Manager confía en su equipo.
Que un miembro abandone el equipo durante el desarrollo puede conllevar
grandes problemas.
Es recomendable emplearlo solo en proyectos a corto plazo.
Altas comisiones en caso de fallar.
Características
Scrum es una metodología ágil, y como tal:
Equipos auto-organizado
Es un modo de desarrollo de carácter adaptable más que predictivo.
Orientado a las personas más que a los procesos.
Emplea la estructura de desarrollo ágil: incremental basada en iteraciones y
revisiones.
8
9. Fases
De manera general el proceso de desarrollo del scrum se compone de 5 fases
importantes
Planes de lanzamientos
Distribución, revisión y ajuste de los estándares de producto
Sprint
Revisión del Sprint
Cierre
SPRINT
La fase de Sprint es donde el desarrollo de software se lleva a cabo. Un Sprint consta
de las siguientes actividades:
Elaborar
Integrar
Revisar
Ajustar.
Esta fase no tiene una secuencia. A veces un elemento del backlog se tiene que
desarrollar, integrar, y revisar cuando otras sólo debe ser revisado o ajustado.
REVISIÓN DE SPRINT Cada Sprint es seguido por una revisión de Sprint. Durante esta
revisión, el software desarrollado en el Sprint anterior se revisa y si es necesario se le
añaden nuevos ítems del backlog. El grupo de revisores pueden ser: las partes
interesadas del proyecto, gestores, desarrolladores y, en ocasiones los clientes, ventas
y marketing.
Las actividades, y la revisión de Sprint Sprint se repiten hasta que el producto se
considera listo para su distribución por los participantes en el proyecto. Luego, el
proyecto pasa a la fase de cierre en que el producto se prepara para el lanzamiento y
la distribución.
CIERRE En esta fase tienen lugar las actividades de debugging, marketing y promoción.
Al acabar esta fase el proyecto quedará cerrado.
9
10. Practicas
Revisión de las Iteraciones:
Al finalizar cada iteración (sprint) se lleva a cabo una revisión con todas las personas
implicadas en el proyecto. Es por tanto la duración del sprint, el periodo máximo que
se tarda en reconducir una desviación en el proyecto o en las circunstancias del
producto.
Desarrollo incremental:
Las personas implicadas no trabajan con diseños o abstracciones. El desarrollo
incremental implica que al final de cada iteración se dispone de una parte de producto
operativa, que se puede inspeccionar y evaluar.
Desarrollo evolutivo:
Los modelos de gestión ágil se emplean para trabajar en entornos de 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 arquitectura del
producto no es realista, porque las circunstancias obligarán a remodelarlo muchas
veces.
¿Para qué predecir los estados finales de la arquitectura o del diseño si van a estar
cambiando? Scrum considera a la inestabilidad como una premisa, y se adoptan
técnicas de trabajo para permitir la evolución sin degradar la calidad de la arquitectura
que también evoluciona durante el desarrollo.
Durante el desarrollo se genera el diseño y la arquitectura final de forma evolutiva.
Scrum no los considera como productos que deban realizarse en la primera “fase” del
proyecto. (El desarrollo ágil no es un desarrollo en fases.
Auto-organización:
En la ejecución de un proyecto son muchos los factores impredecibles en todas las
áreas y niveles. La gestión predictiva confía la responsabilidad de su resolución al
gestor de proyectos. En Scrum los equipos son auto-organizados (no auto-dirigidos),
con margen de decisión suficiente para tomar las decisiones que consideren
oportunas.
Colaboración:
Las prácticas y el entorno de trabajo ágiles facilitan la colaboración del equipo. Ésta es
necesaria, porque para que funcione la auto organización como un control eficaz cada
10
11. miembro del equipo debe colaborar de forma abierta con los demás, según sus
capacidades y no según su rol o su puesto.
Visión general del proceso:
Scrum denomina “sprint” a cada iteración de desarrollo y según las características del
proyecto y las circunstancias del sprint puede determinarse una duración desde una
hasta dos meses, aunque no suele ser recomendable hacerlos de más de un mes.
El sprint es el núcleo central que proporciona la base de desarrollo iterativo e
incremental.
¿Cuándo se utiliza la metodología SCRUM?
Con Scrum el cliente se entusiasma y se compromete con el proyecto dado que lo ve
crecer iteración a iteración. Asimismo le permite en cualquier momento realinear el
software con los objetivos de negocio de su empresa, ya que puede introducir cambios
funcionales o de prioridad en el inicio de cada nueva iteración. Esta metódica de
trabajo promueve la innovación, motivación y compromiso del equipo que forma parte
del proyecto, por lo que los profesionales encuentran un ámbito propicio para
desarrollar sus capacidades.
Valores
Scrum es una “carrocería” para dar forma a los principios ágiles. Es 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 dan sentido al desarrollo ágil, no
funciona.
Delegación de atribuciones (empowerment) al equipo para que pueda auto-
organizarse y tomar las decisiones sobre el desarrollo.
Respeto entre las personas.
Los miembros del equipo deben confiar entre ellos y respetar sus conocimientos y
capacidades.
Responsabilidad y auto-disciplina (nodisciplina impuesta).
Trabajo centrado en el desarrollo de lo comprometido Información, transparencia
y visibilidad del desarrollo del proyecto.
11
12. Principios
Un principio clave de Scrum es el reconocimiento de que durante un proyecto los
clientes pueden cambiar de idea sobre lo que quieren y necesitan (a menudo llamado
requirements churn), y que los desafíos impredecibles no pueden ser fácilmente
enfrentados de una forma predictiva y planificada. Por lo tanto, Scrum adopta una
aproximación pragmática, aceptando que el problema no puede ser completamente
entendido o definido, y centrándose en maximizar la capacidad del equipo de entregar
rápidamente y responder a requisitos emergentes.
Conclusión
Scrum tiene muchas ventajas como por ejemplo que es rápido y se puede terminar el
proyecto lo más pronto posible, pero también si las personas que están trabajando en ello
no se toman en serio el rol que juegan en el proyecto, entonces este método no será útil,
en algunos casos el proyecto podría fallar. Es importante que se les imparta un curso o
una plática acerca de cómo trabajar este método, ya que si no lo manejan bien como se
menciono anteriormente podría fallar.
12
13. Bibliografía
Bernal, J. J. (16 de Enero de 2013). Grupo PDCA Home. Obtenido de
http://www.pdcahome.com/3533/metodologia-scrum-mejora-la-eficiencia-de-
equipos-de-trabajo-proyectos-y-desarrollo-de-productos/
Club Desarrolladores. (2 de septiembre de 2008). Metodología Scrum. Obtenido de Club
Desarrolladores: http://www.clubdesarrolladores.com/articulos/mostrar/63-
metodologia-scrum/2
Ortega, R. J. (s.f.). Introducción a SCRUM. Obtenido de
http://osl.ugr.es/talleres/SCRUM/Presentacion%20SCRUM.html#slide1
Scrum Alliance. (s.f.). SCRUM México. Obtenido de http://scrum.org.mx/
SOFTENG Software Engineers. (s.f.). SOFTENG Software Engineers. Obtenido de
http://www.softeng.es/es-es/empresa/metodologias-de-trabajo/metodologia-
scrum/proceso-roles-de-scrum.html
13