| | Copyright |
| | Praise for The Build Master |
| | Foreword |
| | Preface |
| | | What This Book Is About |
| | | Defining Software Configuration Management |
| | | Who Should Read This Book |
| | | Assumptions Made on the Background of People Reading This Book |
| | | How This Book Is Organized |
| | | Get Stuck or Get Results. Period. |
| | | Outsourcing |
| | | What This Book Is Not About: Software Factories |
| | | Updates and Contact Information |
| | About the Author |
| | In Appreciation and Acknowledgment |
| | Introduction |
| | | What "NT" Really Stands For |
| | | How MSN Builds Code |
| | Chapter 1. Defining a Build |
| | | The Two Types of Builds: Developers and Project |
| | | Building from the Inside Out |
| | | More Important Build Definitions |
| | | How Your Product Should Flow |
| | | Microsoft Solution Framework |
| | | Summary |
| | | Recommendations |
| | Chapter 2. Source Tree Configuration for Multiple Sites and Parallel (Multi-Version) Development Work |
| | | Definitions |
| | | How This Process Works: An Example Using VSS |
| | | Hatteras: A Look Into the Future of SCC at Microsoft |
| | | Summary |
| | | Recommendations |
| | Chapter 3. Daily, Not Nightly, Builds |
| | | The Importance of a Successful Daily Build |
| | | What Are You Building Every Day? |
| | | Summary |
| | | Recommendations |
| | Chapter 4. The Build Lab and Personnel |
| | | The Need for a Build Lab |
| | | Build Lab Rules |
| | | Hardware Configuration |
| | | Build Personnel |
| | | Summary |
| | | Recommendations |
| | Chapter 5. Build Tools and Technologies |
| | | First, Every Build Needs a Script |
| | | Binary Generating Tools Also Referred to Loosely as "Build Tools" |
| | | "You Provide the Nose; We Provide the Grindstone" |
| | | In Steps the 800-Pound Gorilla! |
| | | XML Is the Here, the Now, and the Future |
| | | What Build Tool Should You Be Using and When? |
| | | Summary |
| | | Recommendations |
| | Chapter 6. SNAP Builds aka Integration Builds |
| | | What Is a SNAP Build? |
| | | When to Use SNAP Builds |
| | | How SNAP Works |
| | | Sample Machine Configuration |
| | | Operations Staff |
| | | Managing Throughput |
| | | Summary |
| | | Recommendations |
| | Chapter 7. The Build Environment |
| | | Setting Up the Environment |
| | | Setting Up a Developer or Tester Machine |
| | | A Makefile Example That Explains How This Works |
| | | Summary |
| | | Recommendations |
| | Chapter 8. Versioning |
| | | Why Worry About Versioning? |
| | | File Versioning |
| | | Build Number |
| | | Source Code Control Trees |
| | | Should There Be Other Fields in the File Version Number? |
| | | DLL or Executable Versions for .NET (Assembly Versions) |
| | | How Versioning Affects Setup |
| | | Even Installing Correctly Does Not Always Work |
| | | Summary |
| | | Recommendations |
| | Chapter 9. Build Security |
| | | Physical Security for the Build, Source, and Release Lab |
| | | Tracking Source Changes (All Check-Ins) The Build Process |
| | | Binary/Release Bits Assurance |
| | | IT Infrastructure |
| | | Want More Security? |
| | | Summary |
| | | Recommendations |
| | Chapter 10. Building Managed Code |
| | | The Official Definition of Managed Code |
| | | What Is the CLR, and How Does It Relate to Managed Code? |
| | | Managed Execution Process |
| | | The Definition of Assemblies As It Pertains to the .NET Framework |
| | | Delay Signing and When to Use It |
| | | One Solution or Many Solution Files? |
| | | Summary |
| | | Recommendations |
| | Chapter 11. International Builds |
| | | Important Concepts and Definitions |
| | | Method 1: Internationally Ignorant Code |
| | | Method 2: Locale-Dependent Source |
| | | Method 3: Single Worldwide Source |
| | | Method 4: Single Worldwide Binary |
| | | USE Unicode |
| | | Summary |
| | | Recommendations |
| | Chapter 12. Build Verification Tests and Smoke Tests |
| | | Smoke Test |
| | | Build Verification Tests |
| | | Summary |
| | | Recommendations |
| | Chapter 13. Building Setup |
| | | The Basic Definitions |
| | | Setup Is Not a Testing Tool |
| | | Summary |
| | | Recommendations |
| | Chapter 14. Ship It! |
| | | Software Release at Microsoft |
| | | Summary |
| | | Recommendations |
| | Chapter 15. Customer Service and Support |
| | | Goals of Support |
| | | How Support Works and Communicates with the Product Teams |
| | | Summary |
| | | Recommendations |
| | Chapter 16. Managing Hotfixes and Service Packs |
| | | Introduction to "Release Management with VSS" |
| | | Release Management: General Scenarios |
| | | Summary |
| | | Recommendations |
| | Chapter 17. 7 Suggestions to Change Your Corporate or Group Culture |
| | | What Is Corporate Culture? |
| | | It Starts at the Top |
| | | When All Else Fails... |
| | | Don't Go Gipper... |
| | | 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 |
| | | Summary |
| | | Recommendations |
| | Chapter 18. Future Build Tools from Microsoft |
| | | MSBuild |
| | | Visual Studio Team System |
| | | Visual Studio Team Build |
| | | The Microsoft Shell (MSH, or Monad) |
| | | Summary |
| | | Recommendations |
| | Appendix A. Embedded Builds |
| | | Nuts and Bolts of the CE Build System |
| | Appendix B. Extreme Programming |
| | | Extreme Programming Fundamentals |
| | | Test-Driven Development and Refactoring |
| | | An Extreme Programming Scenario |
| | | Microsoft Case Study |
| | | References and Further Reading |
| | Appendix C. Testing Guide |
| | | Test Guide: A Compilation from the Developer Division at Microsoft |
| | Appendix D. Debug Symbols |
| | | The Windows Scenario That You May Run into with Your Applications |
| | Final Thoughts |
| | Index |