I've been reading Built to Last by Jim Collins and Jerry Porras. The authors conducted painstaking research into many large companies which have lasted a long time - more than 50 years - and extracted out in an abstract form the common themes which these businesses have used to be successful. I'll talk more about the many themes in the book at a later date but tonight I'd like to talk about just one - "The Tyranny of the OR".
In software engineering, we have been brought up with the notion that there are three main constraints - quality (good), time to market or schedule (fast), or the cost - resources allocated to the project (cheap). It has been widely written that a business must choose 2 - "Good, Fast, Cheap - Pick Two" - and sacrifice the other to gain the chosen two e.g. good quality, low cost (small resources), with a long, slow schedule. This is manifestation of what Collins and Porras have termed "The Tyranny of the OR". That is to say that you can have good and fast, OR good and cheap, OR fast and cheap, but critically not all three.
Collins and Porras point out that companies which are built to last do not accept the "The Tyranny of the OR" but instead embrace "The Genius of the AND". These business simply refuse to accept that it is not possible to do it all.
The Agile software community and the Agile Manifesto declare a belief in "The Genius of the AND". Agile software development is all about having it all - good quality through rigorous testing, reviewing, and learning - fast speed through face-to-face communication, less bureaucracy and more tacit knowledge - low cost through small teams of empowered generalist developers.
50 years from now, the companies that were built to last in this decade will have demonstrated that they refused to be intimidated by "The Tyranny of the OR", but rather believed in "The Genius of the AND" and by doing so embraced Agile software development as a key strategy in having it all.