Time is precious. I’ve learned I love to set ambitious goals for software side projects. Goals like “build the number one time tracking and billing system in the world.” There’s just one problem. Side projects like this have never taken off for me. Ever.
In fact, sometimes I would get so demotivated by the scope and size that I would give up just halfway into it.
With side projects, build the skateboard, not the car
Finally, one day, a wise programmer named Gregory gave me the secret. It’s simple. Cut down on scope.
Build the smallest possible thing you can ship. That means do the minimum viable feature set. It’s how I’m tackling the fair job offer comparison project
Now here’s the framework I follow for planning side projects.
Step 1 – Market research
For projects that I want to take off, I always do a bit of market research. I like to understand the pain points people are experiencing out there in the real world.
I might post in online groups or go out and talk to people in real life (scary, I know).
Step 2 – Abstract the problem
Next, I try to understand the core elements of the problem and get a good mental abstraction in my head.
Step 3 – Limit the scope
Next, I limit the scope of the project by considering what I can get away with building to convey the idea properly. I will also only use 1 new technology per project to help myself learn but avoid too much frustration by having too many unknowns in the project.
Step 4 – List the minimum viable feature set
Next, I list out the minimum viable feature set in a Trello card, taking care to whittle down features to the most basic set. Usually, if I’m diligent, this means no more than 3 or 4 features.
Step 5 – Build it!
Then I start by building it.