Our excitement level is really high when we start doing something that we like and is new to us. Be it a new sport that you just started playing, a great book you have been waiting to read, or a project at work that fits your interests really well. At this stage spending the time and energy on a task is easy. You have a high desire to jump in, take action, and run with it. And then of course life happens, obstacles appear, unanticipated findings and other “derailments” come around and the going gets tough. Hopefully you planned well and can navigate around the obstacles to complete whatever you wanted to complete on time. Always be ready for the process to get tough or boring, so to speak.
This initial excitement in the early stages is the reason why I have been starting to do the “boring” stuff first. I know that boring / mundane tasks will get much harder to do once the initial high wears off. Boring tasks can’t be avoided, so best to plan for them and make sure to do them before or together with the things that excite you.
Take software development for instance. I used to leave the monitoring part of a software release as a last piece in the implementation. The excitement of solving the problem was the main priority. After all, monitoring can be a mundane and thus a very boring task. The first time around you are excited to wire up probes and get notified when things fail. But after going through the process several dozen times it gets old pretty quick. You start getting that inkling to release the feature first and then add monitoring pass later. Of course, that is not a good idea. Although it is better than nothing, it can get forgotten or done haphazardly. That’s why whenever possible I layout the monitoring and logging first and then tackle the implementation that I wanted to build.
This rule should not be applied if you are prototyping or trying things out. When you are learning, it is best to remove the boring stuff altogether and focus on the meaty parts. Remove the obstacles for learning. However if you have a good idea of where you are going with the implementation, do yourself a favor and think of the boring stuff you need to do and make sure you get that done as early as possible.