Probably you heard last week's big news that Scoble is leaving Microsoft. Pundits immediately started sounding the death knell for transparency and customer involvement at Microsoft. Far from it! Our illustrious leader Soma went on record way back in 2004 with his intention to involve customers in every step of the product development process, even going so far as to have certain "influencers" (which I read as "customers who a) buy huge amounts of DevDiv product and/or b) have deep and extensive knowledge and experience building apps") actually participate in reviews of and sign off on specs (i.e., taking the existing advisory boards even further). CTPs aren't going to stop anytime soon, either.

This is all great, but I think we can do even better. One of the original reasons for building Expression Interactive Designer (EID), I think, was to prove out WPF. If *we* couldn't build an honest-to-goodness industrial-strength application on top of Avalon, with our direct pipes to the Avalon and CLR and C# and MSBuild and whatever teams, certainly the general public would have a hard go of it! If you've been watching WPF for awhile you know parts of it have gone through dramatic changes. I don't think I'm being presumptuous to say that many of those changes were (at least in part) the direct result of problems we ran into and feedback we provided. Once the CTPs started y'all could give feedback as well, and that feedback has driven changes just as much as my team's feedback has. So imagine what WPF might look like if you had been able to provide that feedback from Day One!

Take that previous paragraph and apply it to Sparkle and it would still ring true. EID today is very different from what it was when I first joined the team three years ago. One of our primary issues has always been to determine what exactly a designer is going to want to do with EID and how they will want to use it. The designers on our team and other teams throughout Microsoft have been an immense help, and the devs and testers and program managers on our team are all way artistic, and a few design shops have been using EID extensively, and of course now you can download our CTPs. So we have been/are getting lots of great feedback. But again, imagine what EID might look like if y'all had been able to provide that feedback from Day One!

Having certain people review and sign off on our specs is a good step. Even better would be to have those people integrated into the feature teams, or at least participate in a mini-signoff at the end of each mini-milestone - you know, that agile thing about rapid feedback on small chunks of functionality built in small iterations. Our automation stack lets test cases be written in terms of user actions - i.e., terms that our customers understand. Our customers could actually write test cases that describe what they expect EID to do! You know, that agile thing about customer-driven acceptance testing.

Yes I know there are all sorts of competitive reasons to not be this transparent. Business secrets, keep the competition guessing, yadda yadda yadda. I wonder, though, whether involving customers this deeply wouldn't provide much more of a competitive advantage than any super-secret feature might. Whether it might not be the execution that counts rather than the ideas themselves. Think about it - if you have engaged in deep discussion with the people building a product, and they have made changes to that product as a result, and so the product is as much yours as it is theirs, how likely is it that you are going to purchase something else instead? Fuhgeddaboudit.

That's what I would do, if I ran the zoo. (Said young Gerald McGrew.) Fund my research lab and let's find out how crazy nuts insane whether I'm right! <g/>


*** Want a fun job on a great team? I need a tester! Interested? Let's talk: Michael dot J dot Hunter at microsoft dot com. Great coding skills required.