Minimally Viable

Yves Hanoulle has been a marvelous supporter and evangelist of Entaggle. And on occasion he’s been really pushy. But it’s all been good. Entaggle would not be where it is today if not for his pushing.

At the end of February he was nagging me: “You should announce Entaggle to the general public,” he said. This was after he had already started tweeting and writing about it on LinkedIn (with my blessing).

I resisted, “It’s not ready. I still have a to do list a mile long before I’ll feel like it’s ready.”

“What are you waiting for?” he asked.

I looked at my backlog. I had weeks worth of stories to implement before I hit my “Announce” milestone. But as I looked at the list, I thought about what he said. “What exactly am I waiting for?” I challenged myself.

So I went through every single backlog item standing between me and a public announcement.

Some of them were about moderation features: the ability for users to flag something as inappropriate or spammy. Others were about what I saw as core capabilities of the system. All of them represented my first pass approximation of a minimally viable feature set.

But perhaps I hadn’t stripped it down to the truly minimal set.

So for each and every item I asked myself: “What is the absolute worst thing that could happen if the system doesn’t have this thing when we announce it to the general public?”

In each case, the answer was, “not much.”

Sure, I wanted moderation features to protect people from spam. But in the absolute worst case if someone decided to try to use Entaggle to spam people, I could delete the offending content through the Rails Console. I didn’t actually need a special interface to manage content.

Besides, the probability that a spammer would find Entaggle to be an enticing spam vector was low: the system only supported text; no links. And users were protected from having spam show up on their profile by the simple mechanism of requiring taggings to be “accepted” before they showed up anywhere.

So I decided to go for it. I announced Entaggle. People signed up in droves: 172 signups that week. I was amazed.

Predictably, I spent a good chunk of time that week on support issues. But here’s the kicker: none of those support issues had anything at all to do with any of the items in the backlog that had been holding up my announcement.

Not one.

Most of the feature requests were for things I hadn’t thought about or hadn’t thought were important enough to be at the top of my list. All the serious bug reports were for things I hadn’t thought (enough) about. No one said, “Gee, I wish I could flag something as inappropriate or block a user from tagging me.”

In fact, the worst thing that happened in production during that first week was not related to spam at all. Rather, it was test content from well-meaning testers wanting to exercise the system. They created tags with names like “<script>alert(“HI!”)</script>” that cluttered up the list and made it look like no one cared about the data in the system.

(Little did those folks know that Rails 3 handles javascript insertion attacks out of the box.)

So I solved that problem not through moderation, but by making my staging server available to the public and telling everyone they could create all the test content they wanted over there.

The bottom line was that the risks I imagined turned out to be completely different from the risks that manifested.

To put it another way, empirical evidence trumps speculation Every. Single. Time.

When Entaggle users write in to ask, “Is there a way to…”, I often I find myself replying, “No, I’m sorry, there’s not a way to do that yet.” I feel a tiny twinge of regret every time I have to say that, so I sometimes add a wry, “Ah, the joys of a minimally viable product.”

That feeling of regret lasts no more than a nanosecond before it is replaced with gratitude. By having released a minimally viable product, I am getting a huge amount of feedback about what people using the system actually care about. Every one of those “is there a way to…” is a story that goes into the backlog (if it’s not there already). The more people ask for it, the higher I prioritize it.

As a result, I’ve learned the difference between what people actually want and what I imagined they might want or need.

They wanted a list of new tags and users since their last login more than they wanted twitter integration. They want a better interaction model for tagging with the ability to do bulk tagging. They want email notifications.

At least for now, there is not spam in the system. So the moderation features I envisioned are an incredibly low priority. That will change if spammers discover Entaggle, of course. But getting the interaction model right is currently more important than mitigating a non-existent risk.

This means that if I had taken the time to “do it right,” and finished all the things on my list before announcing Entaggle officially, I would not have been any better off. No one would have cared about all the bells and whistles I added. I would have wasted a huge amount of time.

By releasing early, and continuing to release often, I make much better use of my time and limited resources.

Behold the power of releasing a minimally viable product.

Subscribe

Subscribe to our e-mail newsletter to receive updates.

8 Responses to Minimally Viable

  1. Carl Shaulis April 23, 2011 at 12:50 pm #

    Hi Elisabeth,

    I have a fundamental questions with respect to Entangled. If I tag someone where does the tag live? Does the get placed on the person’s website, Facebook, or Twitter account? Or do all tags live in the world of Entangled?

    Keep on inspiring!

    Carl

  2. testobsessed April 23, 2011 at 3:44 pm #

    Hi Carl,

    Thanks for asking! The tags live in Entaggle. Eventually we’ll integrate with other services, but tags will still live in Entaggle. Other services will either link to or pull the data from Entaggle.

    Elisabeth

  3. coreyhaines April 23, 2011 at 11:55 pm #

    Hey,

    Great post. We had the same experience with MercuryApp. We have pictures of all the whiteboards from our planning sessions, and it is interesting to see the things that we marked “must have” that still haven’t made it into the app, and we are 9 months into development, 8 months after our first users and 3 months after our public release. Our users started asking for features immediately, some we had thought of, some we hadn’t. Letting your users dictate your priorities is a great benefit.
    This is the joy of being a maker. One of the best ways to find out if what you are building the right thing is to build it quickly and get it in front our your users. They’ll help guide the evolution of your system into what it really needs to be.

  4. yveshanoulle April 24, 2011 at 8:56 am #

    Thank you for mentioning me.
    I do think you give me too much credit. (Except maybe for the nagging part.)

    I know you knew what you had to do. The way I remember this, is that I asked questions, and you took action instead of replying (ok that is a metaphor you did answer) .
    You probably know more about minimal viable feature set then I do.
    I only gave you the extra nudge you needed to overcome resistance.

    y

  5. Darren McMillan April 26, 2011 at 7:19 am #

    Hi Elisabeth,

    Firstly congrats once again on the excellent idea that was Entaggle.

    I switched jobs this month going to work for a likewise innovative startup company.

    I’ve been thinking a lot about the companies approach to releasing their product to Joe Public, and can’t help but think about the benefits of releasing with a minimally viable feature set like you’ve did with Entaggle. I’ll certainly get some discussion going, as to what we do.

    I guess the biggest fear for me is having a rejected system. However it’s exciting times, I’m certainly looking forward to the challenge!

    Thanks for sharing such a lovely post; people can certainly learn from this.

    Cheers,

    Darren.

  6. YvesHanoulle April 26, 2011 at 3:26 pm #

    Hi Darren,

    >I guess the biggest fear for me is having a rejected system

    What do you fear most?
    - a few people rejecting a project that is only started and giving valuable feedback on how to proceed
    or
    -lots of people rejecting your finished project that you have just been announced at some major event.

  7. YvesHanoulle May 14, 2012 at 10:27 pm #

    so we are now more then 1 years after the launch.

    What did you learn in the meanwhile?

    Yves

Trackbacks/Pingbacks

  1. Who is Elisabeth Hendrickson | Yves Hanoulle - December 6, 2011

    [...] On top of that, she practises what she preaches and put a MMF version online to find out what her customers really w…. [...]

Leave a Reply