Last week I wrote about the value of out of band development and an upcoming release of powertoys for Team Foundation Server. Late Thursday night the Team Foundation Powertoys were released. You can get them here. There is a new forum dedicated to the Powertoys available here.
I am a little late blogging about this release because I was OOF (Microsoft acronym for out of office). Several folks have blogged about this release already including Somasegar (our VP), Brian Harry and Buck Hodges. I will not repeat information they have already provided, however, I do want to cover how these powertoys came about and how you can contribute to future out of band efforts.
First, I want to recognize the efforts folks put into this release. Chad Boles and Brian Harry worked on Annotate, Taylor Lafrinere (a college intern from U. of Michigan) was on Tree Diff with Tan Phan putting in the finishing touches. Tony Edwards, Mike Kok, and John Morris were on setup. Adam Barr and Ted Chambers helped test. Kevin Kelly was the director guiding us through the extensive release checklist. My role was like the stage manager - making sure everything was in the right place, passed various quality gates, reviewed and working for the band.
What Makes a Good Powertoy
As I mentioned in my post on out of band development, there are hundreds of missing features in the first release of a product into a mature market space. How did we choose what missing features would become powertoys?
Listening to customers - One of the criteria for a powertoy is that there has to be customer demand for it. It must solve a customer pain point. We get this feedback at conferences, on the forums, blogs, and every customer engagement. For example, we heard many customers request Tree Diff.
Listening to Dogfood users - We use Team Foundation Server for our version control, but tracking, and reporting. This is called dogfooding the product. We eat our own dogfood. Therefore, developers, testers, and program managers within Microsoft are customers too. Trust me, we hear their feedback :-). At Microsoft, we use the version control shelving feature alot. The ability to merge on unshelve was one of the first powertoys based on internal feedback. One developer went as far as making the request his background e-mail image (must do merge on unshelve).
Opportunistic - We also evaluate the amount of work required and future release needs when deciding on a powertoy. Everything else being equal, a powertoy that requires less work is going to be done first. We also want to use powertoys as a means of getting early feedback for features we are considering for the "in band" product release.
Contributing to Future Out of Band Efforts
You can contribute to future out of band efforts in several ways:
Provide Feedback on what you'd like to see via the forums, blogs, talking to the folks at conferences. To quote Frazier, "We're Listening". Some key forums include the Team Foundation Powertoy forum, Team Foundation Server forum, Version Control forum, and Work Item Tracking forum. Although there no reporting or team build power toys now, you can give suggestions on the Reporting, and Team Build forums.
Contribute to development efforts on CodePlex. Here you can join like minded and highly motivated developers to build cool products.
Write and release your own products. There is a healthy ecosystem around Team System for folks that can recognize the right opportunities. See my Friday August 25th post for an example of two companies that are doing just that.