Let me start by appologizing for the slightly ‘click bait’ style heading that brought you here. As a reward I will quickly sum it up into one word…
PLANNING
Now I am no expert on the subject, but just like everyone else. I have my fair share of things which I have seen to completion while others I have not. I have managed to move my entire life across the globe, twice. I have succesfully swam the midmar mile. I have seen various software development projects through to completion. I never thought I would have made it to the 20th blog post, but here I am. However also have yet to complete my own personal application that I thought would take me a weekend and is now pushing on close to 4 years in the making, even though I technicaly have the skills to do it. So what gives?
In retrospect, the common denominator to the majority of my succesful completions is some degree of planning.
There is this one type of person, the go getter, that has this ability to just power through any project with sheer willpower. This is great for some tasks like cleaning your house, organizing your documents, etc. My wife is a really great example of this and it makes me quite envious sometimes. I am lucky if I am able to wash all the dishes, but often will make it about 75% of the way before I lose my motivation with the rest of the dishes “soaking”.
Have a plan of sorts
Over the years in my efforts to solve the issue of never completing anything I start working on, the first step was trying to plan my approach. This differs from project to project depending on the scope and how complex it can be. A popular approach is some sort of ‘Kanban‘ board to capture milestones and features of the project. This works for both a one person problem or even multiple team members. There are multiple ways or arranging the board from using yellow post-it notes on a free wall space to more technology based solutions such as Asana or Wrike.
The key goal here is to start by brainstorming the problem and isolating the major points that need to be tackled. In software development this could be figuring out a set of features that need to be designed, understanding dependancy trees.
Understand your problem in detail
Planning overlaps with a skill around setting goals where you fully articulate how to achieve your goal almost as if you are writing about it in the past as if you already achieved this. To borrow my dishes example, there is a difference over:
“I will wash all the dishes”
compared with:
“I will wash all the dishes. First I will rinse the dishes starting with the least soiled ones and arranging them into different stacks based on their usage type. Once rinsed, start by washing all cutlery, rinsing and putting away. Move onto the cups and glasses, followed by plates and bowls, finishing up with pots and pans.”
The idea here is to break down the problem into smaller easier to achieve goals. The science behind this is the feeling of acomplishment. This has a psychological impact that helps one stay motivated on the task at hand. This is specially important for larger projects that take multiple days and with no notable measure of progress will lead to demotivation which kills any project completion in its tracks.
By fully understanding what is needed to solve the problem, the easier it will be to plan out how, and in what order things need to be done to succesfully complete the project. It is for that reason my current web app project is taking so long, because I have not planned it at all.
Fix your environment
Never understimate how your environment can either positively or negatively impact your producitivity. It is very easy to validate the need to step away from working on something when it becomes it challenging to, randomnly clean your desk or finally sort out all the documents you have been putting off for so long. See step one and create a plan where those tasks are allocated their own time.
Try and keep your work area free of clutter which is guaranteed to add distraction. Create a space that is calming for you, some people like a completely quiet space while others prefer to have some music (relaxing or even hardcore rock) to help them zone out. Some incense or aroma therapy can help.
Sometimes this is not always possible to create the perfect environment. At the time of writing this, my one year old cat (Misty) is craving my attention and running around like it ate two enegizer bunnies. While it is distracting, I have taken certain steps to mitigate as best I can. In a work environment, you will face the same challenge where you will be exposed to constant interuptions. You might not be able to blast your music but have some discussions with your boss regarding some concessions on how to improve the work environment that both parties will be happy with.
Conclusion
Nothing I have offered is ground breaking and you might feel like I have shared what you already know. I still have not planned my web app project, chosing instead to write this post in an effort to subtract one of my distractions while motivating me to finally plan the thing. I have alrady been 10 days into my annual vacation and barely made any progress unless you call sleeping in for half the day “progress”. So I wil sum up my mindset by paraphrasing a quote attributed to Thomas Eddison.
“I didn’t fail 1,000 times. I just found 1,000 ways that did not work”