Alan Chia - http://www.flickr.com/people/13403905@N03

Focus on building your MVP, not the fluff.

Or just give up now!

James Brooks
4 min readMay 30, 2013

--

The service I’m on about isn’t yet released, so for this post I’ll refer to it as Project X.

A couple of months ago a good friend of mine asked me if I knew of a service which would do something he was after. He asked me specifically because he knew that I too would have a need for the same service at work.

The answer was; “no?!”

So we had a five minute chat over Skype and then we began prototyping.

I built the original prototype in just 10 minutes.It was great to finally be working on something outside of my workplace that I truly found interesting. I’m a schmuck for having an idea then promptly dropping everything else as soon as I find something else to do. Project X was different for me. It was fun and it was challenging

Shortly after the prototype was built, we realised that there was (and still is) a need for it by others. Upon this realisation we quickly threw together a design, began hacking an account system together and managed to get into the Stripe UK beta. Project X was rapidly moving and we felt like we were nearing a beta release. Hooray!

Don’t over complicate the easy parts.

We defined clear goals that we’d achieve for our first release:

  • Clean and simple page design; which clearly and accurately defined our service and goals
  • Full API; with all of the fluff
  • Account system; again, with all of the fluff that other services have
  • Multiple plans
  • Demo account
  • Complete and accurate API documentation with examples in multiple programming languages

By having these completed we believed that we’d be able to market our service a lot more effectively, and I’m sure that when Project X is completed, we’d be better off having it all. We thought that we had an MVP.

No!

Sure, having those features are great and all, but do you really need them for your product to work? No.

We had quickly lost sight of our original intention and we didn’t even know it yet. Sure, we want to charge customers for using it, but we over built our idea. The design became more and more complicated, we added tonnes of methods to our API, the account system was half-hearted and would probably hold us liable for someone being charged too much or another and the demo account just caused headaches.

So we just didn’t bother. We both gave up. For two months we did nothing. Between April 9th and May 26th, not a single commit was made. We didn’t even talk about the product, we didn’t speak at all.

Don’t sweat the small stuff.

We had spent so much time worrying about all of the little details that although our product was working (with some bugs) we couldn’t get it out there.

Our private GitHub issues list contained 12 - it might not sound like a lot, but those issues contained lists of sub-tasks and the mental burden of getting those completed was heavy - issues of varying degrees. Some are absolutely required to be fixed for the release, others are there just to look good. We hadn’t cut the crap out. We’d been making more work for ourselves than was actually needed.

Build it and they will come.

But first, build absolutely the minium to achieve your MVP.

Take a break. Have another crack.

On May 26th I found my passion for the product again. I’d been reading HackerNews and saw someone else had mentioned a service they’d created similar to ours, with people saying good things about it! With the knowledge that the market for the product still existed and that knowing our service was modestly superior, even in its early stages, I felt the need to continue building Project X.

I looked at our list of GitHub issues and I prioritised them. By being able to narrow down the list of “high” priority issues I was able to see exactly what needed to be done first. We also had a To-do list in our repository which contained a list of jobs for each of us. I took the list and removed the items which had been completed or were beyond our MVP. Finally, I could start work again.

Although my friend hasn’t made any commits since then - which is fine, he has no obligation to - I alone have pushed more than fifty commits in two days and a half days of evening work, changes such as:

  • Completing or removing the fluff.
  • Completing features that are required for your MVP.
  • Removing or stripping back “features” which were half-baked and that can wait until the next update.

And guess what? I feel like a weight has been lifted from my shoulders. Don’t worry how small those commits are, you might just reword something, it’s progress and so long as your on track for your MVP, what’s to stop you? I’ve known for two months that I have this product which could sell well but I didn’t want to work on it. Sure, I haven’t released it yet - there is still about a weeks worth of work to do - but I am on track again.

Build small. Iterate big.

--

--

James Brooks

Impractically brilliant. Cold handed, warm brained web developer.