Technical Due Diligence

“Cape of Good Code has supported us competently in the acquisition of one of our software suppliers. The focus of the cooperation was on the technical due diligence. We were particularly impressed by the DETANGLE Analysis Suite from Cape of Good Code. The convincing and fact-based evaluations of the tool enabled us to identify the potential risks of the software assets to be acquired and thus make informed decisions.”

 Marting Montag, Global Head of Industrial Processes at Atotech Group

 

 

More and more often Technical Due Diligence has to investigate software assets. Software Due Diligence is an examination and evaluation with clear statements on the sustainability and scalability of software assets and the digital readiness of software processes.

Do you want to buy a company the value creation of which is highly dependent on extensive and individualized software? Or do you want to buy a company with software products even? In both cases you would certainly like to assume that their operation and further development are seamless and possible within a normal budget.

Are you looking for an objective and reliable evaluation of the quality of the software and its technological sustainability? Are you interested in whether the developers have developed state-of-the-art methods and write adequate documentation? Do you want to know who the relevant developers of the software are so that you can ensure in the negotiation that they are part of the deal? If you want to get these questions answered we and our Detangle® Software Analysis Suite are the right partner.

The technical software due diligence with DETANGLE® identifies the opportunities and risks for the investor at an early stage in the M&A transaction. The DETANGLE® Analysis Suite can be used as due diligence software by both, target companies that intensively use individualized software for their value creation, or by companies where software is the product. While it is a matter of course at a software company to examine the product software in the context of a Due Diligence, it is still quite unusual to evaluate the applications used in business operations as an asset as part of a Due Diligence.

Software Due Diligence goes beyond IT Due Diligence, but is not a substitute. They need to be done in parallel as part of a Technical Due Diligence investigation.


Contact us for more information on our Software Due Diligence. Contact our partner Gambit GmbH about their IT Due Diligence offering.


What distinguishes DETANGLE® from code analysis?

With the DETANGLE® Software Analysis Suite we analyze the software directly in the code. Development history, maintainability and extensibility are correlated with the bugs and features of the software. This makes it possible to link the priced-in potential of the software with its technical and organizational reality. The results of the DETANGLE® analysis are interpreted by experienced specialists and presented in a software due diligence report. In this way, an investor gains new insights for his purchase decision and its sustainability

We

  • show to what extent software engineering is already prepared or can be prepared for digital business models
  • measure how far the further development of new functionalities is guaranteed without a cost-intensive new start or significant additional effort
  • identify the key players in software development and determine which knowledge holders should be part of the M&A transaction
  • assess whether the software engineering process meets the requirements of an agile development methodology and quality assurance
  • evaluate whether the software documentation is sufficient, or identify and prioritize the gaps in the documentation.

Contact us to obtain the necessary reliability of decisions for a future-proof acquisition based on our Software Due Diligence.


Key take-aways of the Software Due Diligence programs with DETANGLE® :

  • Efficient and minimally invasive measurement of critical software quality criteria for maintainability and extensibility of software assets based on the effort and quality of features in the code instead of a pure code quality analysis
  • Data-based estimation of necessary investments and forecast of expected maintenance expenses due to hidden technical debt of software assets
  • Reliable identification of the knowledge holders of the software and the appropriate distribution of the necessary knowledge in the team
  • Validation of the digital readiness of software development and software processes
  • Interview-based evaluation of the technical trend readiness of software assets by experienced software experts
  • Comparison of the investor’s objectives with the technological possibilities of the target’s software products
  • Verification whether the intended development of a company is possible at all due to the scalability of the individual and success-relevant applications.

Why Software Due Diligence?

“In short, Software is eating the world” (Marc Andreessen)

The importance of software for business success is growing in an increasingly digital business world – software is the backbone of digitalization. Software assets in M&A transactions are becoming more and more relevant for the investor. The scope of a Due Diligence extends accordingly, both by the intensified examination of the self-used Business IT applications, as well as by the manufactured software products. Due to the high technological dynamics of the software assets, it is important to determine whether the architecture is designed in such a way that it can follow the current technological trends and is open to add extensions and new features.

For the investor in software or highly automated companies, the following aspects should be of particular interest when auditing the target company:

  • the maintainability of the software for a largely trouble-free further operation
  • the extensibility of the software with new features and functionalities
  • the interoperability and integration capability of the software assets into the company’s own software product range.
  • the future readiness of the software in terms of scalability, performance and the use of current technologies (e.g. cloud)

 

To a certain extent, software must be open enough to provide answers tomorrow to questions that have not yet been asked today.

Another often neglected aspect of software due diligence is the software development process. From a due diligence point of view it is unimportant whether it is a software company or a company with highly individual software in its business processes. Relevant questions for the software development process are here:

  • Are requirements, features and bugs captured, planned and their code changes recorded in a structured way?
  • Can a new version be technically created, tested and rolled out in the shortest possible time?
  • Can each version be tracked transparently with regard to the planned and actually rolled out features?
  • To what extent is the user integrated into the bug tracking process to ensure timely and comprehensive reporting of the bug?
  • To what extent are update and upgrade mechanisms in the software automated?

