For Programmers: Free Programming Magazines  


Home > Archive > Extreme Programming > January 2005 > Book Review: Crystal Clear









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Book Review: Crystal Clear
John Roth

2005-01-06, 3:59 pm

Crystal Clear (Alistair Cockburn, Addison Wesley) is one of a family of
methodologies, all called Crystal [something]. This member is directed to
small colocated teams of 8 individuals or less. As such, it shares the same
ecological niche as Extreme Programming. Comparisons to Extreme Programming
are inevitable, and Dr. Cockburn does not leave us short. Comparisons are
scattered throughout the book, while Chapter 7 (Questioned) Question 6 does
a detailed, point by point analysis and answers the question of whether a
project can satisfy both Crystal Clear and Extreme Programming criteria at
the same time. The answer is a lightly qualified yes: you need two
additional practices. Frequent delivery is implicit in XP, and even more so
in the second version of XPE, but CC _requires_ deliveries at intervals of
no more than three months. The second requirement is directly opposite to
one of the main XP practices: you are required to produce enough internal
documentation on an ongoing basis for a new team to pick up the project
without undue research time. This is an area where XP kind of stutters and
does a bunch of arm waving. It's based on Dr. Cockburn's ongoing metaphor of
software development as a cooperative game, where one of the goals is to set
up a good strategic position for the next game.

There's a third requirement that, for some reason, Dr. Cockburn has
overlooked. That's the requirement that the team must have excellent access
to an expert user. Onsite customer does _not_ address this requirement
directly: the customer team is not required to have expert users available.
In many situations the customer (that is, the person paying the bills and
setting the priorities) is not the targeted user. User involvement is at, or
close to, the top in just about every analysis of the success factors for
software development.

I'm going to focus on a somewhat different aspect of the comparison,
however. When you compare Crystal Clear and the second edition of Extreme
Programming Explained, you will see a major difference. Kent, in XPE second
edition, develops his theme top down, from values through principles to
practices. Dr. Cockburn develops his theme bottom up, from the observed
characteristics of successful software development teams, through strategies
and techniques for achieving them.

This brings up the second significant difference. Extreme Programming is a
methodology. Crystal Clear is a meta-methodology (similar to RUP in that
sense) which is used to generate an appropriate methodology for the team and
the situation in which they find themselves. From that viewpoint, it's not
at all surprising that Extreme Programming is highly compatible with Crystal
Clear: it exists in the same ecological niche, and it delivers the goods
regularly.

This brings up another point of comparison: each methodology has a value or
set of values, sometimes stated and sometimes implied. XP's is stated to be
productivity, CC's is stated to be efficiency and habitability. People
practicing XP especially need to contemplate this: the productivity value is
rather apparent once pointed out, but is nowhere stated. The stated XP
values (feedback, courage, communication, simplicity and respect) can all be
seen as values that are likely to result in high levels of productivity.

Besides the strategies and techniques, there is a short discussion of the
cyclic nature of development concentrating on each of the seven embedded
cycles, and an extensive discussion of work products broken down by role.
The roles are: Sponsor, Expert User, Lead Designer, Designer-Programmer,
Business Expert, Coordinator, Tester and Writer. Interestingly, roles such
as Domain Expert, DBA, UI guru, usability expert and so forth are missing;
the implication being that these can be added if necessary, or contracted
out if desired.

There's a section on common misunderstandings, and a case study complete
with auditors report. Finally, there's a one page executive summary for
people that are familiar with the methodology space.

Crystal Clear is now on my short list of recommend books for someone who
wants a detailed introduction of how to do agile software development with
small teams. This list includes Extreme Programming Explained, second
edition, and Lean Software Development.

John Roth


Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com