The necessary resources and expert knowledge for the evaluation and analysis of software often lack the necessary resources and expertise in a company. In order to make a decision as to whether certain software is worth a specified amount or effort, functionalities and requirements, size and complexity, technical and functional guilt, and technology and architecture must be evaluated. Based on the analysis, mergers & acquisitions, make or buy decisions and decisions between new and advanced development can achieve cost savings of tens of times the original consulting costs. To this end, the following questions need to be examined, among others:
- To what extent does the software cover the functional requirements?
- How much technical guilt is involved in the software to be taken over?
- Is the architecture and technology of the software sustainable?
- How much additional effort does the functional and technical gap mean?
- Would it be more advantageous to develop the software yourself than to buy it?
Procedure and methods of analysis
The experts at ReqPOOL use so-called reverse engineering as a basis for the analysis. The starting point for the analysis is therefore the source code of the software. In doing so, ReqPOOL’s own existing tools for code analysis are adapted and further developed. Tools available on the market are also used to get an extensive picture of the software. The tools can be used to analyze the functions, technical guilt, mathematical formulas and function points of the software. Static code analyses and manual analyses are carried out if necessary. Manual analysis checks the architecture of the software. In this context, it can be assessed whether the technologies used are promising for the future. In addition, expert interviews are conducted to collect requirements and functions. This can be used to identify the gap between requests and deployed functions. By focusing on the software itself, support from ReqPOOL means minimal effort and communication effort for the customer, as most of the information required can be obtained directly from the source code.
Results and objectives
The results of the analyses are prepared and recorded in a report. The final report shows the implementation gap, i.e. the gap between functionality and requirements. Based on this, the costs for the further development of the desired functionalities can be calculated. The technical guilt of the software is also included in this report. By comparing it with other projects as part of a Function Point analysis, a benchmark with comparable software can be performed for the software, which makes the size and complexity clear. In addition, the architecture of the software is evaluated. Particular emphasis is placed on the technologies used. These are evaluated in terms of whether the technologies used are sustainable and can be used for further projects.
Based on this report, ReqPOOL can make recommendations for make or buy decisions as well as decisions between new and further development. In addition, the knowledge gained enables a negotiating lever for M&A and software purchasing, through which savings in many times the original consulting costs are achieved.
The following is an overview of selected references in the areas of development, documentation, reverse engineering and recommendation of solution proposals:
- Tool-supported documentation of a leasing system at a large German automotive finance service provider
- Pilots for tool-assisted documentation of a credit system at a large German automotive finance service provider
- Software analysis at a large German telecommunications company
- Measurement and collection of technical liability for the software portfolio of an Austrian industrial company
- Efficient and proper documentation of an continuously developed software for an Austrian authority
- Size estimation of a software and identification of the development delivery gap for a large German authority