Fri, 21 Aug 2009

Clouds are Always Moving: A Glimpse Inside Windows Azure Planning

In the world of shrink-wrapped products, new releases are shipped on a regular basis, and customers need to wait until the new version comes out to benefit from improvements.  A service like Windows Azure is a completely different world.  Our service is continuously improving, and our users benefit immediately from the work that we do.  You could say that we ship every day, or you could say that we never “ship” at all.

This has implications on the way we plan the future evolution of Windows Azure.  A process that works for a version of a product isn’t necessarily the right process for planning a service with no discrete releases.  There are three facts about Windows Azure that in my opinion have to shape our planning process:

  1. Quality is our number one priority.  Given the choice between delivering a new feature or maintaining the high quality of our service, we’ll always choose quality.  Sometimes this introduces uncertainty in our plans (particularly around schedules).
  2. Feedback shapes our product.  Because we’re constantly making improvements and adding functionality, we’re constantly getting new feedback.  This in turn helps us refine our plans.
  3. Agility is critical.  Competition changes, technology changes, the economy changes, etc., all in real-time.  We need to continuously and rapidly adapt to these changing circumstances.

(By the way, another interesting effect of the above is that we tend to talk less than a lot of product teams about specific future features.  We try to only talk about those specifics that you need to know because they might affect your plans.)

planning exercise photoFortunately for us, we have a great team driving our planning process, led by Mike Wickstrand (who our CTP participants might remember as “the guy who sent me that survey”).  As part of our ongoing planning, we went through a fun exercise on Monday, when about thirty of us got together in a big conference room to attempt to answer such questions as “What should our greatest competitive differentiator be?” and “Where should we focus our R&D efforts?”

We started the day by hearing from a few third-party consultants who presented a wealth of market facts, customer research, and competitive analysis data.  Then we took the stage for active participation.  Mike put a question up on the screen with two options, and all of us moved to one side of the room or the other based on our answer to the question.  We then had a few minutes to confer with the other people in our “team,” after which we presented our reasoning behind choosing the option we did.  After both teams presented their main arguments, we debated for a bit and tried to reach a group consensus.  Then on to the next question.

In the room were engineers who are building the product, evangelists who work with customers, product managers, and the consultants who helped with the research.  The outcome of our debates fed into a session with our senior leadership team later in the week, but I like that this exercise started with the people closest to the technology and the customers.

To me, the day was productive and a lot of fun.  I enjoyed debating with other passionate people, and I was pleased that even when we didn’t reach consensus on a question, there was generally understanding between the two sides about the issues involved.  Kudos to Mike and his team for a valuable session as part of our planning process.

A big thank you to everyone who has provided feedback to us on the forum, via Connect, in the Windows Azure Lounge, and by taking the survey Mike sent out.  The input we get from you is critical to the way we design Windows Azure, so please keep it coming!