Managing the Risks of the Daily Build and Smoke Test

The daily-build process has few drawbacks. Here is the main one.

CROSS-REFERENCE

The problems of premature releases are related to the problems of premature convergence discussed in "Premature convergence" in Overly Optimistic Scheduling.

Tendency toward premature releases. When people outside the development group see that the product is being built every day, pressure mounts to create frequent releases for outside groups. Creating external releases can look easy to a product manager, and it is easier than when you're not using daily builds, but it still sucks up developers' time in subtle ways:

  • Developers spend time preparing materials that are not needed for the final product but that are needed to support the release. These materials include documentation, interim versions of features still under development, stubbing out hazardous areas of the product, hiding debugging aids, and so on.

  • Developers make quick fixes so that features will work for a particular release rather than waiting until they can make more careful changes. These quick fixes eventually break, and the developers then have to make the more careful changes that they should have made in the first place. The net effect is that the developers waste time fixing the same code twice.

  • Developers spend more time responding to minor problems on an ad hoc basis early in the development cycle, problems that could be taken care of more efficiently as part of the developers' normal work cycle.

You wouldn't want to eliminate interim releases entirely. What you can do is to plan for a specific number of interim releases and then try not to increase that number.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.17.130.172