Eng software
Crystal é o nome de uma família de métodos que devem ser ajustados para melhor se adaptarem a uma determinada equipe e projeto. Cada método é moldado para ter a quantidade exatamente suficiente de processo, capaz de atender os projetos a partir da análise de três fatores: a carga de comunicação (representada pelo número de pessoas), a criticidade do sistema e a prioridade do projeto. Na Figura são apresentadas apenas duas dimensões, demonstrando qual método da família Crystal deve ser utilizado (Clear, Yellow, Orange, Red).Segundo Cockburn, existem diversos outros fatores para a escolha de um método, no entanto ao utilizar apenas esses três já se obtêm um resultado bastante adequado.
Conforme as cores dos membros da família Crystal se tornam mais escuras, tem-se um maior peso dos métodos, o que é necessário devido à complexidade dos projetos. Esse peso é representado pela quantidade de artefatos e a rigidez da gerência, itens que são absorvidos entre os 13 elementos definidos para cada método: papéis, habilidades, times, técnicas, atividades, processos, artefatos, produtos de trabalho, padrões, ferramentas, personalidades, qualidade e valores da equipe. Por exemplo, ao observar os papéis no Crystal Clear nota-se que existem 6 tipos, enquanto que no Orange existem mais de 14.
Apesar das diferenças entre as complexidades dos projetos abordados pelos métodos da família Crystal, eles apresentam em comuns valores, princípios e a capacidade de serem ajustados durante o uso (on-the-fly). Os valores denotam a visão do desenvolvimento de software como um “jogo cooperativo de invenção e comunicação, com o objetivo primário de entregar algo útil e, em segundo, preparar para o próximo jogo”. Dessa forma, os valores pregam que os métodos são centrados nas pessoas e na comunicação, além de serem altamente tolerantes a modificações – considerando as diferenças entre as pessoas. Isso permite que sejam utilizadas partes de outros métodos, como práticas e princípios