Side or personal development projects are usually described as endeavours taken on by people who code outside their typical work or study commitments.
Reasons for taking on personal development projects can be for skill development, exploring new technologies, working on open source projects, launching a start-up or just as a fun side activity (if that’s your idea of fun).
It’s a known phenomenon that developers tend to start personal development projects and never finish it. Why does this happen so often?
There appears to be a trait about personal projects that makes us slack when it comes to ensuring their completion. This is likely due to several reasons such as not having a plan in place, not being passionate enough about it or not having enough time to dedicate to it.
If you’ve ever tackled a side project it’s likely you can relate to this and why we’ve drawn up this article as a guide. Follow these 5 tips when starting out a new personal development project and increase the likelihood of seeing it to successful completion.
We previously wrote a similar article, 5 Typical reasons why developers fail to complete side projects, that takes on a slightly different perspective to alert you to why projects fail so you can avoid them. Here we examine tips that will push you to complete personal development projects.
1. Make it serious - Have a plan 🎯
The most obvious step that we tend to ignore regarding any endeavour is having a plan in place.
Planning does not have to be tedious. Draw up a plan in as much or as little detail as you wish and list out a set of targets with ideally, timelines on when you want the targets achieved. Write these plans down on a location you know you regularly use for your planning. We recommend the management system Trello to keep track of projects.
A key part that planning plays in increasing the likelihood of competing personal development projects is it has now escalated to something of significance. You’re taking the first step in declaring it as a serious endeavour that you intend to complete.
Related post: Using Trello To Organise Your Development Projects
2. Define ‘done’ ✔️
A Definition of Done (DoD) is a concept primarily in agile applied to software projects and can be described as a list of criteria that must be met for a product’s features to be considered “done”.
Whether working on your side project as an individual or as a team, compiling a DoD list or at the very least, a DoD statement, is recommended to avoid your end goal spiralling out of its original purpose.
For example, if your end goal is publishing a mobile application, your DoD can be to be able to share the app with a friend and have them use it.
Development projects are truly never complete. As a result, defining what it truly means to be ‘done’ can be tricky. It’s important to think about this so you have a driving source of motivation and an end target in mind.
3. Make it open source 💻
A reason why developers may take on a side project is to work on an application that can eventually be used by others. While these projects may not start off intending to make the source public, an encouraging way to keep up enthusiasm about personal projects is to turn them into open source projects.
For example, if an intention is to make a mobile app, consider making the source open source and publishing it on GitHub as a public repository.
Making projects open source has a number of advantages, such as attracting contributors to your project, raising awareness of the project and in general encouraging innovation through collaboration.
Turning personal projects into open source projects is especially encouraged if your end goal is for a product or service for enterprise applications. There are several additional advantages that can be gained by powering such projects through open source.
4. Make it competitive 🏁
Another way to encourage motivation to complete personal development projects is to join a relevant competition and set the project as the submission target.
Join a competition, hackathon, or equivalent that is suitable for your project. For example, entering a competition for app based projects and planning to use your project as a submission.
If publishing a game is your goal, websites such as itch.io run very regular competitions called game jams that you can target your project as an entry for.
Competition sets good pressure that can be used to drive completion of the minimum features of the project. It’s not critical that your project is fully complete to submit it, however, keeping in mind that it should be usable to an extent will aid in prioritising the key features of the project.
5. Seek accountability 🔎
When working on personal development projects which often is a solo endeavour, having a source of accountability can be critical to seeing its completion.
Accountability in this case can be from several sources such as informing a close friend of the project or through making it public.
We recommend making your journey public and documenting it through a platform such as a blog. We advocate that blogging can accelerate your skills as a programmer and if done consistently can greatly improve your communication skills, diversify your knowledge and develop a mindset of consistency.
Your blog does not have to be your own hosted website. Registering on developer communities such as DEV.to, Codenewbie, Hashnode or Hackernoon allows you to immediately begin writing and publishing to a relevant audience.
Through these platforms you can document your learning journey and acquire accountability in the form of updating your audience on progress.
A key factor to ensuring your personal development projects reach completion or close to it is having sufficient driving factors and sources of motivation.
It’s easy to slack off when there’s no one looking over your shoulders for a competition date to your project. Therefore, an effective way to achieve this is by attracting sources of accountability in the form of a public audience or by finding reasons to finish it in time by submitting it to competitions.
Anyone willing to take on projects that are not essential is likely doing so for a purpose. Cling on to that goal as a source of motivation and put the right barriers in place to ensure your project is not abandoned and successfully completed.
Note: Knowing when to abandon a project is also important if it’s not feasible to continue!
See other articles you may be interested in below: