Vigilant MVPing: the case of this blog

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

Me, some time ago

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.

Me, high on new tech

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

  1. Describe the end result in necessary detail
  2. Remember why do you want to do this at all. Is this new project the best way to achieve your end goal?
  3. Cut out everything that is not essential