A lightweight, human-powered agile framework for software development
Crystal is a family of agile methodologies developed by Alistair Cockburn in the mid-1990s. It focuses on the people, interactions, community, skills, talents, and communications as first-order effects on performance. Process remains important, but secondary.
The Crystal approach recognizes that each project may require a slightly different set of policies, practices, and processes depending on its unique characteristics, particularly its size and criticality.
Crystal is actually a family of methodologies (Clear, Yellow, Orange, etc.) that vary based on:
Crystal is built on several fundamental principles that guide its implementation:
Deliver working, tested software to real users early and regularly (typically every 1-3 months).
The team regularly reflects on how to become more effective and adjusts accordingly.
Information flows efficiently in a co-located team through casual conversations and overhearing.
Team members feel safe to speak their minds without fear of reprisal or ridicule.
Team members know what to work on and have dedicated time to focus on it.
Developers have direct access to real users for requirements and feedback.
The team has automated tests, configuration management, and frequent integration.
The process is adjusted to fit the project's size, criticality, and priorities.
Crystal methodologies are color-coded based on team size and project criticality:
1-6 people
Low criticality
7-20 people
Moderate criticality
21-40 people
Significant criticality
40-80 people
High criticality
80-200 people
Very high criticality
200-1000 people
Extreme criticality
Crystal methodologies share common practices that vary in formality based on the color:
At project start, the team selects and adapts practices to fit their specific needs.
Software is developed in small increments with frequent integration.
Code changes are integrated and tested frequently (at least daily).
Regular sessions where the team reflects on their process and makes adjustments.
Short, intensive planning sessions to map out the next increment.
Direct observation of users working with the software.
Having access to real users who understand the domain deeply.
Visible displays of project status and progress in the team space.
How Crystal compares to other popular agile methodologies:
| Feature | Crystal | Scrum | XP | Kanban |
|---|---|---|---|---|
| Primary Focus | People and interactions | Process and roles | Engineering practices | Workflow visualization |
| Flexibility | Highly adaptable | Moderate | Low (fixed practices) | High |
| Team Size | 1-1000+ (varies by color) | Typically 3-9 | 1-12 | Any size |
| Iterations | Optional | Fixed-length sprints | 1-3 week iterations | Continuous flow |
| Criticality Support | All levels | Low to moderate | Low to moderate | All levels |
| Best For | Projects needing flexibility | Complex projects | Quality-critical projects | Maintenance/support |
1. Who created the Crystal methodology family?
2. What does the Crystal color system primarily represent?
3. Which Crystal principle refers to information flow through casual conversations in a co-located team?
4. Which Crystal methodology would be most appropriate for a 50-person team working on air traffic control software?
5. What is the primary distinguishing characteristic of Crystal compared to other agile methods?