Scrum is currently the most popular way to organize agile development teams. Scrum teams are different from service teams in some important ways. A Scrum team has 5 to 10 people. It is multifunctional, meaning that it includes not only programmers, but experts in design, database, testing, and other functions that are required to deliver a complete feature or story. All of these team members should be co-located.
Building Scrum teams is a lot of work. It starts with the dreaded "culture change." It often requires coaching to explain roles and rituals. It requires moving people around to get a group of more than five in one place, every day. It requires the other parts of the organization to let go of their functional experts so that they can add the "multifunction" capabilities to the Scrum teams. After formation, scrum teams like to work together without team changes for a number of weeks to improve their estimating and get a consistent velocity.
If you have a high-performing Scrum team, you have a valuable asset. You can keep the team together, and use it as a large service team with expanded product management capabilities. However, you will want to make some process changes. Scrum teams make "sprint" plans every two weeks, and then they stop accepting new work. So, their response time is at least two weeks. You want the fast response that you get from a continuous service team.
We frequently see service teams composed of three developers. This is the smallest team where someone can take a vacation. They are often all programmers - a tech lead, and two other developers that can learn to take over the tech lead role. Teams are small so they can be fast and efficient. They do not need to be multifunctional. They can be composed entirely of programmers. In a continuous delivery process, programmers take a strong role. Programmers call on design and test experts when they need them. The operations team provides tools for monitoring, test, and deployment, and programmers use the tools.
Building a service team is as simple as finding a tech lead, and adding collaborators as required.
Size
Composition
Building the team
Self-management
SAFe, or Scaled Agile Framework, is a way of organizing Scrum teams to work on large projects. I will use SAFe as an example, because it matches a naive view of how to apply a traditional hierarchical organization to manage agile releases. Other enterprise management frameworks have a similar structure. You can learn more about SAFe from the wonderful diagram at ScaledAgileFramework.com.
SAFe uses the concepts of hierarchy and cadence to bring order out of chaos.
The hierarchy has three levels: portfolio, program, and project.
SAFe and MAXOS have a similar hierarchy, except that SAFe uses Scrum teams on the bottom level, and MAXOS uses service teams.
SAFe relies heavily on cadence - a shared schedule that synchronizes everyone with a release, and a meeting. Cadence reminds me of the scene in the movie Lord of the Rings, where trolls beat on big drums to keep the orc army marching forward.
Naively, this meeting approach seems like a good idea. It guarantees that the organization will have a fully releasable system at least once every ten weeks. It guarantees that senior management gets a chance to communicate coherently at least once every ten weeks, and it motivates people by explaining the big goals. It guarantees that scrum teams will deliver runnable results every two weeks, and coordinate about the things they need from each other.
However, successful tech companies do NOT hold these big meetings. Why not?
Top level planning
Top level communications
Integration cycle
Dependency management
Team structure
Scrum and SAFe are logical first steps to plan agile releases in a traditional hierarchical organization. However, they are small steps, in a world where competitors make big leaps. Using Scrum and SAFe to compete with a MAXOS organization is not a winning strategy.