How Google Builds and Delivers Software

Release engineering is a relatively new and fast-growing discipline for building and delivering software. Release engineers at Google, for instance, use knowledge of development, configuration management, test integration, system administration, and customer support to compile, assemble, and deliver source code into software components or finished products.

With this excerpt from O’Reilly’s Site Reliability Engineering, you’ll learn how Google’s approach can inform your own company’s release engineering process—regardless of company size or the tools you use. Google Release Team member Dinah McNutt explains the rationale behind the company’s release engineering philosophy of self-sufficient teams, frequent (often-hourly) releases, and a self-contained build process that depends on known versions of build tools and dependencies.

You’ll discover a proven process for manufacturing software that is repeatable, gives predictable results, scales well, and can contribute to the growth of your company.

Dinah McNutt

Dinah McNutt has a masters degree in Mechanical Engineering from MIT. She is currently a Release Engineer at Google, Inc. She has been involved with systems administration since the mid-1980’s and release engineering since the early 1990’s. She has 20 years of commercial release engineering experience and has released all types of Unix-based software from shrink wrapped to web-based services to network appliances.

Her favorite part-time pastime is writing and some of her accomplishments include writing the Daemons & Dragons column for Unix Review Magazine and writing for SunExpert Magazine, Byte, ;login: and other publications. She has been active in several technical organizations and has spoken at conferences all over the world.