I have several side-projects that are important to me, all in various stages of completion – some open-source and some private until they reach the ever-moving goal post known as “private beta”. Projects for others I have no problem meeting that goal, but my own projects are in a perpetual state of “polish”.
My First Half-Marathon
Sometime last year on my drive into work I heard over the radio that registration for the Houston Marathon was now open to the public.
I enjoy running, though I prefer rock climbing & mountain biking, but I was looking for an opportunity to accomplish some personal health goals:
- Have a consistent, long-term physical activity
- Be able to measure improvement & performance
- Have an clear, attainable goal
- Finally, to achieve it
Listing these out clearly shows exactly why my personal projects have floundered while both my physical & career goals have succeeded.
Identifying the Problem Initially, I assumed that my personal projects never ended because there was nothing to lose. That’s clearly false because the investment for the half-marathon was negligible, and several professional projects are entirely open-ended (20% time) that see more success than my own.
I don’t provide a measurable, clear, attainable, goal to consistently work towards achieving.
This realization came at a complete surprise to me, since I’m so used to practicing it daily in my career. However, the evidence is readily available as I peruse my Github issues – full of non-essential feature ideas – and my planning documents on what the launch product will be – vague, at best.
My personal projects have also suffered from the desire to “scratch an itch”, whether that be write yet-another-static-generator, try out new technology, or simply pursue my own desire for experimentation.
Sure, I use every opportunity in my professional projects to accomplish the same desires I have for personal projects; but, they all share the same concrete, definitive steps I listed above and don’t suffer the same fate.
Going forward, I will be putting into practice what I preach in day-to-day professionally while chasing my personal ambitions.
Doing that is as simple as defining and iterating on various levels of utility. Once some form has been provided, then it’s time to release.
My previous desire to release when “ready” was unrealistic and counter-productive.
There will always be a chance to polish. There will always be a chance to “win back” those who weren’t impressed by the first release. There will always be work to do.
And that’s why my goals are no longer just to build something great, but to finish something great.