𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

The Build master: Microsoft's software configuration management best practices

✍ Scribed by Maraia, Vincent; Richter, Jeffrey


Publisher
Addison-Wesley Professional
Year
2005;2006
Tongue
English
Leaves
289
Series
Addison-Wesley Microsoft technology
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Written by a top Microsoft consultant, this book will become the standard guide to the build process in the software engineering lifecycle. The build process is perhaps the least understood and least documented part of the software engineering process. One thing that Microsoft does very well is build software, and this book is written by one of the top Microsoft experts on the build process. It has a foreword by bestselling author Jeffrey Richter. Say what you will about Microsoft, they know how to successfully build and release software. Vince Maraia has been a key member of the build teams for many of their major software releases over the last fifteen years. In this book he distills the wisdom he has learned about building software, while also setting it into the context of related steps, including configuration management and deployment.

✦ Table of Contents


Cover......Page 1
Contents......Page 10
Foreword......Page 16
Preface......Page 18
The Two Types of Builds: Developers and Project......Page 38
Building from the Inside Out......Page 40
More Important Build Definitions......Page 41
How Your Product Should Flow......Page 45
Microsoft Solution Framework......Page 52
Recommendations......Page 53
Chapter 2: Source Tree Configuration for Multiple Sites and Parallel (Multi-Version) Development Work......Page 54
Definitions......Page 55
How This Process Works: An Example Using VSS......Page 58
Hatteras: A Look Into the Future of SCC at Microsoft......Page 61
Recommendations......Page 70
Chapter 3: Daily, Not Nightly, Builds......Page 72
The Importance of a Successful Daily Build......Page 75
Summary......Page 78
Recommendations......Page 79
Chapter 4: The Build Lab and Personnel......Page 80
The Need for a Build Lab......Page 82
Build Lab Rules......Page 83
Hardware Configuration......Page 84
Build Personnel......Page 88
Recommendations......Page 90
Chapter 5: Build Tools and Technologies......Page 92
Binary Generating Toolsβ€”Also Referred to Loosely as β€œBuild Tools”......Page 94
β€œYou Provide the Nose; We Provide the Grindstone”......Page 96
In Steps the 800-Pound Gorilla!......Page 97
What Build Tool Should You Be Using and When?......Page 99
Recommendations......Page 101
Chapter 6: SNAP Buildsβ€”aka Integration Builds......Page 102
What Is a SNAP Build?......Page 103
How SNAP Works......Page 104
Sample Machine Configuration......Page 105
Managing Throughput......Page 108
Summary......Page 110
Recommendations......Page 111
Chapter 7: The Build Environment......Page 112
Setting Up the Environment......Page 113
Setting Up a Developer or Tester Machine......Page 114
A Makefile Example That Explains How This Works......Page 120
Summary......Page 122
Recommendations......Page 123
Why Worry About Versioning?......Page 124
File Versioning......Page 125
Build Number......Page 127
Source Code Control Trees......Page 128
Should There Be Other Fields in the File Version Number?......Page 129
DLL or Executable Versions for .NET (Assembly Versions)......Page 130
How Versioning Affects Setup......Page 132
Even Installing Correctly Does Not Always Work......Page 135
Recommendations......Page 136
Chapter 9: Build Security......Page 138
Physical Security for the Build, Source, and Release Lab......Page 140
Tracking Source Changes (All Check-Ins)β€”The Build Process......Page 142
IT Infrastructure......Page 143
Want More Security?......Page 145
Recommendations......Page 146
The Official Deflnition of Managed Code......Page 148
What Is the CLR, and How Does It Relate to Managed Code?......Page 150
Managed Execution Process......Page 151
Delay Signing and When to Use It......Page 153
One Solution or Many Solution Files?......Page 156
Summary......Page 157
Recommendations......Page 158
Chapter 11: International Builds......Page 160
Important Concepts and Definitions......Page 161
Method 1: Internationally Ignorant Code......Page 163
Method 2: Locale-Dependent Source......Page 164
Method 3: Single Worldwide Source......Page 165
Method 4: Single Worldwide Binary......Page 166
USE Unicode......Page 168
Recommendations......Page 169
Chapter 12: Build Verification Tests and Smoke Tests......Page 170
Smoke Test......Page 172
Build Verification Tests......Page 174
Summary......Page 180
Recommendations......Page 181
Chapter 13: Building Setup......Page 182
The Basic Definitions......Page 184
Setup Is Not a Testing Tool......Page 185
Recommendations......Page 190
Chapter 14: Ship It!......Page 192
Software Release at Microsoft......Page 197
Recommendations......Page 199
Chapter 15: Customer Service and Support......Page 200
Goals of Support......Page 202
How Support Works and Communicates with the Product Teams......Page 203
Summary......Page 217
Recommendations......Page 218
Chapter 16: Managing Hotfixes and Service Packs......Page 208
Introduction to β€œRelease Management with VSS”......Page 209
Release Management: General Scenarios......Page 211
Chapter 17: 7 Suggestions to Change Your Corporate or Group Culture......Page 220
What Is Corporate Culture?......Page 223
It Starts at the Top......Page 224
When All Else Fails......Page 234
Don’t Go Gipper......Page 235
NASA Columbia and Challenger Disasters: When Management Pulls Rank and There Is a Big Disconnect Between the Manager’s View and the Engineer’s View......Page 236
Recommendations......Page 238
Chapter 18: Future Build Tools from Microsoft......Page 240
MSBuild......Page 241
Visual Studio Team System......Page 243
Visual Studio Team Build......Page 246
The Microsoft Shell (MSH, or Monad)......Page 248
Summary......Page 250
Recommendations......Page 251
Appendix A: Embedded Builds......Page 252
Nuts and Bolts of the CE Build System......Page 253
Extreme Programming Fundamentals......Page 256
Test-Driven Development and Refactoring......Page 259
An Extreme Programming Scenario......Page 261
Microsoft Case Study......Page 262
References and Further Reading......Page 264
Test Guide: A Compilation from the Developer Division at Microsoft......Page 266
Appendix D: Debug Symbols......Page 274
The Windows Scenario That You May Run into with Your Applications......Page 275
Final Thoughts......Page 278
C......Page 280
E......Page 281
J-L......Page 282
N......Page 283
S......Page 284
T......Page 285
X-Y-Z......Page 286

