We’ve received several requests on the tools newsgroup for the history of the development of ExBPA, so here it is. The concept for such a tool has been around for several years, and there have been a few prototypes created previously. For one reason or another, these earlier efforts didn’t get very far or never went external. One particular effort, called ExConfig, is worth calling out because it got my team looking in this direction in the first place. ExConfig was developed by Jon LeCroy in the Microsoft IT group and is designed to track configuration changes across servers. A portion of its functionality has been incorporated into ExBPA through our baseline logic, and further work will likely be done in this area in future versions. ExBPA itself (originally called ExDiag) first started taking solid form around January of this year when Paul Bowden and I began to exchange ideas around it. Paul wrote up a short spec outlining the basic requirements, and I spent a weekend writing the first skeletal version of it. At the time, it was not really a "planned" project; it was just an experiment by us to see what we could make of it. Within a couple weeks we had something interesting enough to begin showing around, and we really gathered momentum quickly.
The next person to get involved was one of my developers, Jack Bennetto, who began looking at the rules engine. I was concentrating on data gathering and the UI, and Paul was developing the configuration file. Another of my developers, Kevin Chase, began getting involved shortly after (Kevin, who is perhaps the top tough problem solver in Exchange, has developed some pieces here and there and done a lot of optimizations to make us as efficient as possible). We then got a tester (Jian Yan), and later another one (Erin Bookey). Two Exchange SE developers (Weiguo Zhang and Amol Brahme) also got involved part time to developer the network and protocol testing pieces. Shawn McGrath, from PSS, made sure the tool was sufficient for our support engineers to use for troubleshooting and has evangelized its use in that group.
At the end of February we begin sending out beta releases to Microsoft IT and PSS (our support team) and they started playing with it and giving us feedback. At this point we discovered our Japanese subsidiary was considering a tool along the same lines as ours, and they decided to drop their effort and we agreed to localize to Japanese out of the gate so they could take advantage of our work as soon as possible (this is why we localized to Japanese first).
We did monthly releases from February on and the internal feedback we received was instrumental in making the tool work well. Many of our field personnel have contributed to this tool with ideas for functionality and refinements of rules. The same kinds of conversations you see now on the newsgroup site have been taking place for months internally. They end up not just making ExBPA better, but serve to increase everyone’s understanding of generally misunderstood settings or functions.
We went through a lot of iterations early on, particularly in the configuration schema and the dispatcher design, but mostly settled the major design issues by May. Around July, I think, our usability teams started getting involved and Naud Frijlink, Michael Faoro, Blaine Carpenter and Melroy D’Souza designed the UI that we shipped, which I developed. The Exchange User Education team then got hard at work authoring the content for the tool, which include the Help file and the detailed articles that appear when you click on the 'Tell me more...' link. The loc team also started working on making sure the product was properly globalized and localized to Japanese correctly. Again, there were many people involved in these efforts.
There have been many contributors throughout the Exchange team, our IT group, and our support group, who are too numerous to mention. This has required a great team effort to ship this tool and everyone involved has been extremely enthusiastic and dedicated to making it work. While the tool seems to be getting a good response already, we are particularly excited over where we can take it in the future. Integrating with MOM, incorporating other data gathering and diagnostic tool logic, continuing to refine the rules and add new ones, retrieving data from other sources, localizing to other languages, and the eventual integration into Exchange admin are all top things we are looking at doing over time.