Software Rescue Vs Rewrite Analysis Worksheet
Software Rescue vs Rewrite Analysis Worksheet
Download Software Rescue vs Rewrite Analysis Worksheet
Our worksheet provides a step-by-step decision matrix to work through to ensure you have all the right information to make informed and risk-managed solutions.
Types Of Custom Software Impacted
Critical business software usually falls into one of the following categories:
Need annual maintenance due to updates from Apple and Google.
Customer or Internal Web Portals
Need periodic enhancements and may need changes when other internal systems such as MRP and ERP Systems are upgraded.
Internal applications developed by Staff
Internal applications developed by Staff using Word and Excel are critical to business operations as they form a part of day-to-day business processes (see examples).
As a result, IT staff may not even be aware that this software exists as it is not normally viewed as “Software”.
Third-Party developed software
need periodic updates for similar reasons to the above. The Software Business may no longer exist or is no longer willing to provide their services for the technology they initially used.
The recurring theme is that as technology and requirements of a business change over time, the custom software must keep pace.
The Process To Determine How To Restore Capabilities Provided By The Custom Software
The following is a process that will help you use a logical set of questions to determine the best way forward with your custom software and whether it is best to:
- Rebuild from scratch
- Replace with a commercial application now available
- Restore and re-platform for extended use.
The decision making process needs to consider what is possible and the cost. Softlogic Solutions has been working with custom software solutions for many years. Our focus is on custom software that has become dated, and the knowledge to maintain and run the program has been lost.
Our process takes the path of capturing all the information needed for our clients to make an informed decision, and has been tested over the years, ensuring that businesses can make future-forward decisions.
It has seven steps as follows:
- Assessing the technology
- Understanding what the software does
- Revisiting your goals for the custom software
- Determining if you have the source code
- Assessing the Structure of the Software and what can be reused
- Understanding a market review for an off-the-shelf solution
- Assessing vendor options for rebuilding.
Read on to understand more on each of these steps, or jump forward to our comprehensive worksheet that will step you through the process of making a sound decision on how best to recover or replace the custom software.
Download Our Software Rescue, Reuse VS Rewrite Worksheet
A Sound Process For Determining Best Way Forward
1. Assess The Technology, Is It Outdated?
The first step in determining whether to rescue or rewrite the software is to understand whether the technology used is robust and maintained technology. Unfortunately, there are many “fads” in the software space, in addition to the “main-stay” technologies.
For example, most Microsoft technologies have been maintainable for 10-15 years, whereas a technology such as Flash from Adobe was a poor choice for software development; it was more of a fad.
Fads come and go. For example, last year, it might have been Angular JS for Web Development, then it was REACT JS, now it is Vue. JS. The key point is that it can be difficult to find software developers who are conversant in the specific technologies or willing to work with your technology as time goes by.
The next consideration is whether the software’s design and layering have been well thought out so that the business logic is centrally located and encapsulated in what is known as an Application Programming Interface (API). Again, if the design and layering are done well, this will significantly extend the lifespan of the software. Fortunately, for the last 10-15 years, most developers have been familiar with this and should position your software for reuse.
2. Understanding The Custom Software And What It Does?
Understanding what the software does is essential to help guide your decision. To do this, you will need to reverse engineer your custom software to identify a set of specifications.
This step will also help you understand whether you have any IP in the software and how complex its inner working is, so that you can take this into account as part of the risks associated with rewriting the software. Again, this may not be something you can do internally, but a suitable contractor will review and provide a detailed report detailing the software’s functionality and any hidden IP in the software.
This report is necessary so you can obtain quotes and estimates to replace the software or, if the technology allows, costs to maintain and reuse strategy.
3. Revisit Your Goal For The Custom Software
Once you have established the software’s full functionality and documented the IP held within the software, it is essential to revisit your goals. In the beginning, most businesses are looking to establish a well thought out business case on whether to restore or rebuild their custom software.
However, re-establishing an understanding of the software often leads to a change in goals. This is often due to not understanding the extent of what the software did, the importance to the business’s operations, or the tasks’ complexity, particularly when replacing ‘manual’ intervention.
Assessment of the IP revealed and putting a market value on this can also lead to discussions on new products or processes that can be commercialised beyond the organisation.
This discussion, held in the context of the funding available to help ‘innovation’ in Australia (see article on Innovation in Australia), can drive new goals to be set.
Read more about IP held within custom software projects leading to innovation projects under the R&D Tax Incentive Scheme
4. Do you have the source code?
To consider rescuing the software, you need to start with the basics. Do you have the source code? What will it cost to get access to it?
If the software was developed in-house, the source code could be stored on a CD or DVD archive, a folder on the server, or a GitHub or similar cloud repository.
On the other hand, if the software was developed by an Independent Software Development (ISD) Contractor, the source code may be available, but you may not own any or portions of it. Referring back to the original software development project contract and what is stated regarding the delivery of the source code will reveal your options. If the source code is unavailable, or the ISD is no longer willing or unavailable to make changes and maintain the software, then the steps to retrieve the source code will be stipulated. In some circumstances other avenues may be possible, however, an expert may be needed to determine what is possible.
Finally, for Excel, Word and Access databases, the source code is in the files. It may take some effort to understand it, but it is available.
5. Assess The structure of the software and what can be reused?
The concept of reuse relates to the ability to leave a portion of the software solution “as-is” and incorporate it into newer solutions or be allowed to continue to operate. In contrast, new features or functions may be added.
An example, you may have critical custom software that integrates your ordering website with the manufacturing systems, and new requirements have been identified where it is important to show customers the progress of their orders.
If the initial solution is well designed, this analysis will reveal that the information regarding order progress may be easily retrieved with a slight modification, and the data can be made available to a new customer portal. This would be a quick and cost-effective solution.
6. Do A Make Or Buy Review
Often overlooked is the possibility that since the original system was implemented, an off-the-shelf solution may now be available. It may also be possible that your original or another software vendor may have built a module that incorporates the features you need. So it is important to review these before proceeding.
7. Assess Vendor Options For Rebuilding
When interviewing software companies to assist you with determining whether the software technology is truly “outdated”, it is important to ascertain the skill level and motivations of the software company. Many software companies are inclined towards new technologies and would prefer to rewrite the software rather than take the time to reuse the existing software. The motivations for this will range from the potential for a significant new project, lack of internal skills available for the older technologies or even a view to creating a new product opportunity using your project as the test case.
Understanding motivations is essential and should be viewed in the context of your risk matrix.
There is also the project risk of initial cost estimates not being met. Unfortunately, 66%* of a software project runs over budget and time for most custom software projects. (Resource – Mckinsey)
On the flip side, being able to locate a Software Maintenance business that knows how to rescue and maintain critical business systems is essential to the decision to rebuild or restore.
It may be prudent to seek a provider who can be neutral and guide you through this process so that the decision-making process can be properly investigated based on a complete understanding of the technologies involved.
The Worksheet, Making the decision
We are offering a detailed worksheet to help you work through the outlined process. In addition, it will help guide you to determine the best option in your situation.
Please fill in the following form to download the worksheet.
If you would like the assistance of a custom software maintenance company experienced in recovering and rebuilding mission-critical custom software, please get in touch with us at email@example.com. We can offer both software assessment and business case support and recovery and rebuild services.
Let's discuss your specific situation
What Our Customers Have To Say
George has systematized his successful process for maintaining compliance records into a framework that was easy for us to adapt and apply to our way of working.
With plenty of high profile businesses being audited and found coming up short due to record keeping, we are now sleeping easy that we will not be one of them.
0403 398 807 – Phone Softlogic Solutions to find out more about R&D Tax