I once read that padlocks only stop 80% of possible thieves. Ten percent of people never steal, ten percent will always steal, so a padlock only makes it more difficult for someone in the 80% to steal (the vast majority of people).
This idea of a 10-80-10 rule is related to the Pareto Principle (20% of people own 80% of the land). I don’t think the 10-80-10 Rule is always true, but it seems reasonable to believe there could be two small, stubborn groups at each end of the spectrum, and everyone else could possibly go to either side. Consider:
- Voters: 10% always vote Republican, 10% always vote Democratic, 80% can be persuaded
- Customers: 10% always satisfied, 10% never satisfied, 80% sometimes satisfied
- Airline flights: 10% always late, 10% always on time, 80% sometimes on time
What does this mean to a software developer? Focus on the piece of the pie that yields results. Going by the Pareto Principle, optimize the 20% of the code that accounts for 80% of runtime, and acknowledge that there’s 10% of code that will probably never be refactored.
In addition to software, your co-workers, friends, and family may fall into one of the 10% ends of the 10-80-10 spectrum. When making a decision, the majority is usually willing to agree to either side; the two persistent groups of 10% will hold out much longer.
In what situations do you think the 10-80-10 Rule applies?