For the last few years I have been hearing one basic question with increasing frequency, "How do we scale Agile?" More specifically, how do we scale agile product development for a single product across more than a handful of teams?
I can't help but wonder if we should instead be asking ourselves a different question all together: Should we scale Agile?
What Agile frameworks like Scrum point out is that it can be incredibly difficult to scale development beyond a couple teams. This has nothing to do with an inherent inadequacy of Scrum, it has to do with the fact that the communication overhead required to coordinate the activities of multiple teams increases at an exponential rate. The percentage of investment dedicated to coordination continues to rise with each additional team involved in an effort.
Maybe the first question to answer when considering how many teams to dedicate to a product is: Is increasing the size and complexity of this software development effort worth the additional value we will create for users of our software?
I have seen scarce few examples of massive development efforts that create a level of value commensurate with the size of the team building it. But maybe I just haven't been looking in the right places. What do you think?
Update 8/23/2013: Just discovered Martin Fowler's opinion (at least in 2003) about the same matter at http://martinfowler.com/articles/canScaling.html. Reminded that I need to spend even more time on his site! It is a truly great resource.
1 day ago