If this sounds familiar, it is because the desire for a monolithic and comprehensive software solution is timeless and universal. The problem is that this quest is futile, and has been shown repeatedly to fail by large and small organizations.
Politics is usually the reason that a universal solution fails, not technology. Individual departments know their data much better than anyone else, and are justifiably reluctant to give up control.
Change is also the archenemy of the monolithic solution. It takes time to document and implement requirements, and these business needs are subject to change. A fast cycle for implementing changes is a valuable asset for any organization.
Does the quixotic nature of universal solutions mean that no standardization can succeed? No, it turns out that some standards can help you save time in procurement, development, testing and training. The most important standard is to set a technology platform to encourage compatible solutions for your departments.
The best items to standardize are:
- The database. The database is the heart of most solutions. Supporting multiple databases will drive up software and integration costs.
- Workflow engine. If an enterprise can standardize on workflows across departments, many headaches are eliminated.
- Services layer for user interfaces. Multiple interfaces are required, especially for mobile apps, so a standardized approach will save time. The Model View Controller (MVC) architecture decouples the user interface from the data and business rules for better performance and flexibility.