Review: The Build Master
Iain Laskey examines a book that covers ground rarely charted - building large software projects
| Product | The Build Master |
|---|---|
| Company | Addison-Wesley |
| Web | www.awprofessional.com |
| Price | From £28.99 |
| We like | Thought provoking and in depth coverage, useful background information. |
| We don't like | Unfunny cartoons |
| Rating | 9/10 |
| Requirements |
If ever an area of development was badly covered by good guides, it is software build best practice. It's one thing to work in a small team compiling your code every few days, it's quite another to manage hundreds of developers and to operate rigorous processes for source control, nightly builds, progress reporting and integration.
The Build Master by Vincent Maraia covers an area of software development rarely touched upon by other books - the software build process.
The Build Master's goal is to share the author's 15 years of experience and expertise at Microsoft. It describes Microsoft's approach to handling large numbers of developers and multiple versions of code and covers such areas as the importance of the daily build, source control and introduces the concept of the Build Lab.
A build lab is an environment that the development team has full control over and offers security, a known hardware and software configuration and takes the onus off the day to day coders to produce the daily builds.
To achieve this, a good set of source control management processes and tools are needed and the author covers this area in some depth. Trying to visualise source code management can be tricky with all the branches and sub projects and the author provides some useful diagrams to help illustrate the ideas.
The rest of The Build Master builds on these basic concepts and describes how to handle various internationalisation issues, what sort of build tools to use and how to use them (with a whole chapter devoted to the SNAP build system) and security issues. There are lots of stories about how Microsoft ended up working the way they did, side notes on people and technologies as well as plenty of illustrations and recommendations. The author is also very clear about where responsibilities lie and lays down rules such as only testers can close bugs. Obvious to many developers but by no means universal practice
We were pleased to see a chapter devoted to creating setup scripts although the chapter was rather short. It was a surprise to read Microsoft have no corporate standard with several different tools being used. However, this chapter only illustrates the use of WiX or Windows Installer XML and even then, as the author admits, it's only a brief overview. WiX is Microsoft's first open source tool released under the Common Public License and uses XML to drive a setup construction tool.
The penultimate chapter on corporate culture may be the hardest to put in to practice and we pity anyone who has read this book going to his or her manager and explaining that everyone from the top down needs to change the way they work and think.
The appendices cover a motley assortment of subjects from Windows XP Embedded (which we'd never heard of) through Extreme Programming, testing and issues with debug symbols when targeting Windows 2000 versus Windows XP.
Conclusion
We think this is a great book. The information it contains is pure gold gleaned from real world experience. The writing style is easy going and full of anecdotes making it a good read despite the potentially dry material. We could have done without the badly drawn and generally unfunny cartoons and would have liked more on the important area of setup script creation though.
Whilst The Build Master describes a process that scales up well, much of it applies to teams of any size so if you're responsible for 5 or 500, this is a book that could revolutionise the way you work.


