Keeping pace with a self-driven project is hard, especially when you’re not getting paid for doing them. I always find myself coming up with new projects and starting them without ever finishing. Here are some things I’ve learned working for others (for free) and for myself over the years to help you stay motivated all the way to the end.
1. Develop a support group
Friends are great for hanging out with – why not bring them together to work on something productive? That doesn’t mean they need to be working on the same project – simply setting up a quiet time to do work in their company can really make you feel more accountable for getting things done. Obviously this only works if they have something they need to work on as well. For added effect, I like to play some ambient audio while we work (bossa nova is great, so is rainy mood).
2. Bite-sized tasks while keeping vision
Perhaps one of the best ways to feel progress is to accomplish something every time you sit down to work. When you’re working on something in your spare time that can be as short as 20 minutes of your day. If you aren’t already, use a project management service (I personally use Asana, it’s awesome and it’s free). Something as simple as a tasklist can really help in prioritizing and visualizing the road to the completion of your project. Keep your tasks reasonably small, so that you can hit a checkpoint every time you sit down. One of the feelings I dislike the most going to bed is the regret that I’ve accomplished nothing all day.
The reason that I have the ‘keeping vision’ part is so you don’t get caught up on the minute details when it doesn’t really matter yet. This includes getting feedback, some retrospection, and maybe even taking a little break from the project. Always remember the why, not just the what
3. Set deadlines
Make sure they are achievable! Many software developers under-estimate their project timeline by a factor of 2 to 3. So if you’re not hitting these goals on time early on, it’s a sign that you should re-evaluate your timeline and adjust expectations as early on as possible, especially if you are working in a team.
Deadlines also keep your requirements under check. Feature creep, the ongoing expansion or addition of new features in a product, happens all the time along with changing requirements. I would feel really lucky to go through a one-and-done type of project, but honestly that almost never happens. Be honest to yourself and keep an open mind moving forward. With any experience your peers will too.
4. Finish one thing before you start another
I am a victim of saying yes to everybody. There were times where I had to juggle 4-5 different responsibilities in my life I ended up doing none of them well. What was worse, simultaneously pushing these loads dragged it on for much longer than I would have liked. Over time, I’ve learned to say no to requests when I know I can’t do it justice – and that was perhaps the biggest blessing in disguise I can do for myself and to others.
Hope this helps. Let me know if one particular point has helped in the comments below!