Keep Fixing vs. Rewrite: The Dilemma of When to Replace Your Custom Database Application
You worked closely with the designers to be sure your company’s custom database application would achieve your vision for your company. You brought in your best employees to contribute ideas and learn the ins and outs of using the software. You invested time, money, and resources. You expected the solution to last for years – maybe forever.
photo credit: bildungskatastrophe
via photopin cc
Recently you’ve noticed that people are creating “stealth systems” – usually spreadsheets – to work around the Good Old System, and you ask why?
Everybody loves creative solutions, but building your business on workarounds can be counter-productive.
Does your system look a little outdated but still meets all of your business needs, or does its shoddy appearance match its lack of functionality?
Why Do People Create Workarounds?
Consider these scenarios:
- You need ‘what if’ analysis, and the Good Old System can’t do it.
- An employee has to take the information from the Good Old System and combine it with up-to-the-minute data pulled from the web to answer your questions.
- Another employee works from home at night and has to save the work in Excel and copy it into the Good Old System the next day.
Instead of giving you a competitive advantage, the Good Old System is hurting productivity by causing duplicate entry of information, and some of your key business data resides in spreadsheets and may never be part of your primary business application.
Is it time for a rewrite or can your Good Old System be updated to address your current needs?
Keep Your Existing System or Rewrite?
If you answer Yes to at least 5 of the following questions, you can probably update your existing system and avoid a rewrite.
- Do you have the complete source code for your system?
- Does your system collect the right information and present it to you in a way that meets at least 80% of your business needs?
- Does your system reliably and consistently save your data? (you’re not losing data)
- Is your system accessible from outside the office?
- Is your system fast enough to meet your business needs?
- If you need to consolidate your data with information outside the application, can you do it easily? Is the software used to write your system, such as Microsoft C#, VB.NET, PHP, or Java, still supported?
- Does the information you use to make business decisions come primarily from your system? For example, It doesn’t come out of spreadsheets or small, departmental systems.
- Can you add new products, services, or other key information without calling a programmer?
- Do you get information out of your system in a timely manner? For example, you don’t have to wait weeks to get your month or year-end reports.
If you answered No or I Don’t Know to 5 or more questions, you may want to talk with your IT team or trusted software partner about where your current system fails to meet your business needs.
At DragonPoint Software, we offer quality support for existing systems. We’ve been asked many times over the past 25 years to maintain or enhance software written by others. We have recommended a rewrite for only a handful of them. Here are some examples:
- The only programmer for the system died. Two of our clients came to us when their only programmer for their primary business system passed away in the middle of an update. There was no source control, no task list, and no indication about what was being changed. There were multiple versions of the source code and the database, and no indication which version was correct.
- The system periodically lost random data. For months it would seem to work correctly, and then someone would notice that the system thought there were 5,000 of an item in stock, when the actual inventory was 100. Without historical transaction data, we had no way to determine why the system occasionally “lost” products.
- There really wasn’t a system. Management was making decisions based on disjointed information pulled from a group of small disconnected systems and large spreadsheets. Each department entered its own information, creating many opportunities for data entry errors and causing reports and counts to vary from one department to another.
The decision of whether to create a new software application or to continue to maintain a legacy system is not an easy one. It may feel like you’re abandoning something into which you’ve invested lots of time and money, but ultimately your decision has to be made based on facts, with a focus on your long term goals for your business.
DragonPoint Software frequently assumes responsibility for Microsoft .NET custom database applications written by others. We understand that software is an important business asset. We work with you to get the most from your investment by stretching your system’s life and extending its capability by adding new functionality and enhancements. Call our headquarters in Florida at 321-631-0657 for more information on how we can help your company.