04 October 2024
Software Economics Fundamentals: Why Investors Should Care
6 minutes read
Written by: Jasper Geurts
Investing in companies that build custom software without applying Software Economics is like ignoring the cat in Schrödinger‘s hypothetical box. The cat, or in this case, the code, is simultaneously dead and alive until observed. Especially when a company’s proprietary solution is the key value driver, the intellectual property —software code— is tricky to assess. However, skipping a thorough code analysis can turn promising investments into financial disasters. In my experience performing numerous tech due diligence projects, you should assume at least some code is in (real) bad shape. But which part, and how does that affect your investment thesis?
Buying software = buying code
Applying software economics is key for tech leaders or investors looking to leverage software for value creation. In essence, software economics highlights how to optimize software design, development, and evolution. It can shape business strategies, drive value creation, and impact future development costs. For investors, it is crucial to get an accurate understanding of the value of the foundations of software assets, source code, and estimated maintenance costs.
During my nearly 10-year tenure at Software Improvement Group (SIG), I have assessed hundreds of custom enterprise software solutions, most in a Mergers and Acquisitions (M&A) setting. I saw software investments driving tremendous growth but also witnessed disappointing failure due to a lack of thorough understanding of technical details, often hidden deep in source code. In this article series (I intend to write five more), I will unpack the ins and outs of technical value and debt and its big impact on profits. I will share insights to equip investors with the knowledge to make smarter choices about their software investments.
Before we get into it, I want to separate Commercial-Off-The-Shelf (COTS) software from customer-proprietary software. Although COTS deserves to be part of this discussion, it’s a known cost. After all, its development and maintenance are often handled by the commercial vendor. Therefore, this article will focus on custom software.
Exploring the Fundamentals of Software Economics
Software economics is more than just a sophisticated term; it represents a deep understanding of how economic principles directly apply to software engineering projects. It helps in crafting business strategies and illustrates the significant value that software projects bring to an organization.
- Key fundamentals of software economics include:
- Cost Estimation: Predicting the financial resources required for a project.
- Value Delivery: Ensuring the software provides significant benefits to its users.
- Risk Management: Identifying and mitigating potential issues that could impact the project.
- Resources: Distributing available resources to maximize efficient production.
- Quality Assurance: Maintaining high standards of software performance, security, and reliability.
Understanding the cost structures inherent in software development is essential for accurately setting budgets and allocating resources effectively. The costs involved in software development can be broadly categorized into:
- Direct Costs: These are expenses directly linked to the software development process, like salaries for software engineers, designers, project managers, and licensing fees for software tools and platforms, as well as costs for servers, computers, and other necessary hardware.
- Indirect Costs: These support the development process indirectly and include office space, utilities, employee training on new technologies, and support services like legal, HR, and administrative functions.
- Unforeseen Costs: These unforeseen expenses can arise during development, such as bug fixes, updates, downtime costs, and additional expenses from changes in project scope or requirements.
However, an unforeseen cost significantly impacting future scalability is interest paid on (cue dramatic music) Technical Debt.
Exploring the Metaphor of Technical Debt
Technical debt involves trade-offs in software development when shortcuts are taken on code quality for immediate needs. This debt can be intentional, delaying improvements for strategic reasons, or unintentional, from lack of knowledge, poor design, or evolving tech standards and business needs. In a recent article by the Wall Street Journal, the total ‘invisible’ technical debt was valuated at $1.52 trillion. That’s a lot. Like financial debt, technical debt accumulates interest — extra effort later due to earlier compromises. Employing financial debt wisely can fuel the growth of a business, and similarly, technical debt can expedite development, but if it spirals out of control, it can severely hinder progress. The big difference though, is that financial debt often needs to be paid back eventually, whereas technical debt doesn’t. Actually, most of it can be left alone. The tricky bit is which part?
To manage technical debt effectively, tech leaders and developers need to balance short-term benefits with long-term sustainability. This means making smart choices about when to take on technical debt and committing to pay it off promptly by fixing inefficient code and potential vulnerabilities. Ever since Ward Cunningham introduced the term “technical debt” in 1992, the concept has expanded well beyond code quality issues, making the discussion even more interesting. In my webinar with Charlie Betz from Forrester, we discussed many forms of technical debt, which I will cover in my next article. I will also make sure to address the elephant in the room: AI and its remarkable ability to fix these types of problems, eventually, or will it?
Making the Intangible, Tangible
For investors interested in putting their money in companies that have a lot of software, the intangible nature of software poses unique challenges. Intangible assets, unlike their physical counterparts, don’t have a tangible form and are meant for long-term use. Often tied to intellectual property, their valuation can be tricky because future gains are unpredictable.
In contrast, tangible assets include physical, measurable items like real estate and machinery that a company uses daily. These differences underscore the unique nature and valuation challenges of intangible assets within a company’s asset portfolio. However, according to the accounting standards:
“Entities should capitalize the cost of software when such software meets the criteria for general property, plant, and equipment (PP&E). General PP&E is any property, plant, and equipment used in providing goods and services.” – Federal Accounting Standards Advisory Board
Despite not being physically tangible, software’s true value lies in its ability to drive business models and contribute to organizational success. Hence, gaining a robust understanding of software economics is paramount for making strategic investment decisions in software. So, we also have to address the ‘monetary interest’ of technical debt.
Evaluating the worth of software assets involves a thorough investigation into the “black box” of software creation, examining code quality, and assessing how effectively the development team manages technical debt. Grasping these elements is crucial for determining how much a software product supports the business model and contributes to financial success. This in-depth analysis reveals the hidden value of software, highlighting its economic impact and demonstrating its strategic importance.
Concluding Thoughts: The Broader Picture
Software economics goes beyond cost analysis; it’s about boosting value and making strategic choices that lead to software that’s not just functional but also scalable, profitable, and resilient against future challenges. For investors, mastering software economics is essential to prevent buying a future money pit. A business may be performing well today, boosting its multiples, but how well is it protected for future change and the investor’s intentions with the software? In conclusion, Schrödinger’s Cat is both dead and alive until you open the box. My point is that in contrast to a dead cat, software riddled with technical debt can be given new life with the right tactics, so open the box. I will get into specifics in my next article.
SIG helps businesses improve the software they depend on by harnessing advanced software economics, our software intelligence platform Sigrid®, and proven software quality models. We contribute to the industry through academic research, benchmarking, and creating new frameworks like ISO/IEC 5338 standard on AI engineering. To learn more, contact me, or take a look at https://www.softwareimprovementgroup.com.
Author:
Jasper Geurts
Managing Director of SIG Americas
Let’s keep in touch
We'll keep you posted on the latest news, events, and publications.