Time estimation in software engineering seems to be the most difficult task.
Time estimation becomes a bit easier for well managed projects where most of the design decisions have been made and there is enough internal tooling and resources. But it is still not perfect. Things become more difficult for teams with limited resources and external push on deadlines. More often than not, the projects get delivered, some more polished than others.
When it comes to time estimation solo-developers working on their side projects face the real challenge. It becomes worse if there is no external motivation or revenue potential for the project. Building something for fun or learning might end up in an unfinished project that never sees a launch day.
Although launching a side project is not necessary, it does help in closure and moving on to the next big thing. If you do want to finish your next side project and are not able to find the time or motivation, then try avoiding these pitfalls.
Too Many Features
Side projects should be simple by design. If it includes dozens of trivial and non-trivial features then it is becoming a startup. Think about the reason you are building your project for. If it is for fun then pick the top three to five features to include in the first version and move ahead.
Think of yourself as a resource even when you are working alone. Ask yourself how much you can deliver working a few hours a week and assign achievable tasks to yourself. Don’t forget to look for external tools and services to which you can offload certain features.
Put a soft and hard deadline for yourself once you have a clear idea of what you are trying to build. Give yourself enough buffer to catch up.
Don’t fall into the trap of doing irrelevant market research and user surveys before coding. As a developer your strength lies in development. Creating a production ready product would be easier to market than a landing page.
Too much planning will ruin the flow and give you a false sense of accomplishment. Don’t create an extensive task list and roadmaps before you start coding. Once you have your first few features finalized and an estimation of how much it will take, start working on your project. You can always revise the estimate and drop or add another feature on the way.
Burden of Launch Day
Don’t worry too much about the launch. You don’t have to showcase your launch and post links everywhere. Keep it simple and make sure that your project ends up in an accessible platform. You can share the links to your project later.
In conclusion, if you are a developer working on a side project for fun or learning purposes. Then it’s better to jump ahead and target finishing the project and avoid these pitfalls.