During my day job I frequently have to optimize software development tasks to leave only the most important, essential functionality and cut away all the bells and whistles.
This is sometimes abbreviated as MVP — Minimal Viable Product.
This blog is an example of a situation where I slipped into wanting to build a maximum viable product but steadied myself, albeit I little late.
OK, I need a new web-site
The worst mistake was that I started working on a solution right away… without defining a problem. I slipped into “ooh, shiny” techie-tinker mindset and was dead set on exploring new and fascinating frontiers of static site generators. The more I researched the more bells and whistles I gathered in my wish-list. It was like a trance.
Of course I need pagination! But not just any pagination, only the best kind: by categories, by tags, by months. Hm, maybe by music and mood too? To do that I just need to quickly read on about Jekyll collections and another couple of posts about how to do it all in a Github-preferred way.
That’s when my weekend ended and, still having nothing to show for it, I felt sad and disappointed. I gave up and decided that if I even were to get new site, I will hire a professional to do it. Some weeks later I even started making a tech spec to post on a freelance exchange. Including the fancy pagination et al, of course.
There was a slight problem though. I noticed a strange thing: it was really hard for me to describe in technical language what was required. Interesting. How come? Realization struck: I just really didn’t see the end product. And when I tried probing questions to elicit requirements from myself I understood that I was the proverbial perpetually-almost-satisfied client with an unlimited number of edits and improvements because he doesn’t know what he wants.
That’s when a stray thought of MVP came to me and I understood how wrong I’ve been. I don’t need fancy pagination or archived posts. I just need something to start pouring my thoughts into that also doesn’t look hideous. That’s when I installed Jekyll-now and slapped the Pixyll theme on it and here we are.
Summary of what I learned
Before diving into a new sexy project
- Describe the end result in necessary detail
- Remember why do you want to do this at all. Is this new project the best way to achieve your end goal?
- Cut out everything that is not essential