Crystal Clear


Crystal Clear is a methodology for D6-category projects. You should be able to stretch Crystal Clear to an E8 or D10 category project with some attention to communication and testing, respectively. I expect it to be difficult to extend beyond that, because Crystal Clear contains no communication structure for more people than can conveniently work in the same room, and it lacks the system-validation elements needed for life-critical systems.

Brief Description of Crystal Clear

There is only one team, seated in one office or in adjoining offices.

The roles needing separate people are

  • Sponsor

  • Senior designer-programmer

  • Designer-programmer

  • User (part-time at least)

One of those people may pick up the assignment of being project coordinator. Someone will be the business expert, and either one or many people will share the role of requirements gatherer.

The senior designer-programmer is the key person on the team. The other designer-programmers may comprise some mixture of novice and medium levels, depending on what the senior designer-programmer and the problem can support. Hiring people who know their jobs well helps.

The policy standards are that

  • Software is delivered incrementally and regularly, every two to three months

  • Progress is tracked by milestones consisting of software deliveries or major decisions, as opposed to written documents

  • There is some amount of automated regression testing of application function

  • There is direct user involvement

  • There are two user viewings per release

  • Downstream activities start as soon as upstream is "stable enough to review"

  • Product- and methodology-tuning workshops are held at the start and middle of each increment

The policy standards are mandatory, but equivalent substitution is permitted, as would be the case if Scrum work scheduling (Schwaber 2002), XP, or Adaptive Software Development (Highsmith 2000) policies were used.

The work products that are produced include:

  • Release sequence

  • Schedule of user viewings and deliveries

  • Annotated use cases or feature descriptions

  • Design sketches and notes as needed

  • Screen drafts

  • A common object model

  • Running code

  • Migration code

  • Test cases

  • User manual

The following are left as "local matters," to be set and maintained by the team:

  • Templates for the work products

  • Standards for coding and user interface

  • Standards and details of regression testing

Crystal Clear does require project documentation to be created. Just what that documentation consists of is not spelled out by Crystal. That is left as a matter of local judgement. The combined team must decide how to present design notes to future team members.

The most important tools the team can own, besides a compiler, are these:

  • A versioning and configuration-management system

  • A printing whiteboard

You should be able to cost-justify several printing whiteboards on any project, based on just the time that people save in typing design documents and meeting summaries and in lost communications cost when people do not copy down whiteboard contents.

The techniques used by the individual roles are left entirely to the discretion of the individuals.

Substitution of elements from similar methodologies is permitted. For example, the team could decide to use Scrum or DSDM's timeboxing and dynamic prioritization policies, Scrum's daily stand-up meetings, pair programming from XP, and so on.

Reflection About Crystal Clear

Crystal Clear is the most tolerant, low-ceremony, small-team methodology I can find that still works. It contains those elements claimed by my interviewees to be the cause of their success:

  • Focus on close seating and close communication

  • Regular reflection workshops (as described in Chapter 5)

  • Frequent delivery

  • Information from real users

  • Code-versioning tools

The printing whiteboard has proven more valuable than any of its higher-tech replacements, with the possible exception of the newest generation of whiteboard-capture software (www.pixid.com). People usually start a discussion thinking it won't be worthwhile to record. They discover after their discussion that it would be good to have a record of it.

Crystal Clear provides a place to fall back if you try, and give up on, XP. Any part of XP can be substituted for Clear, because XP meets all Crystal Clear standards except for documentation. If you move from XP to Crystal Clear, you will have to add documentation. I don't think you can get any sloppier than Crystal Clear and still plan on having better-than-even odds of completing a project successfully.



Agile Software Development. The Cooperative Game
Agile Software Development: The Cooperative Game (2nd Edition)
ISBN: 0321482751
EAN: 2147483647
Year: 2004
Pages: 126

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net