As the diversity of software organizational structures I’ve worked with grows, I become more convinced of the futility of limited, localized implementations of typically effective processes, e.g., Scrum, Crystal, XP.
Each organization has a different root cause for this constriction of throughput, but the situation can be generalized: dysfunction of a larger organization is generally stable enough to seek and successfully to return to its original—via compensation elsewhere or direct counteraction—any time a team increases it locally.
There are benefits to applying good process to individual teams, or even one team, but the benefits neither extend to organizations’ profit or customers’ return on investment; they’re limited to the well-being of the teams.
There isn’t a good solution to this—good in the sense of being usable by the same people who’d start to implement high-throughput processes on the line—rather, recognize that localized success in mediocre company cannot, sustainably, reach the customer and if we want to, we have to find a way to go beyond the line to increase companies’ tolerance for throughput.