Manish has spent years studying this question. Executives, managers and engineers are methodically trained analytical thinkers. They leverage that training to solve complex problems and deliver highly scalable, performant software that makes their customers' lives demonstrably better. And yet, the very same people fail to make their own lives better — the pains of a large-scale software development process they design for themselves persist, and often grow.
This is more paradoxical than it sounds. The growing pain exists despite the adoption of the best tools, the best practices and the best ways of working. Agile. Scaled Agile. Large Scale Scrum. DevOps. Lean. A long list of modern methodologies. Teams learn them, adopt them, measure them — and still struggle.
Why is large-scale product and software development so difficult and painful to manage? Why do smart technologists, who are complex analytical problem solvers by trade, fail to address the dysfunctions they experience in their own daily work?