Is there a valid alternative to Agile cross-team collaboration, one of the most consequential topics for successfully adopting Agile beyond one team? Should we tackle Agile cross-team collaboration challenges or transcend them?
See also the previous post describing how to make Agile cross-team collaboration frictionless and enjoyable or in one word effective: Agile Cross-Team Collaboration How-Tos.
My gratitude goes to Bas Vodde (co-author of Scaling Lean & Agile Development and Practices for Scaling Lean & Agile Development, and co-creator of LeSS) for engaging in a long and detailed conversation on this topic.
Before Agile went mainstream and the focus on Agile technical practices declined, shared work was widespread and very successful. It was adopted commonly by Agile practitioners where the work involved multiple teams.
Chet Hendrickson (co-author of Extreme Programming Installed) points out that:
Since Agile is simple, a scaled version of Agile should also be that simple, or even simpler. Otherwise, it will no longer be Agile ~ Excerpt from The Nature of Software Development, by Ron Jeffries, 2015
The shared work approach, up until now, seems to be the best incarnation of Chet Hendrickson’s statement. What shared work is then?
Shared work can be summed up in two points:
1) Limiting the number of cross-team dependencies by having each team work across all components and disciplines (analysis, programming, testing, …) Therefore each team has all the necessary knowledge and skills to complete an end-to-end customer-centric feature.
2) Transcending any remaining cross-team dependencies by adopting a shared product code ownership where all the teams can work on any part of the product codebase.
On the opposite side of the shared work spectrum, many organisations end up with knowledge silos. They are created, for example, when an individual or a team picks up a novel problem/task, and afterwards all the other similar problems/tasks get assigned to them because they already know how to handle that work. Managers may let this happen because they believe in the efficiencies of specialisation, and a team may let this happen because individual team members may enjoy the feeling of becoming indispensable while others may enjoy remaining inside their comfort zone.
Each knowledge silo tho’ comes with hidden costs such as the creation of a single point of failure and tight constraints on workload distribution and more in general on work prioritisation and planning. To the point that some organisations end up with more managers handling the constraints than those doing the work. In other organisations, the work becomes blocked or delayed most of the time, and people end up multitasking to the point of minimising their productivity.
Since the beginning, Agile has embodied a major departure from this way of thinking about specialisation. It introduced the concept of generalising specialists, also known as T-shaped professionals that add to the depth of their specialisation the breadth of generalist knowledge in areas mostly adjacent to their specialisation.
The Extreme in Extreme Programming (XP) is meant as pushing the boundaries of one practice to the extreme, to find where it stops being effective, discovering most of the time that is far beyond where we thought it would be. Pushing the generalising specialists to the extreme showed that, in combination with Pairing and Mobbing AKA Ensemble, teams and team members can acquire more knowledge, become proficient in a broader set of skills, and be effective in many more areas far beyond where we would normally have believed.
With shared work, learning happens whenever the knowledge or skills needed to complete an end-to-end customer-centric feature are missing, the level of generalisation is lacking, or one specialisation is missing. Learning happens by pairing or mobbing with teammates, doing the work with other teams, or hiring a new team member. The specialists in the team are encouraged to pair and mentor instead of working in isolation. Teams are encouraged to seek opportunities to work together. Most professionals, after having tried this form of continuous social learning-by-doing on-the-job, its effectiveness and its value, usually don’t want to go back.
In conclusion, teams adopting shared work, in addition to being capable of completing an end-to-end customer-centric feature autonomously, usually are:
In the Agile literature, such teams are commonly referred to as Feature Teams.
(Part 1) Part 2 >>