Information Technology Reference
In-Depth Information
consuming tasks within a software process be mechanized using auto-
mated builds. In fact, in both industries, the volume of demand has
necessitated this advancement. If a worker's effort in her eight-hour
day is tied up in eight hours of manual tasks, there is absolutely no
time left for monitoring the process and the product, planning
improvements, and so on.
Sometimes developers are like the cobbler who provides all his
customers with shoes, but forgets shoes for his children: We create
applications to automate processes for users, yet we don't automate
our own processes for developing software. A study 1 conducted in
2003 indicated that approximately 27% of development teams run
daily builds. As an industry, you could say that we are still using the
old, manual automobile assembly line model.
People sometimes refer to the complex nature of software as an
excuse for not automating portions of development. Yes, developing
software is often complex, but there are many repetitive, error-prone
activities that we can automate. The development of software may be
complex, but the delivery of software must be a push-button affair.
The Integrate button (as seen in Figure 4-1) contains an “auto-
mated assembly line” that embodies many practices that compose the
high-level practice of CI. An automated build represents the modern-
day automated assembly line that uses “robots” to integrate software.
In this chapter, we discuss the benefits of using a CI server to per-
form an integration build whenever a change occurs. Not all builds are
built the same, so we cover the types of builds you will typically exe-
cute and how to stage your builds. We also cover the aspects of choos-
ing and using a separate integration build machine for CI. Automated
CI is not the only viable approach to running an integration build; we
also cover a technique to run manual integrations using a queued
approach. Since obtaining build feedback quickly is so important, we
finish the chapter with the bane of CI, long-running builds, along with
common questions about CI we've heard over the years.
1. Cited in “Software Development Worldwide: The State of the Practice” (with
Alan MacCormack, Chris Kemerer, and Bill Crandall), IEEE Software, November-
December 2003, vol. 20, no. 6, pp. 28-34 (Invited). www.pitt.edu/~ckemerer/
CK%20research%20papers/SwDevelopmentWorldwide_CusumanoMacCormack
Kemerer03.pdf.
Search WWH ::




Custom Search