One of the most exciting things for me is starting new projects. Each time I start to build a new app, I get way too excited and see rainbows and ponies everywhere. “This time it’s going to beautiful, easy, quick to finish and lots of fun”. There is a blank slate and in my mind everything fits together perfectly.
However, in reality, after I’ve spent some time on a project, I start to see the design mistakes I made. Sometimes I even realize that the product/project itself isn’t a good idea. The longer I work on something, the harder it is to finish it. It definitely helps to work with a team, as you can pull each other through the hard times. When working with clients, it’s a lot easier to push yourself to finish something.
I might have found a way to utilize the starting of new projects in order to be more productive. In an earlier post, I wrote about how I create lots of test projects. I still do this, and sometimes when I am not looking forward to implementing some new feature, I instead start implementing it in a blank slate test project. As an additional advantage, the new code will probably be nicely isolated and loosely coupled.
Anyway, to get back to starting new projects: I think I will struggle with this throughout the rest of my life. It will always be more attractive to start something new than to finish something. However, realizing this problem is the first step in combatting it. And by using tricks like the one above I think it could even be bent to an advantage.