Scrum is a style of Agile software development that has become very popular. However, like its namesake in Rugby, the development methodology depends on the ideal that the team is at its greatest power when it moves ahead together as a unit: a scrum.
“Scrum relies on a self-organizing, cross-functional team. … The team is cross-functional so that everyone necessary to take a feature from idea to implementation is involved.” (Mountain Goat Software)
It’s a hard transition for some organizations to assemble a team that can operate in a scrum. If you are lucky, the management has already decided upon Scrum and is ready to assemble a cross-functional team. However, if that is not the case, it will be up to you, my fellow agilist, to advocate. The concept of Scrum is generally not enough to convince someone new to the ideals. More often than not, the first team includes only application developers. It takes time to get buy-in that the team really does need a database guy AND a solutions architect AND a QA person.
I’ve found the best way to bring everyone into alignment is to carefully warn about the possible side effects of not having a cross functional team, continue to work as hard as possible, and see how it goes. What seems to happen is that the team begins to feel the void where a function is missing. Let the team decide what it needs. I always recommend having the outcomes/goals of your retrospective posted and available for all, including the leadership of the company, to see. If one of the outcomes of the team’s discussions is the need for a more cross-functional team or an additional team member, use that information to bring it to the management’s attention.
Letting the team decide what it needs is important in all changes. Only the team knows what it needs and what it’s comfortable changing. The team will determine the right mix of functions to create the perfect cross-functional team.