Tuesday, April 07, 2009

CRISP Builds

Jeff Langr and Tim Ottinger have a pretty sweet and useful "gig" going on at The Agile In a Flash project, which will "result in a book and replenishable deck of at least 52 flash cards."

I made a suggestion to them late last week about Mike Clark's "CRISP" acronym for builds, and they turned it into a CRISP flashcard. Here is the comment I made that led to that result ...
Mike Clark gave a 2004 presentation on Pragmatic Project Automation that included a description of what he called the "CRISP" criteria for build:

  • Complete (recipe lists all ingredients)
  • Repeatable (version control time machine)
  • Informative (radiate valuable information)
  • Schedulable (complete and repeatable)
  • Portable (machine-independent)

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:

Complete:
• Build from scratch and independently without human intervention.

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

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

Scheduled:
• Let the builds run automatically.

Portable:
• 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.


I'm curious as to whether or not others have come across this acronym and if they like it and find it useful? What corrections, clarifications or additions do you think should be made to the acronym or its description?

No comments: