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 (authors of "Built
to Last") 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 businesses
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.