It’s taken more than 10 years, but I finally got it through my thick skull:
A design is only as good as the potential for it to be put it into practice.
I tend to come up with extremely elegant, agile and extensible designs. What I’ve learned, however, is that not everyone sees the elegance of the design as quickly as I do. They either are unable to see the value because of lack of experience or because other pressures are forcing them to limit their attention span to produce less elegant solutions faster even if they might incur the cost of having to be re-designed at a future point in time.
While I am glad to finally be able to accept this truth, it is a bit disheartening, because it means that most businesses are truly limited in its ability to apply technology effectively to their business problems. However, accepting this postulate means that now I can focus my attention on how to help them injure themselves the least. Most importantly, I learned that sometimes, we have to change the requirements because we cannot change the people or the tools.
Hence my new postulate:
Faster, Cheaper, Better — Pick any 2
People, Tools, Elegance — Pick any 2