Channels ▼

Jolt Awards: The Best Books

, September 18, 2012 Six notable books that every serious programmer should read.
  • E-mail
  • Print

2012 Jolt Award: Specification by Example: How Successful Teams Deliver the Right Software

by Gojko Adzic

This excellent book by a well-known advocate of Agile testing, who has previously written about Cucumber and FitNesse, takes you through an extraordinarily comprehensive dissection of the essence of the software specification process. It successfully aligns specifications with the tenets of modern development methodologies, particularly Agile and its cousins. Using a variety of case studies, one of which is sure to feel applicable to your own project, Adzic shows how the old-school ideas of specification still remarkably improve the likelihood of delivering the right product. The principal ideas are collaborative user involvement; user-friendly documentation styles (as opposed to programmer-friendly styles); overlapping the roles of user, analyst, developer, or tester; and frequent, automated specification validation. Woven into every page are typically two or three subtle tips to buttress the successful employment of these ideas. For people new to the ideas, each tip often comes paired with a specific "when to use this" hint.

Recognizing that some of the concepts may be new in your environment, Adzic devotes a chapter to identifying potential leverage points to insert the ideas into an existing project. This alone provides much more relevance than many similar books can offer. The weakness is that the material does not discuss how to get the required upper-management support for the obvious cultural change that is implied by this approach. A consultant familiar with those culture change issues may need to help you with that. Also, this chapter does not deal with another problem; namely, not all personality types can handle the overlapped roles. In this regard, this book pairs ideally with the Jolt finalist, How Google Tests Software by James Whitaker, et al., a book that also finds value in widened roles.

The power of this book comes from a sometimes subtle and sometimes overt imperative for developers and users to trust one another, to work in concert in overlapping ways, and to leverage specifications as living documents in this process. That, by itself, makes this book highly recommended.

Roland Racko






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.