Successfully reported this slideshow.
Your SlideShare is downloading. ×

Scaling Agile at Spotify (representation)

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 91 Ad

Scaling Agile at Spotify (representation)

Download to read offline

This presentation is about real-life example of Software Company, which's design is based on Agile principles and can be scaled for huge companies.

References:
1. Evolution of Networks: The Stages of Human Organization
By Jessica Lipnack and Jeffrey Stamps

2. Scaling Agile @ Spotifywith
By Henrik Kniberg and Anders Ivarsson

This presentation is about real-life example of Software Company, which's design is based on Agile principles and can be scaled for huge companies.

References:
1. Evolution of Networks: The Stages of Human Organization
By Jessica Lipnack and Jeffrey Stamps

2. Scaling Agile @ Spotifywith
By Henrik Kniberg and Anders Ivarsson

Advertisement
Advertisement

More Related Content

Slideshows for you (20)

Similar to Scaling Agile at Spotify (representation) (20)

Advertisement

Recently uploaded (20)

Advertisement

Scaling Agile at Spotify (representation)

  1. 1. Scaling Agile @ Spotify with Tribes, Squads, Chapters & Guilds Vlad Mysla . 3:15:29 AM 0m
  2. 2. The main part of this presentation is based on original document that was written by: Henrik Kniberg Anders Ivarsson & http://blog.crisp.se/author/henrikkniberg http://anders-ivarsson.blogspot.com/ Original document: https://dl.dropbox.com/u/1018963/Articles/SpotifyScaling.pdf 3:15:29 AM
  3. 3. Evolution of Networks: The Stages of Human Organization http://www.netage.com/pub/articles/Publications/Seybold/Seybold8_1-90.html 3:15:29 AM
  4. 4. Evolution of Networks: The Stages of Human Organization Since we cannot "see" social structure, we develop models to help us interpret our experience and guide our actions. Over millennia, humans have developed progressively more complex models of organization. Through networking eyes, we can see the antecedents of today's organizations in history and culture. 3:15:29 AM
  5. 5. Evolution of Networks: The Stages of Human Organization Networks are very old and very new. To understand what is new about networks and how they are the new society of the Information Age, it is important to see how old networking is and its fundamental people-to-people origin. 3:15:29 AM
  6. 6. Evolution of Networks: The Stages of Human Organization Homo sapiens 3:15:29 AM
  7. 7. Evolution of Networks: The Stages of Human Organization Hunting and Gathering Groups 3:15:29 AM
  8. 8. Evolution of Networks: The Stages of Human Organization Hunting and Gathering Groups Networking as "people connecting with people" may have been the great human social invention of the ancient Hunting and Gathering Age. Perhaps developing in parallel with the growing human capacity for language, human tribes developed a level of cooperation and coordinated action that enabled the species to spread throughout the world. Networking within and between small groups is an ancient human skill, shared by all the peoples of the planet. It is the skill that comes from within in our interpersonal relations as part of a small group. 3:15:29 AM
  9. 9. Evolution of Networks: The Stages of Human Organization Agricultural Hierarchies 3:15:29 AM
  10. 10. Evolution of Networks: The Stages of Human Organization Agricultural Hierarchies It is said that civilization began with the planting of a seed. With the culture and technology of agriculture came a great Wave of human change. Human groups suddenly increased in size, from tribal groups of 20 or so to towns of 200, then cities of thousands. A new form of human organization emerged, hierarchies. Western civilization began in the great flood-plains of the Middle East. Some theorists believe that the need for large-scale water control led to the towering theocracies of Egypt and Mesopotamia, great human hierarchies topped with a God. 3:15:29 AM
  11. 11. Evolution of Networks: The Stages of Human Organization Agricultural Hierarchies In Japan, with mountainous terrain and narrow valleys, controlling water to enable agriculture required close cooperation with many small groups leading, perhaps, to a more decentralized form of hierarchy. Rather than a sharp top with a paramount individual as is common in the West, Japanese hierarchy tends to be blunt, a group of powerful leaders. What held the feudal system together were bonds of personal loyalty. Actually, this form of a blunt hierarchy plays a little-recognized but very important role in the West, best known as "old boy networks," meaning the interconnected members of a controlling elite. 3:15:29 AM
  12. 12. Evolution of Networks: The Stages of Human Organization Industrial Bureaucracies 3:15:29 AM
  13. 13. Evolution of Networks: The Stages of Human Organization Industrial Bureaucracies The second great Wave of human change came in the centralization of society and development of vast bureaucracies. In the West, bureaucracy seemed to grow along with industry. Specialized, dependent, formal, machine-like organization came with steam engines and assembly lines. While the West was developing centralized administrations for urban industrial centers, Japan was also centralizing its feudal system in the Tokugawa era. Instead of Kings and Presidents as in the West, however, Japan relied on "councils of elders," group rather than individual leadership. By the middle of the Industrial era in the late-eighteenth century, departmental bureaucracies became formalized through constitutions in both the West and Japan. 3:15:29 AM
  14. 14. Evolution of Networks: The Stages of Human Organization Information Networks 3:15:29 AM
  15. 15. Evolution of Networks: The Stages of Human Organization Information Networks As we speed forward into our future, we are on the crest of the next great Wave of human change based on new technologies and new global circumstances. With this great change is coming new forms of large-scale social organization. These are the global networks emerging today. Each form of organization has included the ones before. Small group networks function with hierarchies. Hierarchies provide the framework for bureaucracies. Today's global networks include hierarchy and bureaucracy, rather than replace them. 3:15:29 AM
  16. 16. Evolution of Networks: The Stages of Human Organization Modern Fire Organization 3:15:29 AM 5m
  17. 17. Evolution of Networks: The Stages of Human Organization Modern Fire Organization A network is a form of organization like hierarchy and bureaucracy. Complex organizations today whether voluntary, business, or government have aspects of all three forms of organization. One example we believe is common to both Japan and the United States is the local fire department. For three years in the 1970s private company helped the U.S. Department of Commerce set up America's first national fire prevention agency. Japan's fire rate is one of the lowest in the world. As you may know, the U.S. fire rate is by far the highest in the world. Not a statistic we can be proud of. 3:15:29 AM
  18. 18. Evolution of Networks: The Stages of Human Organization Modern Fire Organization In America, the fire-fighting part of the fire department is organized in a strict, military hierarchy. When faced with the crisis of actually fighting a fire, a well-trained unit following a chain of command seems to be the optimal form of organization. 3:15:29 AM
  19. 19. Evolution of Networks: The Stages of Human Organization Modern Fire Organization Another important part of every fire department is a bureaucratic administration. This is the group of people concerned with building inspections, codes, violations, water mains, and all other laws and policies surrounding the control of fires. 3:15:29 AM
  20. 20. Evolution of Networks: The Stages of Human Organization Modern Fire Organization A third, often neglected, part of American fire departments is a network of prevention and educational efforts. At the simplest level, this means the voluntary cooperation of fire personnel with other community organizations to spread fire safety information. This is essentially small- group person-to-person networking. 3:15:29 AM
  21. 21. Evolution of Networks: The Stages of Human Organization Modern Fire Organization Fire departments also network at the community-to-community level. Although fire-fighting units are hierarchical, departments come together as equals in regional "mutual aid" associations. So, if one community has a very bad fire, other surrounding departments will send direct aid, while departments on the periphery will move up to fill in gaps left by the response. Here we have a network of hierarchies. 3:15:29 AM
  22. 22. Evolution of Networks: The Stages of Human Organization Modern Fire Organization Like other organizations, fire departments and professionals within them also form peer-to-peer associations at the state (Prefecture) and national levels to exchange information and influence policy changes. Many of these are like the voluntary grassroots associations dedicated to causes like the environment and the consumer. 3:15:29 AM
  23. 23. Evolution of Networks: The Stages of Human Organization Modern Fire Organization Modern fire departments, found in every community throughout the world, show the basic forms of human organization applied to a specific function: hierarchical fire-fighting, bureaucratic codes, and networks of prevention. 3:15:29 AM
  24. 24. Evolution of Networks: The Stages of Human Organization Contemporary Organization 3:15:29 AM
  25. 25. Evolution of Networks: The Stages of Human Organization Contemporary Organization In the broad cultural context, global networks are being stimulated and shaped as the sociological response to electronic and digital technology. They are the unique response to the driving forces of information, just as hierarchy developed in the Agricultural Era and bureaucracy matured in the Industrial Era. Network organizations based on global media are appearing in grassroots movements, large-scale organizations, and in everyday work. These networks operate alongside, within, and between the hierarchy and bureaucracy in any large organization. Global media are leading to a global workforce and global work. Social Neworks making them more personal and direct. 3:15:29 AM
  26. 26. Software development evolution …. You should know something about it …. 3:15:29 AM
  27. 27. QA Extreme Programming Waterfall Continuous integration Kanban Agile Pair Programming Lean Scrum Test Driven Development User Stories 3:15:29 AM 10m
  28. 28. Agile Team Each developer should be: • self-organized • self-motivated • responsible • communicative • senior • Perfect! 3:15:29 AM
  29. 29. Original Scrum in really big companies 3:15:29 AM
  30. 30. Real problems in huge Projects • What we have? • Where we should go? • Who can help me with this? • Who is responsible for that? • Who makes decisions? • Why I’m here? • Why we are? 3:15:29 AM
  31. 31. Back to Hierarchies and Bureaucracies? Is it real to design big systems based on Agile methodology? 3:15:29 AM
  32. 32. Is it real to design big systems based on Agile methodology? 3:15:29 AM
  33. 33. The Answer is YES! Spotify made this, and it looks great! 3:15:29 AM
  34. 34. Spotify made a great music player 3:15:29 AM
  35. 35. Spotify has a beautiful web 2.0 website You should look on it: http://www.spotify.com/int/ 3:15:29 AM
  36. 36. Spotify is a big growing company Spotify is a Swedish music streaming service offering digitally restricted streaming of selected music from a range of major and independent record labels. Launched in October 2008 by Swedish startup Spotify AB, the service had approximately ten million users as of 15 September 2010, about 2.5 million of whom were paying members. Total users reached 15 million by August 2012, 4 million of them paying monthly. More about the company: http://en.wikipedia.org/wiki/Spotify 3:15:29 AM
  37. 37. Spotify has great office and developers 3:15:29 AM
  38. 38. Spotify had real problem having scaled to over 30 teams across 3 cities. 3:15:29 AM
  39. 39. Spotify handles agile with hundreds of developers 3:15:29 AM
  40. 40. Spotify organization Magic? 3:15:29 AM
  41. 41. Spotify organization Yes, it is magic! 3:15:29 AM
  42. 42. Spotify organization 3:15:29 AM 15m
  43. 43. Squads 3:15:29 AM
  44. 44. Squads The basic unit of development at Spotify is the Squad. A Squad is similar to a Scrum team, and is designed to feel like a mini-startup. They sit together, and they have all the skills and tools needed to design, develop, test, and release to production. They are a selforganizing team and decide their own way of working – some use Scrum sprints, some use Kanban, some use a mix of these approaches. 3:15:29 AM
  45. 45. Squads Each squad has a long-term mission such as: - building and improving the Android client, - creating the Spotify radio experience, - scaling the backend systems, - providing payment solutions. - etc. 3:15:29 AM
  46. 46. Squads Different squads take responsibility for different parts of the user experience. 3:15:29 AM
  47. 47. Squads Squads are encouraged to apply Lean Startup principles such as MVP (minimum viable product) and validated learning. MVP means releasing early and often, and validated learning means using metrics and A/B testing to find out what really works and what doesn’t. This is summarized in the slogan “Think it, build it, ship it, tweak it”. Because each squad sticks with one mission and one part of the product for a long time, they can really become experts in that area - for example what it means to build an awesome radio experience. 3:15:29 AM
  48. 48. Squads Most squads have an awesome workspace including a desk area, a lounge area, and a personal "huddle" room. Almost all walls are whiteboards. 3:15:29 AM
  49. 49. Squads To promote learning and innovation, each squad is encouraged to spend roughly 10% of their time on “hack days”. During hack days people do whatever they want, typically trying out new ideas and sharing with their buddies. Some teams do 1 hack day every second week, others save up for a whole “hack week”. Hack days are not only fun, they are also a great way to stay up-to-date with new tools and techniques and sometimes lead to important product innovations 3:15:29 AM
  50. 50. Squads A squad doesn’t have a formally appointed squad leader, but it does have a product owner. The product owner is responsible for prioritizing the work to be done by the team, but is not involved with how they do their work. The product owners of different squads collaborate with each other to maintain a highlevel roadmap document that shows where Spotify as a whole is heading, and each product owner is responsible for maintaining a matching product backlog for their squad. 3:15:29 AM
  51. 51. Squads A squad also has access to an agile coach, who helps them evolve and improve their way of working. The coaches run retrospectives, sprint planning meetings, do 1-on-1 coaching, etc. 3:15:29 AM
  52. 52. Squads Ideally each squad is fully autonomous with direct contact with their stakeholders, and no blocking dependencies to other squads. Basically a mini-startup. 3:15:30 AM
  53. 53. Squads Ideally each squad is fully autonomous with direct contact with their stakeholders, and no blocking dependencies to other squads. Basically a mini-startup. With over 30 teams, that is a challenge! 3:15:30 AM
  54. 54. Squads To aid in this, they run a quarterly survey with each squad. This helps focus improvement efforts and find out what kind of organizational support is needed. The circles show the current state, arrows show the trend. 3:15:30 AM
  55. 55. Squads For example we can see a pattern where three squads reports problems around releasing and that it does not seem to improve - this area needs urgent focus! 3:15:30 AM
  56. 56. Squads We also see that squad 4 does not have a great situation with agile coach support, but that it is already improving. 3:15:30 AM
  57. 57. Squads ● Product owner - The squad has a dedicated product owner that prioritizes the work and takes both business value and tech aspects into consideration. ● Agile coach - The squad has an agile coach that helps them identify impediments and coaches them to continuously improve their process. ● Influencing work - Each squad member can influence his/her work, be an active part in planning and choose which tasks to work on. Every squad member can spend 10% of his/her time on hack days. ● Easy to release - The squad can (and does!) get stuff live with minimal hassle and sync. ● Process that fits the team - The squad feels ownership of their process and continuously improves it. ● Mission - The squad has a mission that everyone knows and cares about, and stories on the backlog are related to the mission. ● Organizational support - The squad knows where to turn to for problem solving support, for technical issues as well as “soft” issues. 3:15:30 AM
  58. 58. Tribes 3:15:30 AM 25m
  59. 59. Tribes A tribe is a collection of squads that work in related areas – such as the music player, or backend infrastructure. The tribe can be seen as the “incubator” for the squad mini-startups. , and have a fair degree of freedom and autonomy. Each tribe has a tribe lead who is responsible for providing the best possible habitat for the squads within that tribe. The squads in a tribe are all physically in the same office, normally right next to each other, and the lounge areas nearby promote collaboration between the squads. 3:15:30 AM
  60. 60. Tribes Tribes are sized based on the concept of the “Dunbar number”, which says that most people cannot maintain a social relationship with more than 100 people. When groups get too big, they start seeing more things like restrictive rules, bureaucracy, politics, extra layers of management, and other waste. So tribes are designed to be smaller than 100 people or so. 3:15:30 AM
  61. 61. Tribes Tribes hold gatherings on a regular basis, an informal get-together where they show the rest of the tribe (or whoever shows up) what they are working on, what they have delivered and what others can learn from what they are currently doing. This includes live demos of working software, new tools and techniques, cool hack-day projects, etc. 3:15:30 AM
  62. 62. Squad dependencies 3:15:30 AM
  63. 63. Squad dependencies With multiple squads there will always be dependencies. Dependencies are not necessarily bad - squads sometimes need to work together to build something truly awesome. Nevertheless, the goal is to have squads be as autonomous as possible, especially minimizing dependencies that are blocking or slowing a squad down. 3:15:30 AM 30m
  64. 64. Squad dependencies To aid in this, they regularly ask all squads which other squads they depend on, and to what extent those dependencies are blocking or slowing the squad down. Here’s an example: 3:15:30 AM
  65. 65. Squad dependencies They then discuss ways to eliminate the problematic dependencies, especially blocking and cross-tribe dependencies. This often leads to reprioritization, reorganization, architectural changes or technical solutions. 3:15:30 AM
  66. 66. Squad dependencies They then discuss ways to eliminate the problematic dependencies, especially blocking and cross-tribe dependencies. This often leads to reprioritization, reorganization, architectural changes or technical solutions. 3:15:30 AM
  67. 67. Squad dependencies The survey also helps to see patterns around how squads depend on each other - for example that more and more squads seems to be slowed down by operations. They use a simple graph to track how the various types of dependencies increase or decrease over time. 3:15:30 AM
  68. 68. Squad dependencies Scrum has a practice called “scrum of scrums”, a synchronization meeting where one person from each team meets to discuss dependencies. They don’t usually do scrum of scrums at Spotify, mainly because most of the squads are fairly independent and don’t need such a coordination meeting. 3:15:30 AM
  69. 69. Squad dependencies Instead, scrum of scrums happens “on demand”. For example: large project that required the coordinated work of multiple squads for a few months. 3:15:30 AM
  70. 70. Squad dependencies To make this work, the teams had a daily sync meeting where they identified and resolved dependencies between the squads, and used a board with sticky notes to keep track of unresolved dependencies. 3:15:30 AM
  71. 71. Squad dependencies A common source of dependency issues at many companies is development vs operations. Most companies have some kind of a handoff from dev to ops, with associated friction and delays. 3:15:30 AM
  72. 72. Squad dependencies At Spotify there is a separate operations team, but their job is not to make releases for the squads - their job is to give the squads the support they need to release code themselves; support in the form of infrastructure, scripts, and routines. They are, in a sense, “building the road to production”. 3:15:30 AM
  73. 73. Chapters and guilds 3:15:30 AM 35m
  74. 74. Chapters and guilds There is a downside to everything, and the potential downside to full autonomy is a loss of economies of scale. The tester in squad A may be wrestling with a problem that the tester in squad B solved last week. If all testers could get together, across squads and tribes, they could share knowledge and create tools for the benefit of all squads. 3:15:30 AM
  75. 75. Chapters and guilds If each squad was fully autonomous and had no communication with other squads, then what is the point of having a company? Spotify might as well be chopped into 30 different small companies. 3:15:30 AM
  76. 76. Chapters and guilds If each squad was fully autonomous and had no communication with other squads, then what is the point of having a company? Spotify might as well be chopped into 30 different small companies. That’s why they have Chapters and Guilds. This is the glue that keeps the company together, it gives some economies of scale without sacrificing too much autonomy. 3:15:30 AM
  77. 77. Chapters 3:15:30 AM
  78. 78. Chapters The chapter is your small family of people having similar skills and working within the same general competency area, within the same tribe. 3:15:30 AM
  79. 79. Chapters Each chapter meets regularly to discuss their area of expertise and their specific challenges - for example the testing chapter, the web developer chapter or the backend chapter. 3:15:30 AM
  80. 80. Chapters The chapter lead is line manager for his chapter members, with all the traditional responsibilities such as developing people, setting salaries, etc. However, the chapter lead is also part of a squad and is involved in the day-to-day work, which helps him stay in touch with reality. 3:15:30 AM
  81. 81. Chapters Now, reality is always messier than pretty pictures like the one above. For example, chapter members are not evenly distributed across the squads; some squads have lots of web developers, some have none. 3:15:30 AM
  82. 82. Guilds 3:15:30 AM
  83. 83. Guilds A Guild is a more organic and wide-reaching “community of interest”, a group of people that want to share knowledge, tools, code, and practices. Chapters are always local to a Tribe, while a guild usually cuts across the whole organization. Some examples are: the web technology guild, the tester guild, the agile coach guild, etc. 3:15:30 AM
  84. 84. Guilds A guild often includes all the chapters working in that area and their members, for example the testing guild includes all the testers in all testing chapters, but anybody who is interested can join any guild. Each guild has a “guild coordinator” who, well, does just that :o) 3:15:30 AM
  85. 85. Guilds As an example of guild work, is a “Web Guild Unconference”, an open space event where all web developers at Spotify gathered up in Stockholm to discuss challenges and solutions within their field. 3:15:30 AM
  86. 86. Guilds Another example is the agile coach guild. The coaches are spread all over the organization, but share knowledge continuously and meet regularly to collaborate on the high level organizational improvement areas, which we track on an improvement board. 3:15:30 AM
  87. 87. Wait a sec, isn’t this just a matrix org? 3:15:30 AM 45m
  88. 88. Yes. Well, sort of. It’s a different type of matrix than what most of us are used to though. In many matrix organizations people with similar skills are “pooled” together into functional departments, and “assigned” to projects, and “report to” a functional manager. Spotify rarely does any of this. Our matrix is weighted towards delivery. That is, people are grouped into stable co-located squads, where people with different skill sets collaborate and self-organize to deliver a great product. That’s the vertical dimension in the matrix, and it is the primary one since that is how people are physically grouped and where they spend most of their time. The horizontal dimension is for sharing knowledge, tools, and code. The job of the chapter lead is to facilitate and support this. 3:15:30 AM
  89. 89. Questions? 3:15:30 AM 50m
  90. 90. Provide your feedback please! http://bit.ly/vmysla-ed2-scaling-agile-at-spotify 3:15:30 AM 59m
  91. 91. Thanks to: You all, dear listeners Spotify for good example Henrik Kniberg for knowledge sharing Agilee for the great event 3:15:30 AM 60m

×