A Practical Application of Agile Tribes for Software Development

Last week we provided an overview of Tribes, a recent innovation in the world of Agile software development methodologies. In a nutshell, Tribes organizes a development shop into teams of employees known as Squads, Tribes, Chapters, and Guilds by either the projects they work on, as well as their role in the company. Squads and Tribes relate more to specific project work, while Chapters and Guilds focus on their profession (developers, testers, etc.).

If all these different groups seem a bit confusing, check out last week’s article for a more detailed explanation. This time out, we are going to look at a practical example of how a software development shop uses this organizational structure to build applications in a more efficient manner.

How Spotify made Agile Work

Spotify, the music streaming company, is one of the first enterprises where the Agile Tribes structure saw a successful implementation. Alistair Cockburn, one of the original developers of the Agile idea, was reportedly impressed with Spotify’s Tribes matrix implementation.  “Nice. I’ve been looking for someone to implement this matrix format since 1992, so it is really welcome to see,” said Cockburn.

A matrix-like structure isn’t completely new when it comes to structuring a software development organization. Spotify’s innovation comes by grouping people with different skill sets into Squads, so software engineers, QA professionals, and business analysts all work on the same team reporting to a Product Owner. The focus is on product delivery as opposed to organizing workers by their function. Instead, the Chapter structure organizes employees in this manner.

At Spotify, technical professionals are typically in all four groups; this means they essentially have two bosses. The Product Owner of their squad is focused on the building a top notch product, while the Chapter Lead encourages everyone in their Chapter to strive for technical excellence.

Spotify realizes that clashes sometimes occur within this organizational structure. Maybe a Product Owner wants to speed up a development cycle against the wishes of the Chapter Lead responsible for the developers on that PO’s Squad? The company feels this is a healthy kind of tension that ultimately results in a better product for consumers. 

The System Owner is responsible for the Overall Architecture

With a host of Squads all working on their own specific projects, there can be difficulty in enforcing standards and a common technical architecture across the entire department. Spotify felt there was a need for a System Owner role responsible for the overall architecture of their music streaming product. The System Owner includes two professionals following the DevOps principle: one is typically a developer Chapter Lead, while the other works in a systems role.

The System Owner role essentially serves as a traffic cop, ensuring the various Squads don’t clash when working on common parts of the overall application. The release process, documentation, stability, and scalability are some of the other areas of responsibility. Finally, the System Owner works with Spotify’s Chief Architect who handles architectural standards across all applications released by the organization.

Hopefully, this look at Agile Tribes in actions offers some insights for organizing your own company’s software development process. Stay tuned to the Betica Blog for additional news and ideas from the world of software development.

Using “Tribes” to successfully implement Agile

As the Agile software development methodology continues to mature, companies are beginning to leverage new and interesting strategies to implement the concept at their shops. Introducing something as revolutionary as Agile can be a difficult task with older, more entrenched IT teams. Even as the movement celebrates its 15th anniversary this year, it still seems foreign to development teams used to the Waterfall and other traditional methodologies.

Some shops are beginning to organize their development, QA, and business stakeholder teams into groups known as Squads, Tribes, Chapters, and Guilds to better facilitate the collaboration and communication vital for a successful Agile transition. Let’s take a look at this concept to see if it makes sense for your company.

Defining Agile Tribes and Squads

This new method for organizing teams in an Agile shop first evolved at the music streaming company, Spotify. The smallest group in their organizational structure is known as a Squad, led by a Product Owner. They tend to sit together; work closely on the same projects, and typically include developers, testers, and business analysts.

A Tribe is made up of a collection of Squads which share space in a common area. For example, a company’s mobile software development Tribe contains separate Squads responsible for iOS, Android, and other mobile platforms. The Tribe Leader facilitates an environment where each Squad is able to collaborate and share findings with each other, but they aren’t necessarily working on the same projects.

Chapters and Guilds help develop the Individual and the Organization

Chapters are independent entities within the overall structure that group employees based on their actual job duties. Many shops will have a Developer Chapter, QA Chapter, Business Analyst Chapter, and so on. A Chapter Lead essentially serves as the direct manager for everyone in their chapter when it comes to salary reviews, skills development, etc.

Guilds are another, less formal, structure inside the organization that are similar to chapters in that they include employees from different tribes, but are instead focused on specific areas of interest, like web development, Agile coaching, etc. The Guild Coordinator serves as the leader. They support the technical growth of the organization by researching new ideas while sharing found insights, code examples, best practices, and more.

There is a separate operations team for handling network and server administration at Spotify, but enterprises already embracing DevOps can easily include employees in that role into relevant Squads and Tribes. In that scenario, creating Chapters and Guilds specifically for those workers also makes perfect sense.

A Constantly Evolving Structure

Spotify uses quarterly surveys and regular dependency reviews to ensure their organizational structure is successfully meeting the needs of the business. This helps to mitigate any clashes and redundancies between individual Tribes and Squads. Additionally, the scope of daily Scrums is able to expand by including more Squads if required on larger products.

Ultimately, these innovative managerial efforts by Spotify and other firms illustrate how embracing the Agile methodology — albeit combined with the organizational changes more typical of DevOps — lets enterprises reach new heights by fostering a highly efficient software development process.

Come back to the Betica Blog for additional insights from the world of software development.