Why? Because the very nature of specialists will create conflict that is counter-productive to Agile development.
- Building of functional excellence by having each person execute a narrow set of tasks with great efficiency.
- An identification of work through a narrow lens of a job title or job description.
- People to play multiple roles and work together interchangeably.
- Identification with the output of the team’s work.
A focus on specialization will drive teams to task out work to accommodate each person’s specialty, leading to productivity problems.
Specialization tends to drive a pre-assignment of tasks, tasks that will be worked in isolation by specialists. This will reduce –if not eliminate – the strong collaboration that Agile teams find advantageous. Specialization and pre-assignment of tasks can create bottlenecks in cases where there is a lot of work is waiting on the specialist. In other cases where there really isn’t enough work for the specialist to perform, specialists have a strong preference and tendency to reach deeper into backlogs for work that meets their specialty instead of helping the team complete its current work.
Agile development is all about embracing change, and there is a very real possibility that some items in the backlog (and not yet been taken on by a team) will not actually see the light of day. Reaching into the backlog can create waste because priorities can and will change.
Specialists also introduce more hand-offs between members of the team, reducing efficiency because more time is occupied in the act of “knowledge transfers.” This can drive teams towards more formalized, documented mechanisms for passing the work through multiple people, leading to less conversation and more time creating documentation whose only purpose in life is to “facilitate” the hand-off.
Specialists should be leveraged by teams of generalists. Good, generalizing-specialists on Agile teams increase their productivity through a real-time sharing of their understanding and knowledge along with full collaboration in the performance of the work itself. The collective intelligence applied to the work (and limiting the amount of work in process at any one time) reduces the time is takes to complete any one User Story while increasing the quality of the final product in terms of design and quality, providing significant long-term productivity gains.