✦ Subjects


Science;Technology;Computer Science;Programming


πŸ“œ SIMILAR VOLUMES


The Build Master: Microsoft's Software C
✍ Vincent Maraia πŸ“‚ Library πŸ“… 2005 πŸ› Addison-Wesley Professional 🌐 English

Say what you will about Microsoft, they know how to successfully build and release software. Vince Maraia has been a key member of the build teams for many of their major software releases over the last fifteen years. In this book he distills the wisdom he has learned about building software, whi

The Build Master: Microsoft's Software C
✍ Vincent Maraia πŸ“‚ Library πŸ“… 2005 πŸ› Addison-Wesley Professional 🌐 English

Managing builds is crucial to the profitable delivery of high-quality software; however, the build process has been one of the least-understood stages of the entire development lifecycle. Now, one of Microsoft's leading software build experts introduces step-by-step best practices for maximizing the

Managing the Change: Software Configurat
✍ Michael Haug, Eric W. Olsen, Gonzalo Cuevas, Santiago Rementeria (auth.), Michae πŸ“‚ Library πŸ“… 2001 πŸ› Springer-Verlag Berlin Heidelberg 🌐 English

<p>This book is a result of the European Experience Exchange (EUREX) project sponsored by the European Systems and Software Initiative for Software Best Practice in Europe. The EUREX project analyzed the industrial and economic impact and the common aspects and differences between and among more tha

Mastering software project management :
✍ Murali K. Chemuturi, Thomas M. Cagley Jr πŸ“‚ Library πŸ“… 2010 πŸ› J. Ross Publishing 🌐 English

Written from the standpoint of a project manager working in a software development organization, this unique guide explains software project management in its entirety, including project acquisition and execution with backward linkages to concepts that play a facilitation role in successful project

Software Configuration Management Patter
✍ Stephen P. Berczuk, Brad Appleton, Kyle Brown πŸ“‚ Library πŸ“… 2003 πŸ› Addison-Wesley Professional 🌐 English

The book is structured in three parts. The introduction describes some of the basic concepts, notation, and terminology used in SCM. The second part is the most important and presents the catalogue of patterns. And the last part of the book contains a list of resources and an appendix with tool supp