Are you like me and have tons of great ideas you want to program or build? How many have you started? And how many have you completed? Yeah, we’re all like that. Thankfully there are simple methods you can apply to increase your chances to complete that project of yours. To give you some motivation that my method works, have a look at the few projects I have completed:

  • This website, with my tutorials or brain dumps that can help me or anyone in the future
  • My raspi-deadite, which took a year to build and was my first project to get to completion following the method I am going to share
  • My other website, sawan.io, which I used to learn ReactJS and to create an awesome resume that attract recruiters.

Disclaimer: if you are actually enjoying doing new projects or stuff all the time and don’t feel any shame abandoning your partially started creations, be my guest. I’m here to help the ones that want to feel the success of a completed project, before it forever lies in a corner of a shelf 😀

Through my career and other readings, I had multiple opportunities to learn how to complete what I started. And don’t think it was easy and without failures. But with more progress came more will to continue, and with more will to continue came more progress. And that is partly the key to the whole process.

In this blog, I will refer to “project” anything that you want to create: a program, a website, a DIY project, a painting, a writing…

Getting started

So the most difficult, and also the easiest, is to get started. Either you keep starting new things, leaving them hanging between life and death forever, or even deleting them, ya know, “cause I have a better idea how to do it”. It is also difficult because you need to decide which project is the most important, rewarding, fun or that will bring what you are looking for.

My advice is to start with a small project. Don’t start an epic battle against time and boredom. You’d loose. After all we are just humans!

Start with a project that you think can be completed in a few days. For example, it could be writing a tutorial on something you know and want to share. It takes just a few hours to have a blog up and running. Then post your first blog. Or if it is a painting, select a small canvas. If it is gardening, limit the area to a few square meters. Or even to a single pot! Maybe it’s even just a custom postcard for your loved one.

Even if you think you have what it takes to start a bigger project, “because this time I really really want to get it done”, please consider starting with a small one.

your brain knows you can do it

This is important because you will trigger something in your brain that will be asking for more. You will enjoy the satisfaction of finally closing a project. Of course, it’s a small one, but now your brain knows you can do it!

Define what it means to be complete

But before jumping into actions, determine what you will consider to be complete. In software engineering, in particular in agile methodology, we use the term of “Definition of done“.

The definition of done is a kind of contract between all the stakeholders that the feature (or increment part of a feature) is ready to be released, or distributed to the end-user. For your project, that can be translated to a few different things. Taking above examples:

  • A tutorial is done when it answers the question or topic it is intended, it is edited for typos and mistakes, has the proper illustrations, references and copyright if needed
  • A program is done when it compiles and execute the expected outcome
  • A painting is done when … well, I am not an artist, you’ll have to define that one yourself 🙂

Plan your project

Once you have completed a small project or a few, you are now ready to step up. You don’t have to take on a big one. You can size it to take a few weeks, then incrementally make your projects bigger and bigger.

My next advice is to plan your project. You don’t need to go into too many details. Just lay out the main steps of it. A simple example can be:

Sample plan of execution

Depending on the type of project however, you might want to break down further the steps. For example for building a website, you could define the pages you want (the site map), and sort in which order you want to release them. You could first release the homepage. Then the contact-us form, and so on.

The benefit of having small incremental completions is that it will reward your brain of mini-success. You see now why it was important to train your brain to small success on a small project. Keep your appetite for success by feeding your cerebrum of regular completions. This will keep you motivated to continue.

Consistency is the key

Again, we are human being and our best way of working is by doing things repeatedly. Train yourself to keep doing things and it will become a habit. There are plenty of tutorials or motivational blogs about how to succeed by building habits. I am 100% with them. Since this website is not to promote others, I will let you search for the material that speak to you. Your search terms in your favorite search engine are “how to build habits”, “how to start a new habit”…

Make yourself the contract to not work more than a reasonable amount of time.

Now how does this apply to our topic? Here is how I built a habit to work on my project. Since I am quite busy at work and I have a significant commuting time, I needed to find the best time to work on my RaspberryPi project. I decided that I had to work on it for 1h twice during the week days. Then 1h during the weekend.

Make yourself the contract to not work more than a reasonable amount of time. With that promised to myself, I was not overwhelmed by working for 5h in a row or overnight and feel bored about it. On the contrary, by limiting myself to work only 1h at a time, it created a kind of soft hunger that kept me coming at it at the next scheduled time. In the beginning I had to force myself to stop working for more than 1h. There was always a “small thing I want to finish first”. And I admit I failed to my promise a few times. But as I realized I started to see on the horizon the silhouette of boredom, I tried harder. And eventually I can discipline myself to stop after an hour.

Now I decided to go with 1h because I want to also spend time with my lovely wife. But your lifestyle is yours, and you might decide to work 30m every single day, or 2h every other days. Make the schedule that works for you.

Don’t give up

There will be many occasions where you feel you want to stop. Or that you want to not work on that project today. I would say 2 things:

  • If you just try to start working on it, that feeling will immediately disappear and you will be enjoying your project again. There are several studies that explain how that works (look it up if you are interested). It is somehow related to procrastination, which originates in the fear of failing or not being able to complete something. Well, you’re reading this post and I’m telling you, it’s your brain defense mechanism that is wrongly triggered. Just get started, I promise you, you won’t regret it. Ask yourself: what is the next step? Is it some part that is less fun than the other parts of the project? Then just get it done and move forward to the more fun bits!
  • Now if you really don’t feel like today you want to continue on it, don’t force yourself too hard. If you force yourself and feel annoyed because you don’t succeed in that part of the project, just stop. You don’t want to associate this awesome project with frustration. It would only reduce your will to complete it. Just take a break and you’ll get back at it when this emotion is gone. And please don’t start any new project as a healing solution. That would increase your chances of never finishing your project.

Final words

It might take a few projects to practice getting to the end of one. But once you get there, the feeling of achievement is so rewarding that the next one will get easier. Don’t give up, you just need to take it one step at a time and you’ll get there.

References

Blog title image: West Side Project Story from www.commitstrip.com