[소프트웨어공학] 애자일 소프트웨어 개발 방법론: Crystal 완벽 정리

시리즈 글보기

[소프트웨어공학] 애자일 소프트웨어 개발 방법론: Scrum 완벽 정리

 

 

 

B. Boehm, “A survey of agile development methodologies.” Laurie Williams, 2007.

 

보헴의 A Survey of Agile Development Methodologies 내용 중 크리스탈 방법론에 관하여 정리한 내용입니다.

요약정리본은 아래 쪽에 게재되어있습니다.

 

내용을 훑어보기 전에 크리스탈 방법론에 대해 한마디로 말하면, 소프트웨어 개발 과정은 천편일률적이지 않고 모두 다르기 때문에 프로젝트의 위험성과 규모에 따라 프로세스를 다르게 설정하자는 방법론입니다. 융통성이 있는 프로세스라 생각할 수 있습니다.

 


크리스탈 방법론 특징

크리스탈 파트는 Rational Unified Process(RUP)와 비교와 함께 설명을 시작합니다. RUP는 맞춤형 프로세스 프레임워크로, 팀 크기나 프로젝트 사이즈와 같은 프로젝트 특성에 따라 조직의 필요성을 매치시키기 위해 확장 가능한 plan-driven 기반의 방법론이라 간단하게 설명되어있습니다.

 

 Rational Unified Process, RUP (출처: 위키피디아)
  - IBM의 래셔널 소프트웨어 부서에서 만든 객체지향 개발 방법론
  - 하나로 고정되어 쓰인 프로세스가 아니라 유연하게 적응 가능한 프로세스 프레임워크
  - 개발 조직과 소프트웨어 프로젝트 팀의 필요에 의해 프로세스 요소들을 선택하여 조절할 수 있도록 설계

 

크리스탈 방법론은 RUP와 비슷하게 환경의 변화와 프로젝트의 특정한 특성에 맞추어 해결하기 위해 개발되었습니다.

 

그렇지만 콕번은 RUP와는 다르게 

  - 품질을 낮추더라도 하더라도 빨리 인수해야한다.

  - 시간이 지남에 따라 프로젝트와 사람들이 발전하기 때문에, 방법론 역시 프로젝트 과정에서 조정되고 진화해야한다.

라고 주장했습니다.

 

크리스탈 방법론 표기 및 규칙

또한 콕번은 천편일률적인 개발 과정은 없다고 하였습니다. 그리하여 크리스탈 방법론에서는 이렇게 다른 개발 과정들을 투명도대로 정렬한 색상 값으로 표기합니다. 예를 들면 Crystal Clear, Crystal Yellow, Crystal Orange, Crystal Red 순으로 나열하는 것이지요.

 

아래 그림에서 x축이 이 색을 나타내는데, 이는 팀의 크기를 나타내며, 개발 인력의 수로 정량화 됩니다. y축은 시스템이 손상을 일으킬 가능성, 즉, 프로젝트의 치명 정도로 정량화됩니다. 

y축의 각각 항목은 C = 편안한 프로젝트 / D = 실패해도 임의의 비용 손실만 주는 프로젝트 / E는 실패하면 회사가 망하는 프로젝트 / L은 사람의 생명과 관련이 있는 프로젝트를 나타냅니다.

 

 

이와같이 팀 크기와 임계도에 기초하여 크리스탈 방법론이 결정됩니다.

 

x축, y축이 높아지면 보다 엄격한 규율을 적용해야 합니다. 예를 들어, 팀이 커질수록 커뮤니케이션을 통해 더 열심히 프로세스를 관리해야하는 것이지요. 크리스털 방법은 소프트웨어를 개발하는 사람들의 중요성을 강조하며, 성능, 기술, 재능, 커뮤니케이션에 초점을 맞추고 있습니다(프로세스 역시 중요하지만 가장 중요한 것은 아닙니다)

 

 

범주 설명

