The boring part of the 80/20 rule

The Pareto principle (aka. the 80/20 rule), which tells us that at 20% of the cost we can realize 80% of the value, is applied widely and IMHO wisely in SW development.

In this post, I’d like to direct your attention to the remaining 20% of the value. Let us define  a “simple” SW release as a release for which you don’t need to take into account aspects like:

  • NFRs beyond some basic performance requirements, such as reliability. Or redundancy to support high availability. Security requirements or auditing?
  • Maintenance aspects: Is the code maintainable, who is going to do it? How often do we need updates? How do we do them? How do we handle phase-out at the end of the product lifecycle?
  • Support aspects: How do we support users of our SW, for how many years after the release? Do we need to provide documentation? How can the users contact us if they have a problem?
  • etc.

For such SW releases, you may well be satisfied at 80% of the value (or even lower), the Pareto principle is great for you, less is more, and life is good. A website is a good example for such software, most likely you will go for a new design after two years, anyway.

Let us also define a “complex” SW release as a release for which you have to take such aspects into account. For such SW releases you have to tread into the boring part of the Pareto principle, where you have to spend 4x of what you spent in the fun part while realizing 1/4th of the value. Embedded software, industrial systems, medical devices are examples of complex SW releases.

80% of value is realized at 20% of cost. The first part is the fun part and the rest is the boring part. For simple SW you can release at 80% of value, but for more complex SW you have to go higher.
Pareto Principle for SW Releases

I call this part the boring part, because looking at this from a simple business perspective, there is only little value added at a high cost, so why do it?

Here, the architect’s role begins in making the criticality of this additional value clear to the business people. It will be relatively easier to convince them when external qualities like performance, reliability and usability are at stake because in this case the customer is the directly affected stakeholder. The more difficult part begins when it comes to internal qualities that will have long-term benefits for the maintenance and support of the SW release. Then, you need to bring all your tools and skills to play to show the business people their criticality. In essence, you need to show that the remaining 20% is from a longer-term perspective not really 20%, but much more. [1]Please also note that, as you can see in the picture above, you may not need to deliver 100%. Going up to 90% may be enough and this will cost you only ~70% of the total cost.Here, the material on architecture sustainability can help you. And hopefully, after a while of working together, your business people will come and ask you about the longer-term benefits of proceeding this way.

Another tricky aspect that the architect needs to be careful about are the architectural decisions made while spending the 20% of the cost. Typically, almost all architectural decisions will be made in the first phases of the project. So you need to make sure that those decisions made for a quick realization of the 80% of the value do not paint you into a corner for the rest of the journey.

In this post I didn’t expand on how to convince the business people to invest in the boring part. You can check my post about ROI, but I’m interested more in your ideas.

Footnotes

Footnotes
1 Please also note that, as you can see in the picture above, you may not need to deliver 100%. Going up to 90% may be enough and this will cost you only ~70% of the total cost.

Leave a Reply

Your email address will not be published. Required fields are marked *

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.