Custom Database Development
Web Development, Application Development, web application
Simple Databases May Evolve Into Sophisticated Ones
Most database applications start from the bottom of the pyramid. Someone creates a spreadsheet or small database, finds it useful and shares it with a few people. They like it and more features are added. More and more people rely on the system, and over time, the simple solution that someone created for their personal use becomes mission critical for the department or enterprise.
Hardware Also Evolves
The types of business (database) problems an organization faces remain fairly static over time compared to the hardware gains following Moore’s Law. Problems that required mainframe solutions two decades ago now run comfortably on laptops. When it comes to performance, time is on the side of the solutions at the bottom of the pyramid. Over time, more and more database challenges are solved by that segment, while the top of the pyramid goes after problems that were previously beyond the reach of computing or budgets.
Evolution is Unpredictable
It would of course be better and cheaper to develop the mission critical applications of tomorrow correctly today, but that’s usually not possible. It’s very difficult to predict which of the multitude of small databases today will become mission critical applications years from now. What’s created or envisioned today for those databases, may not be what’s needed in the future or what makes them mission critical later. An organization’s requirements evolve over time, and its infrastructure does too. It’s the evolution of the databases themselves that make them mission critical, not the original vision of the author.
Successful databases evolve over time. A good IT strategy embraces, not fights, this natural trend. Anticipating the transition is part of a successful database strategy. That means preparing for times when applications need to migrate to new platforms or be completely re-written.
When these occur, one should not blame the existing platform, but rather celebrate the success of the organization and the system that took it to the next level. The existing system should be considered a great prototype for the next system since the business needs are well defined and users accept it. This significantly reduces the risk of the new system in a world where expensive systems are never delivered or built or fulfill a fraction of their original intent.
The transition is also an ideal opportunity to add new features and “clean up” the system since after many years and enhancements, many original assumptions were wrong. This need would probably exist even if the system were created on the more sophisticated platform originally. However, it may not have evolved as quickly in that environment, so one may never know if it would have been as successful
, web application
, Web Development