During my participation in various software development projects, I have noticed one thing they usually have in common. While it is often very easy to find the motivation to start a new project, many of them end up unfinished or not in a way you would like them to.
As you can see on GitHub, I don't see myself as an exception, where I've started a lot of projects, but only a few end up finished. It is generally difficult to define a software project as completed, but that's not the point I want to describe in this article. Therefore, I'm only interested in having a functioning MVP (Minimum Viable Product) in place.
But why is that? In my case, I often have the problem of easily getting enthusiastic about a new project. As soon as it reaches a certain stage of development, however, it is difficult to find further motivation to complete the project. This is not necessarily because I don't enjoy it anymore, definitely not. I rather face the problem of having a new idea that looks more promising than the one I'm currently working on.
Well, there seems to be a simple solution for this problem: Limit your focus on a smaller amount of projects at the same time. Altough this advice seems kind of obvious and easy, following this advice certainly isn't that easy. Sure, new ideas often seem to be very promising, but just don't forget, that the ones you're currently working on probably also did. I solve these issues by keeping track of my ideas using a classic, physical notebook. Whenever a new idea comes to my mind, I write down all of its details. After doing so, my mind can get rid of the idea and continue working on my current project. As soon as I consider this completed, I move on to the next one I've written down.
Although I don't use this approach for very long, it seems to have a very positive effect. I don't forget about cool ideas and I also keep my mind from focussing on too many things at the same time. Additionally, when there's some time between the idea coming up and actually implementing it, the idea can be easier viewed from another perspective. Maybe it isn't actually that great and you save yourself lots of time by not implementing it. Even if it covers a different context, I stumbled upon a great article by mark manson on this topic.
Chances are, limiting the projects you're contributing to isn't enough. There are times when the motivation to continue working on a project does not come by itself. It is therefore important to understand that motivation is not always self-evident. Eevery hobby, no matter how great, will suck on some days. And on these very days it is therefore important to pull yourself together and do your thing. Here is a link to this article that I published some time ago, in which I covered my way to build habits on things that aren't that great. This can be also applied here. The goal is to be able to control your own motivation as well as to be disciplined so that you don't just give up a personal project when it is not fun anymore.
The ideas are always great. Most of the implementation will be fun too, but don't expect every single minute of it to be fun. In these moments, try not to think about how much this task sucks, try thinking about the result of it.
Getting enthusiastic about a new project is easy. Thinking about about the implementation and design before jumping headfirst into it is something completely different. Always try to implement a project towards the planned MVP. Nothing is perfect and not everything will always be fun. You can help yourself by applying project management techniques to your personal project, as I mentioned in this article. Concentrated working on a task is much easier with a well defined goal in mind.