The scrap heap of software has piles of products that have died, some quickly and some slowly. What consigned these products to their respective demise oftentimes was simply a matter of architecture. Amid the fanfare of slick features and glossy marketing, solid software design is what matters to the day to day user more than they realize. It is the architecture that provides the foundation for ease of use, the quality of the data, the ability to integrate and, most importantly, the ability to adapt to the never-ending pace of technology change.
Having a solid roadmap that has evolved from the c-prompt to the cloud has provided great advantage to our users. Moving from one generation to the next allows data to flow easily and without data loss. Baking features into the application through proper design fundamentals provides features as a byproduct of the design rather than through incremental programming that needs to be recreated and likely changed from version to version. Likewise, good design will manage data easily and reliably so that convenience and accuracy simply happen naturally rather than as an afterthought.
This is not to say that what worked in the past will invariably serve you well in the future. Technology is far too capricious for that. The design must allow for features to be integrated and added with minimal overhead. Over the years, we have managed to add a number of features that proved to be technological dead-ends but, fortunately, without damaging our core approach. Regrettably that is the nature of software.
While adhering to a core design provides many benefits, it requires that the design be respected during the development process. Many times, a more expedient approach might yield a quicker or lower cost result. But in the long run, it is a disservice to both our customers and our products to stray simply for convenience. Good design is not found in budget level software.
The challenge to the software buyer is to understand the influence that exceptional design will have for the application for years to come and spot it early on. Architecture rarely makes the list of must-haves among those evaluating software. One must take a dispassionate look “under the hood” to compare products on this basis. We have seen many evaluations that have missed this the first time. We have a name for those with the wisdom to recognize it the second time. We call them customers.
Our guidance is to pay attention to the important of architecture. It may be mundane and easy to ignore, but you will do so at your own risk.