Practice, Rehearse, Perform

Agile teams say, “In two weeks we need to ship running tested features to our users.” Bands say, “In two weeks we need to perform well-rehearsed songs for a paying audience.” Not only are these very similar goals for creative teams, but the underlying processes that agile software teams and bands undergo in order to be able to perform reliably are also similar.

For one thing, excellent software creators have to practice their craft. Musicians, of course, practice scales and techniques suitable for their instruments. Developers have practiced such disciplines as Design Patterns and Code Kata in various languages, and have contributed code to open source projects subject to scrutiny and criticism by their peers. Testers have examined the function of general systems, and have acquainted themselves not only with the literature and practice of their craft, but also with code, overall quality processes, user experience principles, design principles, and the like.

For another thing, excellent software creators have to rehearse. Musicians get together before the performance to work with each other to get a shared understanding of how the performance will be executed. Software creators do “spikes,” short projects to explore the best way to approach a feature. Software creators review each other’s work, from the first requirements to the code itself to the actual product before release. Testers, of course, have an important role as critical voices in ...

Get Beautiful Testing now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.