"Dogfooding" VS 2010 and .NET 4

As we get ready for the launch of Visual Studio 2010 and .NET Framework 4, I find myself looking back at the project to think about some of the critical factors that lead to our success.

One of the things that stands out clearly for me is our practice of dogfooding the various pieces of Visual Studio throughout the product cycle. Here at Microsoft, we use the term “dogfooding” to refer to the internal use of a pre-release product in our daily work - after all, until our product is good enough for us to use every day, it’s not good enough for the rest of the world either!

Microsoft teams have a long tradition of dogfooding their products long before releasing them to external customers for their own adoption and Developer Division is no exception to that. In fact, because we are in the same business as many of our customers (namely writing software products) I would say that dogfooding is an especially important practice for us to embrace. I’m happy to tell you that with Visual Studio 2010 we have redoubled our efforts in this area.

One of the first things we did during the VS2010 project cycle was to convert the entire division over to using Team Foundation Server for bug tracking and source control. We had used TFS to track features across the entire project during previous product cycles. We had also used TFS for source and bugs for the Team System teams. So, switching over the entire division was a big step for us in terms of using our latest tools on such a large project. Here are some statistics from our instance of TFS towards the end of the project:

· 3,668 active users in a 14 day period

· 896 builds per month

· 828,978 work items, including bugs, tasks and other work that we track

· 25,170,852 source code files under version control

· 15.5 terabytes of data

Brian Harry runs the TFS team and has reported extensively about our use of TFS during this product cycle. I’d encourage you to follow his blog if you’re interested in learning more about what we’ve done and what we’ve learned as we use TFS internally.

The other big thrust of our dogfooding effort for the VS2010 and .NET 4 project was to ensure that we had broad adoption of the latest builds of Visual Studio itself. Unlike with TFS where the service is centrally managed, the tools developers and testers use on their desktops are not. As such, we built telemetry into dogfood builds of VS to help us understand how many folks were using the product daily and what builds were deployed throughout the team. As of today, we have over 12,000 people inside Microsoft running VS 2010 for their day-to-day development. In addition, employees installed pre-release versions of .NET Framework 4 to their desktops more than 35,000 times, and Microsoft.com and MSDN deployed pre-release .NET Framework 4 on 112 servers.

Early feedback from our internal adopters has provided us significant help in ensuring that our product works well in many different real world scenarios for different sized teams, projects and application types.

As you can see, dogfooding plays a very significant role in our product development phase and one that we in Developer Division embrace fully.

Namaste!