Does the 80/20 rule apply in web development?
The 80/20 rule states that 80% of the effects come from 20% of the causes. In more simple terms, imagine you have 100 jellybeans, let's say 20 of them are your absolute favourites. Eating those 20 would give you 80% of your happiness.
As a developer, we usually have choices on where we get to spend our time, effort and concentration. With these things being finite it leads me to start asking the question, how can I apply the 80/20 rule to my daily routine as a web dev?
Here are some ideas on how we can apply this to web/software development.
Focus on Key Features
Work out which 20% of features your users spend 80% of their time using. This will provide insight into where to put most of the focus when it comes to feature improvement. Using analytics, surveys or just talking with your users should help you identify the most used features.
Prioritize bug fixes
Not all bugs affect users equally, ensure that the most common or detrimental bugs are prioritized to get 80% of the results for your users.
Optimize Code performance
If you are working on trying to improve performance. You can use profile tools such as Chrome dev tools, or just manual performance tests such as
time python myfile.py to find the biggest bottlenecks in the code.
Write Effective Tests
While it's tempting to strive for 100% test coverage just to get those gutters green in your IDE, it's probably not time efficient, and eventually, those tests could end up in the bin anyway. Try to concentrate on 20% of the most critical aspects of your application when writing tests.
Keeping code maintainable
Identify the 20% of the code causing 80% of the maintenance issues. This could be a piece of legacy code that's not well-documented or a complex function with too many responsibilities. Refactor these first to reduce future maintenance efforts.
The goal of this article was to inspire you to start questioning and improving how you spend your time as a web dev.
If you have any other areas or ideas on this topic, please leave a message below.