Minimum Viable Technology (MVT) - Move Fast & Keep Shipping
“Engineers should be fast acting cowboys instead of calm clear-headed computer scientists” — Jeff Bezos, Founder & CEO, Amazon
Rampant Problem in Industry: When the task is to build a bike, the product and technology teams would plan for a product, which can later run on motor, seat four people, sail in sea and even fly in future. This digresses the focus from the real problem. This is what Bezos is suggesting to refrain from, as it wastes resources and delays the time to market. Being defensive, the Product/Technology teams usually build a cannon for killing a bird.
Minimum Viable Product (MVP) philosophy evolved, to avoid this “unnecessarily over-thinking and over-preparation” problem which plagued products in all companies. It encouraged building the minimum required at a certain point in time and then iterating and improving it going forward. MVP approach enables much needed fast experimentation, fail fast and invest where needed strategy.
No such philosophy evolved for Technology. Therefore, the decades old defensive and paranoid philosophy still prevails (which was apt during older 1–2 year long waterfall releases). Today, this becomes competitive disadvantage for startups usually fighting for survival or growing fast.
Fundamental problem is that the engineers blindly copy the large company’s strategies, considering them to be the standard. Corporates and startups differ widely on their needs of scale, brand, speed, impact of a feature, loss by a bug, etc. Startups enjoy more freedom to make mistakes and that they should exploit to their benefit.
Strategies used in big companies are often irrelevant and detrimental to a small growing company’s interests.
Minimum Viable Technology: Build the Minimum Technology that makes the product and its foreseeable further iterations Viable. Go live a.s.a.p. and then iterate and improve it based on real usage learnings. Each company’s stages is different. An MVT for a big company, can be over-engineering for startups.
If the task is to kill a bird, we should build a catapult/small-gun to begin with. If that becomes successful and there is a need to kill more or bigger animals, then bigger-guns/cannons should be built as required.
“There is nothing so useless as doing efficiently that which should not be done at all.” ~ Peter Drucker
Startups experiment a lot and only a few of them sustain the test of time. As per 80–20 rule, only those 20 percent successful ones should get deeper technology investments.
Principles of Minimum Viable Technology (MVT):
• Most decisions can be reversed or fixed easily.
“It’s important to internalize how irreversible, fatal, or non-fatal a decision may be. Very few can’t be undone.” — Dave Girouard
• Build MVT — Fast & cost effective. Build the Minimum Technology that makes the product and their foreseeable iterations Viable. Prefer operational familiarity while choosing technology rather than falling of the latest buzzword.
• Keep fundamentals right & Thumb rule: It’s a fine line between under-engineering and MVT approach and has to be tread properly. Thumb rule to be more deliberate and sure footed is — Discuss the ideal approach on board and then decide what to take out of it, to take it to MVT.
• Embrace change with open heart — iterate and rebuild as needed: Never try to force fit newer realities into the older model itself. Be ready to re-factor or throw away and rebuild where justified.
• Speed and Quality can go hand in hand: Never justify the bad quality of your work by using the speed of execution as excuse. MVT is for scope reduction, not for quality reduction.
• MVP/MVT is applicable for every iteration/release: People relate MVP to the First release of product only. In fact, it applies to every stage. MVP/MVT needs to be chosen from the remaining next tasks at every stage. At no stage, it is OK to waste time and resources.
• Deep understanding, conviction and confidence is needed for MVT. MVP/MVT approach is taking bold calls like - “Out of these tasks, only this much is enough to win this stage of game”. While defensive traditional approach is like - “we can’t win or sustain if we do not do most of the known tasks”.