Alistair Cockburn이 지은 책.

이 책은 이 질문에 대해 답한다.

십여년 동안 성공적인 작은 팀들을 디브리핑하면, 대부분 같은 메세지를 답했다:

이 모든 것을 하고, 대부분의 상세한 프로세스는 will take care of themselves.

Crystal Clear는 간단하게 이렇게 묘사할 수 있다.

이 간단한 제안은 경험과 이론 모두에서 뒷받침한다. 소프트웨어 개발의 특징은 경제적으로 제약된 개발과 커뮤니케이션의 협력 게임(CooperativeGame)이라는 점이다.

Crystal의 유전 코드는 아래와 같은 것들로 만들어진다:

경제적 협력 게임 모델은, 소프트웨어 개발은 일련의 '게임'이라고 말한다. 어떤 게임이냐면, 발명하기와 의사소통하기 외에는 아무 것도 없는, 전형적인 자원 제한 상태인 게임이다. 일련의 게임 안에 있는 각 게임은 리소스를 두고 경쟁하는 두 가지 목표가 있는데: 이 게임에서 소프트웨어를 완성하기와, 다음 게임을 위해 준비하는 것이다. 각 게임은 반복되지 않으므로, 매 프로젝트에서는 이전의 모든 게임들과 약간 다른 전략을 필요로 한다. 경제 협력 게임 모델은, 사람들이 자신의 작업에 대해 매우 구체적이고 집중적이며 효과적인 방식으로 생각하도록 유도한다.

Crystal 패밀리에서 공통되는 우선순위는

Crystal은 7가지 안전 속성을 지향하며, 그 중 첫 3개가 Crystal의 핵심이다.

Crystal의 원칙들은 책/AgileSoftwareDevelopmentTheCooperativeGame에 자세하게 설명되어 있다. 그 중 몇 가지 핵심 아이디어는:

Crystal Clear는 팀이 같은 방이나 인접한 사무실에 앉아 있는 2~8명으로 구성된 경우 적용할 수 있는 Crystal의 최적화이다. 긴밀한 의사소통의 속성은 삼투 커뮤니케이션으로 강화되는데, 이는 사람들이 매일 프로젝트 우선순위, 상태, 요구사항 및 설계에 대해 서로 논의하는 것을 의미한다. 이 향상된 의사 소통을 통해 팀은 다른 방법으로 가능한 것보다 암묵적인 의사 소통과 작은 노트에서 더 많은 작업을 할 수 있다.

Chapter 2. Applied (The Seven Properties)

Chapter 9. Distilled (The Short Version)

Crystal Clear의 핵심은 무엇인가?

ClystalClear는 작고 한 곳에 있는 팀을 매우 효율적으로 활용하기 위한 방법으로서, 만족스러운 결과물을 전달하는데 있어 효율성, 거주가능성(habitability), 안전성을 우선으로 한다. level-3 실천가가 CrystalClear를 간단하게 설명하면 이럴 것이다:

팀 멤버들은 그들이 적절하다고 생각하는 기법들을 사용하여 아래 안전성 속성들을 수립한다. 첫 세 가지는 CrystalClear에 필수적이고, 나머지 네 개는 팀을 safety zone으로 더 깊이 들어가게 할 것이다.

  1. 잦은 전달
  2. 반성적(reflective) 개선
  3. 밀접한(close) 커뮤니케이션 (osmotic communication)
  4. 개인적 안전감 (신뢰의 첫 걸음)
  5. 초점 (집중)
  6. 전문가 유저(expert users)에게 접근하기 쉬움
  7. 기술적 환경; 자동화된 테스팅, 형상 관리, 잦은 통합