Friday, February 1, 2019

Metodologia Spotify

Últimamente se ha estado escuchando sobre una nueva metodología de desarrollo de software llevada a cabo por Spotify. Si, de la misma compañía que provee música con 4 millones de usuario de pago y 15 millones de usuarios en total.

Spotify posee 30 equipos en 3 ciudades distintas, números que obligan a cuestionar otros estándares ampliamente aceptados como los de Scrum y algunos usados por compañías grandes como Safe.

A continuación tenemos un resumen sobre algunos de sus principales puntos.

Squads


Los squads son como los equipos de Scrum. Un squad se encarga del desarrollo, test y entrega en producción. Tienen todas las herramientas para desarrollar su trabajo, contacto directo con Stakeholders y son los dueños de uno o más funcionalidades o productos.

El equipo autoorganizado decide las prácticas a seguir como las stand ups, code review, pair programming, retrospectivas, etc. Así como también tienen un cierto grado de autonomía sobre las tecnologías a utilizar (para desarrollar el producto, integración continua, entrega continua, etc.). La idea es otorgar independencia al squad con el fin de evitar bloqueos o asuntos que puedan demorar una entrega.

No hay team leads, pero si hay un product owner que se encarga de priorizar las tareas. ¿Quién se preocupa del crecimiento del equipo? Puede ser algo que define el propio Squad o los “chapters” que veremos más adelante.

Un agile coach puede estar ayudando a que el equipo use las mejores prácticas según su contexto y apoyar en aspectos claves como la motivación o la adaptación en un equipo.

Actualmente Spotify entrega libertad para que el Squad dedique el 10% de su tiempo para hacer lo que quieran, inventar un producto nuevo, aprender una nueva tecnología, etc.. También realizan una encuesta cada 3 meses para medir la mejora o sus esfuerzos.

Dependencias


Una tribu es un grupo de Squads que trabajan en una área parecida. Los squads de una tribu están en la misma oficina promoviendo la colaboración.

El líder de la tribu se encarga de proveer el mejor hábitat posible para los squad y las relaciones entre éstos. Una de las dependencias más comunes son los equipos de operaciones. Aunque un squad debería poseer el rol de operaciones, es importante tener un equipo encargado exclusivamente a eso y entregar las herramientas a los squads para que puedan lograr su autonomía..

Chapters y Guilds


Spotify propone autonomía con equipos independientes, pero también hay que aprovechar las instancias para compartir conocimiento y desarrollar habilidades comunes en la compañía. Un chapter es un equipo con habilidades similares dentro de una tribu.

Los liderazgos se ven a nivel de chapter porque tienen habilidades parecidas, el líder puede ser la persona con más experiencia o experticia sobre el rango de habilidades del chapter.

Un guild se puede ver como un grupo con intereses similares donde comparten conocimiento, habilidades, herramientas y prácticas. Las personas que integran un guild o chapter, son las mismas que participan en la entrega del producto siendo parte de un squad.

Architectura


Para hacer que las integraciones entre los diferentes squads sean más fáciles y coherentes, se considera el rol “System Owner” que se preocupa de la calidad, documentación, technical debt, escalabilidad y el proceso de release. Esta persona es parte de un squad.

El chief architect es quien se encarga de coordinar el trabajo de architectura en un alto nivel. Promoviendo la visión del producto, lineamientos de tecnologías o problemas futuros a mitigar.


La metodología o prácticas de Spotify están enfocadas en las entregas proporcionando una estructura con independencia y las instancias para coordinar y compartir habilidades que la aseguren. Podemos mirarla como una evolución de las prácticas ágiles con constantes cambios.

No comments:

Post a Comment