Brainstorming, Page 1, the Spec and the Development

Sep 30, 2006 10:49 GMT  ·  By

Ever wondered how they do it? Well, here's your chance. An intimate look into an early version of the Aero Wizard Framework. Vinny Pasceri, Program Manager for the Windows Shell Team has made public a preliminary document of the Aero Wizard UI Spec dating back to the time when Vista was still Longhorn. The amount of work comprised in just one draft of the Aero Wizard UI Spec requires a complete team including developers, testers, designers, SDK writers, architects, usability testers and last but not least a Program Manager, enter Vinny Pasceri.

Brainstorming is but the first step. "Brainstorming starts with a kick off meeting with your feature team. My role in this meeting as a program manager is to kick off the discussion with high level problems that this feature will address. Once the problems are established, we start throwing out goals and scenarios that map to those goals. In this meeting it's perfectly okay to go off-topic and talk about the technologies we could use or individual behaviors, all of these thoughts help mold the feature. When the meeting(s) wrap up I collect all the information and head back to my office to make sense of the madness," explains Pasceri.

The next step is what they at Microsoft refer to as the "Page 1." Containing fundamental themes as Overview & Scope, Problems, Opportunities, Goals and Non-Goals, "Page 1" is a rough draft design to outline the general features requirements. The initial feature mapping process is not over until the fat lady sings. And, in this context, the fat lady is the feature team. This because the Program Manager has to adapt to the feature team and not the other way around, as Pasceri revealed an insight into the Microsoft inner workings: "Program Managers have all the responsibility but no authority."

With "Page 1" out of the way, the Spec comes into focus. The Windows shell Team deals essentially with two types of specs: Feature Spec and the Developer Design Document. While the first is centered on the user interface, the second involves the feature's technology details.

"When I write a spec, it's important that I capture as many details as possible that describe the UI and behavior of a feature. The spec is extremely valuable for the developer and the tester. The developer will use this spec as a guide when building the feature and the tester will use it to create test cases for the feature. I like to take the top-down approach where I layout the overall plan, then start breaking the feature down into little details. I also put myself in the tester's shoes (because they are the ones that find the holes in your spec) and try to come up with as many relevant issues as possible," described Pasceri.

And the last step? You guessed it, the development stage. The actual building of the feature. Where does the Windows Vista Aero Wizard fit into all this? Well here is a link, it will lead you to an actual Aero Wizard Framework published by Pasceri. Enjoy!