Section 5.8. Checklist


5.8. Checklist

This section contains some questions that the person responsible for your builds should feel comfortable answering about your current build process:

  • When you build the product, do the generated files end up mixed in with the source files, or are they in a separate location?

  • You made a small change to a few files, but then rebuilding the product took much longer than you expected. Can you find out why it took so long? Exactly which files were rebuilt, and why was each one rebuilt?

  • How long does an up-to-date build take with your build tool? (As explained in the earlier Section 5.2, an up-to-date build is one where nothing has changed since the last build and so the generated files are already up-to-date.)

  • How long do the other kinds of build (virgin, changed, interrupted, and clean) typically take for your product?

  • How do you cause just a subset of your product to be rebuilt? Do you have to delete a magic file? Specify some target name to the build tool? Change to a special location in your source tree?

  • How do you debug a build process? Can you debug where incorrect dependencies come from?

  • Can you use different versions of your build tools on the same machine with confidence?

  • Can you list all the other tools (and their versions) that your build tool depends on? Are they safely stored somewhere in such a way that you could recover them after a disaster? When was this backup last updated?

  • Can you list all the operating systems (and their versions) that your build tool depends on? Are they safely stored somewhere in such a way you could recover them after a disaster? When was this backup last updated?

  • How long did all the different kinds of builds take in the past? Can you predict when your build will become too slow?

  • Do you think that a parallel build would improve your build times? How do you configure your build tool to run parallel builds?

  • If you want to produce a different product using the same build tool and build files, in how many places do you have to add information about the new product?

  • If you want to add a new type of build (e.g., with a different set of debugging arguments to a compiler or to generate PDF files instead of HTML), how many of the build files do you have to change? How many places do you have to make these changes in each build file?

  • If you had to change the name of a product or a project, or the name of the company, how many build files would you have to change?

  • Finally, the real motivation for this chapter: how much time per week do the project's developers spend wrestling with the build tool, waiting for slow builds, and investigating phantom bugs that are due to inconsistent builds?



Practical Development Environments
Practical Development Environments
ISBN: 0596007965
EAN: 2147483647
Year: 2004
Pages: 150

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net