Code Comments
Programming Forum and web based access to our favorite programming groups.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
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.