This idea came to mind when I was told that we needed to get our promotional feature (Urgency) out for mobile web. For those who use LivingSocial, you may have noticed the red page that give users extra discount on top of our great deals. That is urgency. I was given a dead line to get this feature out by morning.
Two things you need to know. First, we had urgency working before, but we turned it off for some reason. Second, there wasn’t any bugs and it was working when we turned off this feature. Given these information I faced a decision to either fully test it in development mode, which takes time and understanding of our different services, or believe in the given assumptions and turn on urgency without fully testing it.
As a developer under a deadline, I wanted to simply push out this features as fast as I could. People say fail fast and fail often, in order to figure out what works and what doesn’t. Does it make sense to ship it and fail fast in my case?
Lets weigh the pros and cons. It’s great that LivingSocial has millions of users and we can test if a new feature enhances our users experience quickly. However, a poorly designed or implemented feature can be the last straw for our users to never look back. As an user I would be extremely annoyed if I saw a flashy page saying I get a discount, but the promo code not working correctly during checkout.
This leads me to believe “fail fast fail often,” maybe true in terms of validating a new idea. However, it does not work when you’re testing out a new feature that can affect users purchasing decision. It’s far more important to make sure the core feature works as expected.