Only both fields of investigation, technology and development process, together give an adequate impression of the digital readiness of the target.

In addition, digital business models are fundamentally changing the demands placed on software development. It’s no longer just about optimizing or stabilizing, it’s about innovating. New features and functionalities therefore require an experimental phase at technical and user level before they become an integral part of the software. Due to the dynamic nature of change demands on software and the ever shorter release cycles required as a result, the effort in these phases must be limited. User acceptance should be tested early and continuously and become the most important release criterion. If the feature has a high usage and acceptance rate and has the potential to make the software product more powerful, more stable and/or more user-friendly, additional effort must be made in order to bring the code and its documentation to production-ready quality. In practice, however, the interaction of innovation and customer benefit of features is not used enough in software development.

Please ask for our offer

Are you interested in a software due diligence with DETANGLE®? We need the following information per software product to make you an offer:

  • Type and number of ticketing systems used
  • Type and number of repository systems used
  • Code size (number of code lines)
  • Age of the code in years
  • Number of developers

Please contact us for clarification of questions or to discuss further details for an offering.


 

Unique approach to Software Due Diligence

Making business-relevant technical debt transparent

Professor M. M. Lehman of MIT has established seven experience-based “laws” of software engineering that are still valid today. Two of them are as follows:

«A system must be continually adapted or else it becomes
progressively less capable of satisfying its users.»

«The quality of a system will decline unless it is rigorously
maintained and adapted»

Lehman’s laws

This means that a neglect of software quality leads to ever higher development costs as technical debt. Our software due diligence creates transparency regarding these technical debts and provides answers to the following questions:

  • How far does technical debt already affect the current maintenance costs of the software?
  • What technical debts need to be reduced to ensure the development of new functionality within the normal budget?
  • What are the necessary investments to pay off business-related technical debts?

However, current methods of code quality analysis have the following limitations:

  • The focus of the quality analysis is solely on code, i.e. only a developer-centric perspective is covered
  • There are too many undifferentiated and often irrelevant findings. For example, areas of the code that have not been changed over a long period of time do not necessarily need to be improved.
  • An effective use of the limited quality budget for improvement is not guaranteed to increase the extensibility with new features.

Our DETANGLE® analysis and forecast delivers mission-critical data on the business-relevant basis of product features (their development effort, error density and quality in the code) instead of pure code analysis or subjective estimates of developers, managers and customers. For example, features with high development effort are quickly identified. A DETANGLE® analysis looks at the history of the code in the code repository and correlates it with bugs and features to get business-relevant statements about technical debt.

The KPIs of software development and software management are currently often still limited to the budget and time needed to create the code and possibly also to the quality of the code.

Often this still results in a strict separation of software development from the goals and activities of business development. Instead, software and business development must be integrated along a layer model of product features to develop new features and functionality and to ensure code quality.

Assess the digital readiness of software development

“ … research shows that 80-90% of all R&D effort is allocated to commodity functionality. This means that out of every 10 people in R&D, 8 or 9 work on functionality that no customer cares about.” (Jan Bosch)

Professor Jan Bosch has developed the following three-layer product model for software development in the digital age of platforms and ecosystems:

The features of a software product can be assigned to three layers: the experimental, the differentiation and the commodity layer.

  • Software products are “never-ending” products. New, innovative features have to be evaluated continuously with experiments. First of all, it is uncertain which features are well received by the user and used extensively.
  • Software products have shorter and shorter release cycles. Each release must offer new, differentiating features that provide competitive advantages over the competition.
  • Basic or mandatory features are taken for granted by customers and are offered by competitors in the same way.

Professor Jan Bosch draws the following conclusions for software development:

  • The expenditure in the commodity area should amount to a maximum of about 20%. The best way to cover this area is to use software supplied by third parties.
  • The highest effort and a very good quality should be available for differentiating features.
  • 10-20% of the effort should be spent on experiments with new features or extensions.

Our Software Due Diligence assesses the digital readiness of the software development based on the following questions:

  • To what extent does controlling and quality management take place based on features ? Can the effort and quality of experimental versus differentiating features be measured?
    • e.g. experimental features can be implemented “quick and dirty”
    • whereas differentiating features may require a high effort and must be implemented in the code in a maintainable and extendable way with high quality.
  • Is the usage rate of features measured in order to establish an effective change management?
  • How good is the software process quality to ensure controlling, quality and change management based on features?
  • How good is the technical infrastructure to manage a quick delivery of new features and new versions?

Identify Knowledge Risks

A further focus of our Software Due Diligence by using the DETANGLE® Analysis Suite is the examination of the risks in the distribution of knowledge for the creation of software:

  • Who are the key people having created the code?
  • How good is the knowledge distribution in the development team in relation to the code?
  • How well is the code base documented to cope with possible departures of developers and to facilitate the induction of new developers?

Evaluate future readiness of the software assets

Finally, we conduct interviews to clarify questions about the future readiness of the software assets:

  • What is the scalability and performance of the software in terms of new customers, market segments, market trends?
  • Is down/up-sizing possible for new market segments?
  • What is the current status of software technologies in use? How far is a transition or integration of new technologies possible?