Ever wonder how large Visual Studio is? This public comment from the MSDN feedback gives some good stats:
Visual Studio is over 43 million lines of code, there are over 30 teams working on different pieces, with roughly 700 developers checking-in code to 11 different virtual build labs that are then integrated on a rotating schedule producing over 100 different builds of the product daily. In addition we have interdependencies with SQL and MSDN. When we ship an official release like a Beta or RTM (release to market) we lock down and are code complete several months before the actual release date to allow for a final test pass, to stabilize and hit stress goals, then get the best bits to fulfillment for mass production of media. Before code complete there is a long list of exit criteria for the product that must be met, ensuring all key features and scenarios meet expectations. We have customer bug exit criteria to ensure high priority issues are fixed.
We’ve had a very interesting challenge scaling development and testing techniques up to a product of that size. It seems like most methodologies (“You just write unit tests for everything and then you have no bugs”) I hear about are really intended for about 5 person teams. If you had a unit test for every 10 lines of code, that’s 4 million unit tests. That’s would be a lot of unit tests to run before a single check-in.