I am attempting to improve my coding skills with some optimisation and came across the Pareto Principle, also known as the 80/20 rule. Although not just a coding / DevOps rule, as it’s background is in economy, the Pareto Principle fits code efficiency very well (or efficiently). So what is it?
The Pareto Principle
The Pareto Principle states that the majority of consequences come from a small amount of actions. For example, 80% of the days work load may be done by 20% of the workers. In a business sense it could be that 80% of sales come from 20% of customers. The principle was developed by Joseph M. Juran (a management consultant) after reading Cours d’economie politique by economist Vilfredo Pareto. In Cours d’economie politique, Pareto noted that 20% of Italian population owned roughly 80% of Italy.
So How Does It Relate To DevOps and Coding, or Computing In General?
Microsoft did some research in the early 2000s and found that 20 per cent of bugs caused 80 per cent of errors (source: https://www.crn.com/news/security/18821726/microsofts-ceo-80-20-rule-applies-to-bugs-not-just-features.htm ). Its also been stated that 80% of users only use 20% of the software features available to them (source: https://usabilitygeek.com/pareto-principle-and-ux/ ).Other variations include “the hardest 20% of code takes 80% of the total project time to create” and “20% of the code contain 80% of the bugs”.
Focusing on improving the 20% (e.g. resolving the 20% bugs, or making the 20% of features more efficient) has a greater impact than focusing on the other 80%. Not that I’m writing to ignore the other 80%, just that 20% has a greater impact.
The Pareto Principle doesn’t always have to be 80 /20, it can be 70 / 30, 90 / 10 but does point to a large amount of consequences coming from a small amount of actions.
Want to know more about the Pareto Principle? I’m currently reading “The Art of Clean Code” by Christian Mayer, published by No Starch Press. The book is available at: https://nostarch.com/art-clean-code and chapter two, which is all about the Pareto Principle is available as a free PDF at: https://nostarch.com/download/samples/ArtofCleanCode_Chapter2.pdf . I picked the book up as one of the resources to help me code better (#alwayslearning) and I’m really enjoying it.
Wikipedia also has a great article on the Pareto Principle, https://en.wikipedia.org/wiki/Pareto_principlehttps://en.wikipedia.org/wiki/Pareto_principle, which includes some more examples.