(I should clarify that, if you're an engineer sitting down at the desk, cranking out a build of something you've changed, it's a lot quicker than what I've listed above -- depending on the changes involved, it'd be somewhere between a few minutes and a half-hour
for an incremental build. We don't build incrementally in the official daily drops, though it's something we've been thinking about.)
@ChrisStepaniuk: It takes <1 hour to sync the code, 5-6 hours to build, and then another 6-7 hours to build setup packages for the normal daily layouts. If we are doing a fully signed build, it takes another 36 hours to get everything signed in our Secret
Underground Signing Facility (TM).
@Michael Butler: There used to be a published book which discussed building practices at Microsoft, but I think it's at least a decade old and, for the life of me, I can't even remember the title. Alas, I'm not aware of any other offerings, but I'll ask
my counterparts in the other divisions.
@Logan Young: Most teams at MS are using something called "Source Depot," which is home-grown. Eventually, the plan is to transition to TFS across the company. True, this is definitely enterprise-level stuff that I was discussing with Beth, although at
least TFS scales really well down to small-medium businesses as well (in fact, that's where it got its foothold). Gobs and gobs of branches aren't required, but you might consider them for (for example) forking diffrent versions.
@ JerryOdom: Thanks! WPF is definitely cool -- I haven't been involved with the transition directly (other than coordinating the checkins, though I've certainly appreciated the results.