What exactly is "production ready"

I recently wrote a review on VMware’s vCloud Air service. I came to the conclusion that the service isn’t production ready. Much of the feedback I received was that my assessment was a bit extreme. A deeper review would include performance, features and reliability. I found the experience so poor that I didn't believe it relevant. However, the feedback made me consider writing a post defining production ready.

Minimum viable product

I think many confuse production ready with a minimum viable product. I think it appropriate to examine the features of minimum viable product consumer product that most people are familiar, a coffee cup. The minimum features include:

  • Hold minimum of 8 oz of a hot beverage without leakage

  • Able to be held without burning the user

A coffee cup that meets these requirements is a minimum viable coffee cup. At this point, I can measure the amount of coffee the cup holds, the performance of the sealant and the usability based on the temperature of the handle. By definition of the two requirements, it’s a coffee cup. But is it production ready?

It’s about the use case

Meeting these two features doesn’t make the coffee cup production ready. Coffee cups come in different sizes and configurations for a reason. Production is predicated on the ability of the product to meet the requirements of the use case. If my use case is to take coffee on the road in my car, then I’d have a few more requirement. Take these additional requirements:

  • Fit in my cup holder

  • Keep the coffee at a minimum temperature for ½ hour

  • Have a spill proof lid

I can now test the cup for production readiness for my use case. I can test to ensure the cup fits into my cup holder, if the coffee temperature remains constant for ½ hour and if the lid stays on the coffee cup and prevents spills.

For a generic review, I need to determine if my car use case is a reasonable use case for the audience of the review. It wouldn’t be fair to measure production readiness based on an extreme use case such as a 2-hour commute or some special blend of coffee that had an especially high consumption temperature.

If the directions for the cup indicate that the cup should easily fit into cup holder, and this isn’t the case, then it’s an observation. If the lid were difficult to put on or didn’t fit then, it would be an observation. If the temperature of the coffee varied widely throughout the day, then it’s yet another observation. For a cup used at a kitchen table, the solution is production ready for a different use case. It's a minimum viable coffee cup.

If the coffee cup is advertised for my proposed use case and these features didn’t consistently work then, it’s not a production ready solution. The features advertised don’t work as advertised even when it’s a minimum viable product as defined by its category. It's not relevant if it holds 8oz of hot beverage and doesn't burn the person holding the cup. Being production ready for an unintended use case is pointless.

Conclusion

I’m not an analyst. I don’t intake a vendor’s feature list and tick off the boxes. I put this stuff in the lab and put myself in the shoes of an end user. At the end of the day, a data center manager requires that the solutions he places in front of non-infrastructure experts functions as advertised. He can't say that the product does the minimum viable features for its product category. The data center manager didn’t do his job if he rolled out a buggy product.

Unless the category is so new that these features are buggy across the industry or not available at all,  it’s critical that reviewers call out poor experiences.