Introduction


The topics in this book apply to development shops of all sizes, from small groups of 40 to 100 developers to groups as large as the 2,000+ developers in Windows. Some of these topics might not seem that interesting or important to you depending on what stage of development you are currently in, but the sooner you start planning and designing all these processes into your product plans, the more successful you will be in the long run. Remember that NT started with six people from Digital Equipment Corporation (DEC) in 1988 and grew to 200 developers and about 4 to 5 million lines of code before shipping the first version 5 years later.

Keeping this in mind, the quote from Paul Thurrott's Windows Supersite is appropriate: (http://www.winsupersite.com/reviews/winserver2k3_gold2.asp):

One element about the NT family of operating systems which evolved from Windows NT to Windows 2000, XP, and now Windows Server 2003 that has remained unchanged over the years, though the details have changed dramatically, is the build process. Somewhere deep in the bowels of Microsoft, virtually every day, at least one Windows product is compiled, or built, into executable code that can be tested internally by the dev, or development teams. For Windows Server 2003, this process is consummated in Building 26 on Microsoft's sprawling Redmond campus, where banks of PCs and CD duplicating machines churn almost constantly under the watchful eyes of several engineers.

Paul Thurrott, January 30, 2003

It is worth noting that the Windows 9.x (Windows 95, 98, and Millennium) code is based off the Windows 3.0 code (that ran on top of DOS) that was released in 1991. Little, if any of this code was used in the NT releases. This group was considered the Windows 9.x team and had a different build model than what I talk about in this book. I have friends who worked in the Windows 9.x build lab at the same time I was on the NT build lab team. The Windows 9.x horror stories made our build issues seem like child's play! Microsoft wanted to end-of-life (kill) the Windows 9.x code base after Windows 95, but because of customer demand and the fact that the hardware needed to run an NT system was still a little expensive, Microsoft decided to extend the life of the Windows 9.x line until Windows 2000 ("Built on NT Technology" a little redundancy splash screen) was released. This will be the only reference to the Windows 9.x team and processes in this book. From this point on, whenever I mention Windows, it will be in reference to the Windows NT team.

This book is biased toward Microsoft practices and tools, which is the reason for the subtitle. Still, you can carry a lot of these principles to other platforms because, after all, it is just building software that we are talking about, right?

Each chapter starts with a Philosophy, which is a quote or statement that sets the tone. You will also see Microsoft Sidenotes sprinkled throughout, which are historical facts, recollections from notes and e-mails, or anecdotes from my and other people's experience while shipping our products. Everything is 100 percent accurate to the best of my knowledge.

Because there can be many different definitions for a word or term, even within the same company such as Microsoft, each chapter defines specific terms in regard to how they are used at Microsoft. Sometimes the definition matches an accepted industry term, and other times I introduce a new term not known outside of Microsoft, such as Virtual Build Lab (VBL). The definitions in this book will be posted on www.thebuildmaster.com so you can adopt them if you like.

I make a lot of references to the old NT ways of shipping software because the processes we used back then scaled incredibly well to NT 5.0. With NT 5.0, some new processes were introduced most notably, the Virtual Build Labs. Smaller teams within Microsoft also use this process, so it scales down and up.

Figure I.1 gives you an idea of the size of the teams and code shipped.

Figure I.1. NT release chart.

NT Release Chart

Ship Date

Product

Dev Team Size

Test Team Size

Lines of Code

Jul-93

NT 1.0 (released as 3.1)

200

140

4-5 Million

Sep-94

NT 2.0 (released as 3.5)

300

230

7-8 Million

May-95

NT 3.0 (released as 3.51)

450

325

9-10 Million

Jul-96

NT 4.0 (released as 4.0)

800

700

11-12 Million

Dec-99

NT 5.0 (Windows 2000)

1,400

1,700

29+ Million

Oct-01

NT 5.1 (Windows XP)

1,800

2,200

40 Million

Apr-03

NT 5.2 (Windows Server 2003)

2,000

2,400

50 Million




The Build Master(c) Microsoft's Software Configuration Management Best Practices
The Build Master: Microsofts Software Configuration Management Best Practices
ISBN: 0321332059
EAN: 2147483647
Year: 2006
Pages: 186

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net