Over time, an organization’s software landscape grows, ages, and stales—if not entirely incompatible. And ignoring your software value streams in this manner can become a risk for the business.
This is a real scenario facing many businesses whether they like it or not. It is something that happens over time and difficult to control.
In this article, we share how to rediscover your solutions by taking a close look at your software value streams, how to qualify them, and how to make decisions on what their future should be.
A short history of Software and the Internet
First, let’s take a moment to recognize the short time period software has been present. The first business computer applications were seen throughout the 70s and 80s, albeit they were far from what we know today. Secondly, the internet really broke through from the 1980s to 2004 (Wikipedia).
Keeping that in mind, the average lifespan of software is estimated at 6-10 years. We still see Windows NT servers and alike out there, underpinning the fact that solutions exist for many more years than anticipated. Often because they are running systems that cannot easily be replaced either due to cost or business criticality, but also sometimes due to simple neglect.
Implications
While past investments in software have moved the business forward and helped productivity, there are caveats to running old software.
Looking back a decade, a multitude of security vulnerabilities have been discovered, patched, and so forth. In the case legacy software is not kept up to date, it might be of considerable risk to the business. This is also amplified by increased connectivity and an increase of attack vectors since programming.
Carving Out Software Value Streams
From the complicated software landscape your company may have, it’s worthwhile to identify and reinforce your software value streams.
This is significant, as your focus should really be on “Key” activities. This often becomes blurred in personal opinions and preferences, rather than focused on what creates value.
The word “Key” is emphasized as it is as much about making decisions on what is creating value, as much as deciding what is contributing or “Key” to the business. The purpose is to ensure that the software or IT you focus on is worth the attention and leverages your business.
If you are unfamiliar with software value streams, I recommend reading this post first.
Assess Business Criticality and Impact
Decide what software you are using and how it impacts your business. As mentioned in the previous part, it’s important to identify Core Software.
In our work, we differentiate between three types of software in companies:
Core Software
Software that provides a (unique) competitive advantage in your business.
Some examples:
- Warehouse logistics providing faster time to market and lower than competitors cost of providing customers with goods
- Specialized software providing unique calculations that cannot be replicated
Secondary Software
Software that provides hard to replicate capabilities to the organization.
We often find custom integrations between different systems in the organization in this category. Most likely it’s built on a technology platform such as Bizz Talk or similar. Worst case it is spreadsheets or custom-developed software, which may be hard to maintain and sustain going forward.
Tertiary Software
Items that do not provide any competitive advantages but provide convenience.
Tertiary Software is easily replaced by other solutions that are comparable. This could, for instance, be alarm systems, door locks, and so forth. It could also be office applications that are available in multiple brands and product lines. An obvious example is PowerPoint and its equals in other vendors’ portfolios.
Deciding on what is Core and not Core
We strongly recommend a series of workshops where different systems and software solutions are discussed.
First, the overview is sorted in terms of what they provide between the three categories. Though Tertiary Software solutions are often simple, their impact must not be underestimated.
Secondly, a further assessment should be made between Secondary and Core software. Often this will yield a list of items that need to be faced.
Understanding the Unique Selling Points of your product or offering is required. You may produce something which is similar to other products out there, but a select set of parameters most likely drives your sales.
What Should be Part of Your Software Value Stream?
Fleshing out the details of Core Software might be slightly challenging.
We always aim to provide customers with a full solution defined by “A Unique Compelling Solution satisfying a specific need of a market space.” This must be seen in the context of a strategy development track. Choosing your Core Software will be deciding for future investments and the direction the company will go. At times, this may even redefine the entire company direction and structure.
Engineering-wise you will have to revisit your architecture and define what constitutes the product. You will also need to assess your organizational layout. A great way to execute this is to use Conways Law in reverse and define your team structure based on communication needs.
Another approach to enable the value stream is to use Leavitt’s Diamond, or another similarly balanced approach, to realign the organization.
Further Considerations
While deciding on the Core of your value stream and the supporting solutions, you will also want to consider the following points related to the rest of your portfolio:
- Do we still have competencies to maintain?
- Are there significant security risks due to programming in a different “age”?
- Bindings to external libraries that are unsupported?
- Is the software protected against HW breakdowns?
- Has the risk been recently re-assessed in the context of the current operating model?
If any of these topics stick out, it’s time to consider if those solutions either can be
entirely removed or newer less risky alternatives exist.
In this post, we will not go into how to maintain your portfolio in detail. But if you want to know how to optimize your value stream, I recommend reading this article.
Final Words
Carving out your Core Software from the mass of systems developed and installed over time is a tough task. It requires an in-depth overview and understanding from both a business and an engineering perspective.
However, not doing so may lead to catastrophic business failure or loss of market shares to competitors who serve customers better.
We strongly recommend reviewing, reassessing, and sharpening your portfolio of software, continuously keeping your landscape up to date.
Søren Pedersen
Co-founder of Buildingbettersoftware and Agile Leadership Coach
Søren Pedersen is a strategic leadership consultant and international speaker. With more than fifteen years of software development experience at LEGO, Bang & Olufsen, and Systematic, Pedersen knows how to help clients meet their digital transformation goals by obtaining organizational efficiency, alignment, and quality assurance across organizational hierarchies and value chains. Using Agile methodologies, he specializes in value stream conversion, leadership coaching, and transformation project analysis and execution. He’s spoken at DevOps London, is a contributor for The DevOps Institute, and is a Certified Scrum Master and Product Owner.
Value Stream Optimization?
We specialize in analysing and optimizing value streams.
0 Comments