17424

Crystal is an Agile Software Development methodology, which is actually considered a “family of methodologies” since it is subdivided in several types of methodologies depending on the amount of people within the project. It was created by Alistair Cockburn.  

Crystal Clear is a family of methodologies that share “genetic code.” 

The name Crystal derives from the characterisation of the projects according to 2 dimensions: size and complexity. For example:

  • Clear is for teams of 6 people or less.
  • Yellow is for teams of  7 – 20 people.
  • Orange is for teams of  21 – 40 people.
  • Red is  for teams of 41 – 80 people.
  • Brown is for teams of 81 – 200 people.

CC can be used in small projects and like almost all the methodologies, CC consists of values, techniques and processes.   

Firstly, methodology antecedents are specified, then the definitions that help structure the theoretical fundamentals and finally the essential characteristics of the different types of Crystal.  

Crystal gives vital importance to the people within a project team and that is why it focuses on:   

  • Human aspect of the team 
  • Team size  (number of constituents)
  • Comunication among the constituents
  • Different policies to follow
  • Physical working space

Values or properties of CC are:

1) Frequent delivery. It means it delivers software to clients frequently, apart from compiling the code. The frequency depends on the project, but it can be daily, weekly or monthly. 

2) Osmotic communication. Everybody in the same room. A special variant is to have an expert designer with whom discuss. 

3) Reflexive improvement. Taking a little time (a few hours per month or once a month) to reflect upon what it is being done, compare notes, discuss. 

4) Personal security.  Talking with teammates whenever something is upsetting the group.

5) Focus. Knowing what is being done and having tranquility and time to do it.

6) Easy access to expert users. Being in touch with expert developers.

Roles in CC are:

The Executive Sponsor. Produces the Declaration of Mission with Priorities of Commitment (Tradeoff). Gathers the resources and defines the totality of the product.

Expert user. Together with the Business Expert produces the Actors / Objectives list and the use cases files and requirements. Must be familiarized with the use of the system, suggests operation mode, information to be visualized simultaneously, navigation, etc.

The Leas Designer: Produces the arquitectonic description. Must be at least a level 3 professional.
In Agile methodologies there are 3 levels of experience defined:
Level 1 can “follow procedures”.
Level 2 can “ move beyond the specific procedures “ and find others.
Level 3 can fluently  manage, mix and make up procedures.  

Programmer. Produces, together with the main designer, screen sketches, the common domain design, Design Notes and Diagrams, Source Code, migration Code, tests and packaged software.  Programming in CC implies  “design and program” because programmers work as designers as well. 

Business Expert. Together with the Expert User produces the Actors/Objectives design and the case file and requirements. Must know the rules and business policies. 

Coordinator. With the help of the team, produces the Project Map, delivery plan, project status, list of risks, etc.  

Tester. Produces the Bugs report. Can be a part- time programmer or a team of several people.  

Writer: Produces the User Manual. 

As any other agile methodology, it is based on iterative cycles of incremental development and adds to the cycle a previous and posterior meeting, so as to reflect upon the project and how it has been going. Before starting the next cicle, at least two final users must individually check and validate what has been developed.