Product Management

Using Fast Iterations to Optimize

MAR 18 2024 :: PHIL GERITY

Photo by Saffu on Unsplash

The benefits of fast iterations

I started my journey at Microsoft 15 years ago as an outsider to the tech industry, having worked in management consulting prior.  If anything prepares you to "fake it until you make it" it's consulting (in all seriousness I deeply appreciate the skills I learned as a consultant and use them to this day).

As I slowly found my footing inside Microsoft's product portfolio, I got a couple of tastes of building disruptive services and products.  Something had drawn me to work in tech for this very reason and I was hooked.  Starting in 2012, I worked on a way for Microsoft to sell online services through it's channel partners for selling Office 365, which is today called the Cloud Solution Provider Program and later I also helped build Partner Center -- the software that backs that program.  Up until that point Microsoft only sold boxed software through its channel partners, there were no transactional APIs or mechanisms for partners to participate in the lifecycle of managing and supporting products -- we completely changed that and today Microsoft's entire partner ecosystem is oriented around selling, managing, and supporting online services.

In the years since building Partner Center, I have been working on Windows 365 which is doing for Windows what Office 365 did for Office.  We started with a notion that we could recombine Azure Virtual Desktop, Intune, and Windows into a simpler, easier to use online service that made Windows available from the cloud on any device.  Since we began development on Windows 365 we've found product-market fit, rode out the pandemic, and saw the next wave of computing form on the horizon in generative artificial intelligence.  We've used fast iterations throughout the journey to adapt to each of these realities and it's helped us position Windows 365 as both a revenue generating machine and a strategic asset.

Over the years I have learned a great many things from my colleagues and my experiences about how to build, scale, and improve such services.  One thing that stands out is the incredible impact that sustained small gains can have when compounded over time. When we started Partner Center and Windows 365 we built the basic set of constructs needed to find problem-solution fit and then product-market fit once we had customers.  Once we achieved those milestones we continued to make iterative improvements that led to large scale services.  There are two great benefits of small incremental gains: compounding gains, and the ability to adjust quickly to mistakes.

Benefit #1: Compounding gains

First, compounded gains are absurdly high when you increase the frequency of iterations.  This is why in agile sprint planning the emphasis is on shorter cycle times.  This can produce incredible impact. The math is stunning.  2% gains every 2 weeks over the course of a year produce 67% gains.  Not a bad return on sweat equity. Over the course of 5 years, 2% incremental gains every 2 weeks produces 1200% gains! As Sam Altman put it,

"The law of compound growth being what it is: if you can get 2% better every iteration cycle, your iteration cycle is every four hours rather than every four weeks, and you compound that over the course of a few years, you’ll be in a very very different place."

-Sam Altman, CEO OpenAI

Benefit #2: Quick adjustments

Second, especially in cloud services which can have sequenced interdependencies between various microservices, getting the cycle times shorter helps work out the kinks. If you can de-risk everything in your execution cycle by using short iterations to test, then you can repeatably produce a nearly risk-free product.

The exact same thing is true when you get your product in the hands of customers and find out that what you thought was the perfect solution, is really somewhere between completely wrong and having some room for improvement.  With frequent iteration cycles you just adjust and move forward.  This is such an important pattern that explains the success of many serial entrepreneurs -- shorter cycle times mean you can adapt to change extremely fast and out innovate competitors.

Wrapping up

Since innovation does not stop at the point of launching a product, you can deduce that all forms of improvement are really a continuum of product refinement stages.

Fast cycle times is a simple and effective approach to use in navigating each of these stages.  In a future post we'll take a closer look at how fast cycles can be used to find problem-solution fit, to get to product-market fit, and in the process of making continuous improvements.

Originally published on Product Byte (Substack)