In my recent customer visits, I have been asked by quite a few people about how we are self-hosting (aka “dogfooding” which is the internal moniker for taking a bet on our own technology and product even before we ask our customers to do so) on the latest and great lifecycle tools (Visual Studio Team Suite – Visual Studio Team System client tools and Team Foundation Server) that are a part of Visual Studio 2005.
The team that is building the lifecycle tools is about 300+ strong and is spread across 3 different locations geographically. This team has now been self-hosting on what they are building for their day to day development activities for more than 12 months now. This means that the source code that they have for these tools are now stored in their source control repository. This means they are using the issue tracking system for tracking issues in the project. This means they are using MS Build for building the tools. This means they are using reporting capabilities to get insight into the status of the project.
Self-hosting is a key component in ensuring that our products are ready for use by our customers by the time we ship the products. Not only is it a good way to find and fix bugs prior to shipping, but it is also a great way to ensure the user model is correct. We have made numerous usability changes based on our own usage. It has also helped us ensure the right levels of performance and scalability for our large customers. It also has the more subtle impact that all team members have 1st hand experience with the use of the product which helps increase user empathy leveraged during support, triage, etc.
You can also look at Brian Harry’s recent blog for more specific data on this. Please note that this is just one example of self-hosting, because we do have a number of other teams around the company and a number of our early adopter customers are running these tools for their development projects.