The article initially was published here https://www.linkedin.com/pulse/when-you-enter-url-your-browser-hit-what-happens-jahid-hasan-xga1c/
President Eisenhower said : "I have two kinds of problems , the URGENT and the IMPORTANT. The URGENT are not important and the IMPORTANT are never urgent"
From there, Eisenhower's matrix shows all the tasks could be defined in these way.
In Software development we are confused with which task should be done when. We got different type of task with different priorities. When Project Manager assigns tasks on us they mostly looking for features and bugs. They don’t care about the architecture, efficiency, optimisation etc but we developers do care those. Most of the time we cannot decide which one should we priorities when over the features, bugs, minor changes, etc.
Eisenhower Martrix
First of all Let's prioritise the Eisenhower's matrix.
IMPORTANT & URGENT
IMPORTANT & NOT URGENT
UNIMPORTANT & URGENT
UNIMPORTANT & NOT URGENT
Now Let's Distinguish the tasks into those matrix's list.
1. IMPORT & URGENT
Critical bugs (e.g payment failed issues, Security breaches)
Server outages, downs
compliance or legal issues with deadlines
The features which is critical for success business. If it’s a complex feature then better to go with the MVP of that feature first.
2. IMPORTANT & NOT URGENT
Refactoring the code for better maintainability.
Improving system architecture for scalability.
Writing tests, documentations etc.
3. UNIMPORTANT & URGENT
Minor feature request pushed by business teams.
Cosmetics UI Tweaks that will not break the core functionality.
Temporary workarounds that will not solve the root issues.
4. UNIMPORTANT & NOT URGENT
unnecessary UI redesign.
writing tests for corner cases that might be never occur.
Over engineering features that might not be used ever.
According to me for IMPORT & URGENT, we have to be focused and need to make highest priority to start. For the IMPORTANT & NOT URGENT one, we need to allocate time and have to work with heigher priority, it can be done some along with the first one iff you can write code by maintaining SOLID, KISS, DRY etc. the 3rd one UNIMPORTANT & URGENT can be done after all the importants ar done. while working woth such tasks we need to be mindful that it shouldn’t take too much time to consume. And the last one UNIMPORTANT & NOT URGENT, ignore it or delay. prioritise these when u have nothing to do but feeling you should work on something.
