Brad Appleton provided this as a reader submission. Thanks Brad!

Mike Clark gave a 2004 presentation on Pragmatic Project Automation that included a description of what he called the "CRISP" criteria for build. There is a similar description in the 2007 presentation “All Builds are Good”, and a more detailed description in this 2007 CT-SPIN presentation on project automation:

• Build from scratch and independently without human intervention.

• Must be able to create exactly the same build at a later time.
• Store build scripts in source control.

• "Detector of unexpected changes".
• Provide information on why a build failed.

• Let the builds run automatically.

• Build should be runnable from any system (same platform), not just that of the developer.
• For cross-platform software, it should build on all platforms.


  1. Tim you rock, that's responsive!

  2. But Brad A basically handed it to us ready to go, so really *he* rocks.

    But I might rock a little sometimes, too. ;-)

  3. Re "Detector of unexpected changes", that's why, whenever possible, I include a fast subset of the tests in builds. Usually the build target is not the executable, but a "this has been tested since last build" flag-file, that "depends" on the executable and is "touched" after a successful build-and-test.

  4. Thanks Tim! (BTW - any chance you'd consider changing the hyperlink for my name to point to my blog ( instead of my homepage? (the latter is sorely in need of updating :-)


  5. As long as I'm on a "rockin" roll, I'll suggest a few other things regarding Agile CM that might be flashcard worthy. One of them mayt overlap with CRISP, so I'm not sure if it ought to be added, but at least one of the following three should be card-worthy:

    Four Rules for Simple Codelines

    Five R's of Agile SCM Baselines

    5 C's of Agile SCM Codelines

    Personally, I think the first of those three is the most "fully baked"

  6. What would I not do for my fellow alum? Your link is changed. I had started some agile version control content, but then I felt that it wasn't quite good enough and my opinions changed somewhat after initial writing. Lets collaborate on a few of thos. I'll read these and lets see how small and simple we can make them.

    Thanks for submissions to the deck.

  7. CRISP is a must-have if you use continuous integration.
    Nice to have a crispy acronym for that ;-)


Note: Only a member of this blog may post a comment.