아래는 개발과정 중 <크리스탈 클리어>와 <크리스탈 오렌지> 범주를 간략히 설명하고 있습니다.

 

[ Crystal clear ]

D6를 타겟으로, C6, E6, D10 프로젝트에 적용됩니다. 같은 방이나 인접한 오피스에 있는 3~8명으로 구성된 팀에 최적화되어 있습니다. 이 범주에서는 삼투 커뮤니케이션("osmotic" communication)이라는 특징이 있는데, 이는 화학에서 용매 농도가 낮은 곳에서 높은 곳으로 유입되는 삼투 현상에 빗대어 말한 것입니다. 매일 같은 공간에서 팀원들이 프로젝트 우선순위, 상태, 요구사항 및 설계를 논의하는 것을 우연히 듣는다고 하여 삼투 커뮤니케이션이라고 한답니다.

 

[ Crystal Orange ]

D40 범주의 프로젝트를 타겟으로 같은 빌딩에서 일하는 20~40명 팀에 최적화되어 있습니다. 실패하면 임의의 비용 손실을 주는 프로젝트(medium risk), 1~2년 지속되는 프로젝트에 적합하며 한 제품을 개발하고 시장에 내놓는데 걸리는 시간(타임-투-마켓)이 중요한 프로젝트에 적합합니다.

 

 

 

마지막으로 크리스털 방법은 절대적으로 지켜야하는 2가지 규칙을 이야기하며 마무리합니다.

- 증분 주기(incremental cycles)는 4개월을 이내여야 하며,

- 산출물이 있을 때마다 반사 워크샵(reflection workshop)은 개최해야합니다.

 

 


 

위 내용을 요약을 하면 다음과 같습니다.

 

 

ㅇ Crystal author : Alistair Cockburn

 애자일 방법론 중 하나

환경의 가변성과 특정한 프로젝트의 특성을 해결하기 위해 개발되어짐

품질을 낮추더라도 하더라도 빨리 인수해야 함

시간이 지남에 따라 프로젝트와 사람들이 발전하기 때문에, 방법론 역시 프로젝트 과정에서 조정되고 진화되어야 함

개발 과정들은 투명도대로 정렬한 색상 값으로 할당됨(Crystal Clear, Yellow, Orange, Red 순)

팀 크기(x축)와 시스템 손상 임계도(y축)에 기초해서, 크리스탈 방법론이 결정됨

 소프트웨어를 개발하는 사람들의 중요성을 강조하며, 성능, 기술, 재능, 커뮤니케이션에 초점을 맞춤

 

범주설명

 [ Crystal clear ]

  · D6를 타겟으로 하며, C6, E6, D10 프로젝트에 적용할 수 있음

  · 3 ~ 8명으로 구성된 팀에 최적화되어 있음

  · 삼투 커뮤니케이션("osmotic" communication)

      - 매일 같은 공간에서 팀원들은 프로젝트 우선순위, 상태, 요구사항 및 설계를 논의하는 것을 들음

[ Crystal orange ]

  · D40 범주의 프로젝트를 타겟으로 함

  · 같은 빌딩에서 일하는 20 ~ 40명으로 구성된 팀에 최적화되어 있음

  · 실패하면 임의의 비용 손실을 주는 프로젝트(medium risk)

  · 1 ~ 2년 지속되는 프로젝트

  · Time-to-market(제품 개발 및 제품을 만들어 시장에 내놓는데 까지 걸리는 시간)이 중요한 프로젝트에 적합

 

 절대적으로 지켜야하는 2가지 규칙

   · 증분 주기(incremental cycles)는 4개월을 넘어서는 안됨

   · self-adapting을 위해 산출물이 있을 때마다 반영 워크샵(reflection workshop)을 개최해야 함

 

 

 

출처 
B. Boehm, “A survey of agile development methodologies.”
 http://www.cems.uwe.ac.uk/~pchatter/2011/isd_hk/AgileMethods.pdf
반응형
그리드형

댓글

❤️김세인트가 사랑으로 키웁니다❤️