Académique Documents
Professionnel Documents
Culture Documents
“SPOTIFY
FRAMEWORK DE
ESCALABILIDAD”
Cochabamba – Bolivia
2019
2
TABLA DE CONTENIDOS
Resumen ...................................................................................................... 6
Introducción .................................................................................................. 8
1. Generalidades ..................................................................................... 10
2. Metodología ........................................................................................ 12
5. Conclusiones ....................................................................................... 31
6. Recomendaciones ................................................................................ 32
Bibliografía .................................................................................................. 33
5
TABLA DE FIGURAS
RESUMEN
Empezaremos definiendo que las metodologías ágiles son aquellas que permiten
adaptar la forma de trabajo a las condiciones del proyecto, consiguiendo flexibilidad
e inmediatez en la respuesta para amoldar el proyecto y su desarrollo a las
circunstancias específicas del entorno. Las empresas que apuestan por estas
metodologías consiguen gestionar sus proyectos de forma flexible, autónoma y eficaz
reduciendo los costes e incrementando su productividad, usando un enfoque iterativo
basado en equipo para maximizar la entrega de valor en ciclos de corto tiempo. Con
estos métodos, los productos y servicios evolucionan rápidamente a través del
esfuerzo de colaboración de los equipos auto-organizados.
Scrum
Programación Extrema XP
Kanban
INTRODUCCIÓN
En 1995 el método Scrum fue ideado por Ken Schwaber y Jeff Sutherland,
quienes lo presentaron en la conferencia OOPSLA (Object-Oriented
Programming, Systems, Languages & Applications). Como se sabe, Scrum es
prácticamente el estándar de facto para el desarrollo ágil, y consiste en dividir
los proyectos en secciones de trabajo compactas, denominadas “sprints”, que
normalmente tienen dos o tres semanas de duración, al final de las cuales, el
equipo se reúne para revisar el progreso, y planificar los siguientes pasos.
En 1999 la Programación Extrema (XP) fue desarrollada por Kent Beck, quien
publicó el método en un libro titulado "Extreme Programming Explained".
Como parte de la Programación Extrema, también formuló los conceptos
de Historias de Usuario y Planificación de Releases. La metodología especifica
buenas prácticas para la planificación, gestión, diseño, codificación y pruebas.
En 2001 Bob Martin, reúne a otros 16 líderes del movimiento ágil, para escribir
el "Manifiesto Ágil", que engloba las metodologías que hasta ese momento se
les conocía como "Metodologías de Desarrollo de Software de peso liviano".
9
1. GENERALIDADES
Las últimas décadas se han caracterizado por un gran crecimiento de las empresas,
tanto a nivel estructural como operacional que surge para satisfacer las demandas
de los clientes y así permanecer competitivos en el mercado. Debido a este
crecimiento, la complejidad de la gestión de los proyectos dentro de las
organizaciones ha aumentado, obligando a éstas a utilizar nuevas herramientas y
tecnologías. Es por esto que expertos en el área, han desarrollado metodologías en
la gestión de equipos y proyectos dando lugar a las metodologías ágiles que
rápidamente han ganado gran aceptación como el modelo de gestión utilizado en las
empresas.
Las metodologías ágiles son aquellas metodologías de gestión que nacen como
respuesta a los mercados actuales, ya que permiten adaptar la forma de trabajo al
contexto y naturaleza de un proyecto, basándose en la flexibilidad y la inmediatez y
teniendo en cuenta la evolución de los requerimientos y las circunstancias cambiantes
del mercado y los clientes. Los pilares fundamentales de las metodologías ágiles son
el trabajo colaborativo y en equipo.
Scrum es la metodología más usada en los últimos años para gestionar información
y proyectos dentro de las empresas, por lo que es la metodología ágil principal y la
más destacada. Sin embargo, Scrum fue pensada para proyectos pequeños y tiene
las siguientes limitaciones:
Funciona sobre todo con equipos reducidos. Los equipos más grandes, deben
ser divididos en grupos más pequeños con objetivos específicos, para evitar
perder el efecto de la técnica.
2. METODOLOGÍA
Las metodologías que se van a usar para esta monografía son las siguientes:
Ágil es un término general para usar un enfoque iterativo basado en equipos para
maximizar la entrega de valor en ciclos de tiempo rápido. Con estos marcos de
trabajo, los productos y servicios evolucionan rápidamente a través del esfuerzo y
colaboración de equipos auto organizados y multifuncionales.
fusión de las prácticas tradicionales de Waterfall con una metodología Ágil o fusionar
dos o más metodologías Ágiles Escaladas.
3.2 SAFe
Nivel Flujo de Valor: la versión más completa del framework que soporta
empresas que construyen y mantienen soluciones altamente integradas.
Alinea los aspectos del proyecto a los objetivos más generales del negocio.
3.3 LeSS
LeSS (Large Scale Scrum – Scrum a gran escala), es Scrum aplicado al desarrollo a
gran escala. Basado en la idea de que proporcionar demasiadas reglas, roles y
artefactos, mientras se le pide a la organización que los adapte, es fundamentalmente
defectuoso. LeSS sugiere que los marcos de escalamiento deben ser minimalistas
para impulsar el éxito.
3.4 Nexus
El framework Nexus fue creado por el co-autor de Scrum Ken Schwaber en 2015 y
está basado en el framework de Scrum extendiéndolo mínimamente. Permite que
múltiples equipos Scrum trabajen colaborativamente en una sola cartera de
productos para entregar por lo menos un incremento integrado completo cada
sprint. Nexus recomienda entre tres y nueve equipos para mejorar la cohesión y
reducir la complejidad. El límite mayor puede ser ligeramente mayor, lo cual no
impide el buen funcionamiento de la metodología dependiendo de las circunstancias.
17
Las adiciones principales de Nexus a Scrum son (Bourk & Kong, 2016):
3.5 Spotify
Spotify es un marco de trabajo autónomo orientado hacia las personas para escalar
metodologías ágiles. Destaca la importancia de la cultura y de las redes
(comunicación entre equipos).
limitada a 100 personas. Los Chapters forman parte de un Squad y son un grupo de
miembros de equipos que trabajan juntos. Por último, está el Guild, que son un grupo
de personas con intereses comunes.
Mientras más alineados estén, mayor autonomía tendrán. El trabajo del líder es
comunicar cuál es el problema a resolver y explicar el por qué los miembros del
equipo deben colaborar entre sí para encontrar la solución. Nadie está fuera, todos
participan.
Uno de los beneficios de trabajar así es un tipo de estandarización (creada por ellos),
al que llaman CROSS-POLLINATION (Como las abejas cuando polinizan las flores).
Cuando un Squad usa una herramienta o una buena práctica, ésta se transmite a
otros y así se convierte en algo estandarizado. Esta “polinización” genera un balance
entre consistencia y flexibilidad.
20
A pesar que cada metodología ágil escalada tiene excelentes características, ninguna
compañía puede elegir cualquiera sin correr riesgos que pongan en peligro la
consecución de sus objetivos. Cada empresa es diferente, y una metodología que
funcione bien en una empresa, no garantiza que es la metodología correcta para otra
empresa. Es por eso, que cada empresa debe evaluar las necesidades únicas para
implementar la metodología correcta, o adecuar una para satisfacer los
requerimientos.
Existen principalmente dos riesgos que las organizaciones pueden correr si eligen una
metodología inadecuada que son:
Al momento de decidir qué metodología funciona mejor para cada caso, la selección
dependerá de muchas variables, pero hay una serie de pautas que se pueden seguir
para ayudar a elegir:
Fuente: Agile at Scale: Frameworks to Use (& When to Use Them), (Karlsson,
2017)
Los squads de Spotify son autónomos y son capaces de manejar todo desde el
diseño, desarrollo y testing hasta la entrega a producción
independientemente. El modelo Spotify les da el poder a los equipos para que
los desarrolladores puedan dar rienda suelta a su creatividad y así poder
innovar.
4. SPOTIFY FRAMEWORK
Originada por su fundador Daniel Ek, quien lanzó la aplicación el 23 de abril de 2006,
es una compañía que está transformando la industria de la música. La compañía tiene
más de 217 millones de usuarios activos, de los cuales, más de 100 millones usan el
servicio de pago (Wikipedia, n.d.).
La compaña fue creciendo, por lo que lidiar con múltiples equipos en el desarrollo de
su producto se convirtió en un reto, pero Spotify como compañía siempre ha
mantenido una mentalidad ágil a pesar de haber escalado a más de 30 equipos en 3
ciudades.
Figura 8. Squad
Fuente: Scaling Agile @ Spotify with Tribes, Squads, Chapters & Guilds, (Kniberg &
Ivarsson, Scaling Agile @ Spotify, 2012)
Un squad es similar a un equipo Scrum, y está diseñado para sentirse como un mini-
startup. Se sientan juntos, y ellos tienen todas las habilidades y herramientas
necesarias para diseñar, desarrollar, probar y lanzar un producto a producción. Son
un equipo auto-organizado y deciden su propia manera de trabajar, algunos usan
Scrum sprints, Kanban, otros utilizan una combinación de estos enfoques.
Cada squad tiene una misión a largo plazo, por ejemplo, construir y mejorar el cliente
Android, crear la experiencia en radio de Spotify, escalar los sistemas backend o
proporcionar soluciones de pago. Lo ideal es que cada equipo sea totalmente
autónomo, con contacto directo con las partes interesadas sin dependencias que
bloqueen a otros escuadrones.
Debido a que cada equipo se adhiere a una parte del producto con una misión durante
mucho tiempo, ellos pueden convertirse en expertos en esa área. La mayoría de los
24
4.2.2 Tribus
Figura 9. Tribes
Fuente: Scaling Agile @ Spotify with Tribes, Squads, Chapters & Guilds, (Kniberg &
Ivarsson, Scaling Agile @ Spotify, 2012)
Las tribus son una estructura matricial bastante ligera que agrupan a los squads y
pretenden mantenerlos bajo el foco de un producto. Se puede decir que agrupan a
los squads bajo un paraguas de negocio, por ejemplo, el desarrollo de funcionalidades
relativas a la aplicación móvil que la compañía ofrece a sus clientes.
El tamaño de las tribus se basa en el concepto del "número Dunbar", que dice que la
mayoría de la gente no puede mantener una relación social con más de 100 personas.
En realidad, el número es mayor para los grupos que están bajo una intensa presión
de supervivencia, lo que no es el caso en Spotify. Cuando los grupos se hacen
demasiado grandes, empezamos a ver más cosas como reglas restrictivas y
26
burocracia. Así que las tribus están diseñadas para tener un número menor a 100
personas.
Las tribus celebran reuniones con regularidad, una reunión informal donde muestran
al resto de la tribu en lo que están trabajando, lo que han entregado o algo que otros
pueden aprender. Esto incluye demostraciones en vivo de software de trabajo,
nuevas herramientas y técnicas, etc.
Fuente: Scaling Agile @ Spotify with Tribes, Squads, Chapters & Guilds, (Kniberg &
Ivarsson, Scaling Agile @ Spotify, 2012)
27
Fuente: Scaling Agile @ Spotify with Tribes, Squads, Chapters & Guilds, (Kniberg &
Ivarsson, Scaling Agile @ Spotify, 2012)
28
Esta organización, que es más parecida a una comunidad de interés, agrupa personas
de toda la compañía que quieren compartir conocimiento en un área específica. Es
una comunidad abierta, cualquiera puede unirse al gremio o salir de él en cualquier
momento y cada persona puede decidir cuán activo o inactivo es en cada uno de los
gremios a los que está adscrito. Cada guild tiene un coordinador que se encarga de
organizar actividades de intercambio de conocimiento, discusiones, y los famosos
talleres de guilds como hackatons, etc.
Spotify promueve que los empleados muestren liderazgo personal. Sin embargo, hay
algunas personas que tienen roles de liderazgo más formales. Estos son:
equipo, esa herramienta puede transmitirse a los demás squads. Una vez que los
otros equipos usan la herramienta y, en colaboración, encuentran la mejor forma de
implementarla, es cuando la herramienta se convierte en un estándar por defecto
otorgando así el balance entre consistencia y flexibilidad.
Spotify emplea un modelo interno de código abierto, su cultura es más compartir que
poseer. Basado en el respeto mutuo y poco ego, Spotify tiene un sistema de revisión
de código de pares, en el que cualquiera puede añadir cualquier código en cualquier
momento. Entonces un compañero de equipo puede revisar el código y hacer ajustes,
es decir que todos colaboran y difunden el conocimiento. También tienen una cultura
que se centra en la motivación, lo que les ha ayudado a construir una muy buena
reputación como lugar de trabajo.
- Velocidad mejorada
- Reducción de procesos
- Dependencias mínimas
- La falta de una estructura firme hace que se puedan resolver los problemas
más fácilmente
- Control mínimo
5. CONCLUSIONES
Las empresas necesitan optimizar sus procesos al máximo y así garantizar su posición
en el mercado para lo cual las metodologías ágiles escaladas van tomando cada vez
más protagonismo.
Entre las diferentes metodologías ágiles escaladas, destaca Spotify que propone una
solución en la cual los equipos se organizan por squads (escuadrones) que son
pequeños grupos que tienen autonomía para desarrollar el software sin interferir con
otros equipos. Todos los squads están caracterizados por tener una alineación hacia
un fin común.
6. RECOMENDACIONES
Cada empresa debe ver la metodología que mejor se adapte a sus necesidades.
Las metodologías ágiles escaladas son las que se sugieren para empresas de
mayor tamaño, pero éstas deben ver cuál metodología se adapta mejor a sus
necesidades.
BIBLIOGRAFÍA
Bourk, S., & Kong, P. (Junio de 2016). An Introduction to the Nexus™ Framework.
Obtenido de ScrumOrg: https://scrumorg-website-
prod.s3.amazonaws.com/drupal/2016-
06/An%20Introduction%20to%20the%20Nexus%20Framework%20-
%20June%202016_0.pdf
Derby, E., & Larsen, D. (2007). Agile Retrospectives: Making Good Teams Great.
Pragmatic Bookshelf.
Karlsson, J. (2 de Abril de 2017). Agile at Scale: Frameworks to Use (& When to Use
Them). Obtenido de Perforce: https://www.perforce.com/blog/hns/agile-
scale-frameworks-use-when-use-them
Kendis. (23 de Julio de 2018). Exploring Key Elements of Spotify’s Agile Scaling
Model. Obtenido de Kendis: https://kendis.io/spotify/exploring-key-elements-
spotifys-agile-scaling-model/
Kezmo. (20 de Marzo de 2017). ¿Qué son las metodologías ágiles y por qué debes
implementarlas en tu organización? Obtenido de Kezmo:
https://blog.kezmo.com/qu%C3%A9-son-las-metodolog%C3%ADas-
%C3%A1giles-y-por-qu%C3%A9-debes-implementarlas-en-tu-
organizaci%C3%B3n-484a510e5b0
Kniberg, H. (Octubre de 2017). Scaling Agile @ Lego & Spotify. Obtenido de Crisp's
Blog: https://blog.crisp.se/wp-content/uploads/2017/10/Scaling-Agile-at-
LEGO-and-Spotify.pdf
Kniberg, H., & Ivarsson, A. (Octubre de 2012). Scaling Agile @ Spotify. Obtenido de
Crisp's Blog: https://blog.crisp.se/wp-
content/uploads/2012/11/SpotifyScaling.pdf
Salemeh, A., & Bass, J. (2018). Influential factors of aligning Spotify squads in
missioncritical and offshore projects - a longitudinal embedded case study.
Conference or Workshop Item. Manchester: University of Salford.
Zen Ex Machina. (2017). Why Spotify’s agile patterns work and why you shouldn’t
copy them. Obtenido de Zen Ex Machina – The blog:
https://zenexmachina.wordpress.com/2017/07/25/why-spotifys-agile-
patterns-work-and-why-you-shouldnt-copy-them/