본문 바로가기

Development/etc

[Scrum] 왜 스크럼은 통할까? (2)

스크럼 팀은 다음과 같은 메커니즘을 통해 지식을 창출한다.

  • 암묵지 공유 : 개발자는 둘, 셋 이상이 동시에 작업하거나 스크럼 회의에서 요구사항이나 디자인에 관련된 아이디어를 서로 공유한다.
  • 개념 형성 : 패키지, 클래스, 관계, 상호작용 같은 디자인 모델 생성등이 예이다.
  • 개념 검증 : 개발자는 요구사항과 디자인이 잘 맞는지 확인한다.
  • 원형(archetype) 구축 : 시제품 개발등이 예이다.
  • 지식의 이동 (Gross leveling of knowledge) : 기본적으로 이 과정은 전체 순환을 처음부터 다시 시작하게 한다.

 

특징

자기 조직화 체계는 행위자(agent)로 구성된다. 행위자란 알아서 행동하는 독립적인 개체를 의미한다. 개발자, 스크럼 마스터, 제품 책임자가 이런 행위자가 된다.

  • 열신 시스템(open system)이다.
    • 에너지나 질량, 정보 등을 주위 환경과 교환한다. 스크럼 팀에서는 고객이나 테스트, 제품 개발 지원 팀 같은 다른 팀원들과 정보를 교환한다.
  • 역동적(dynamics)이다.
    • 스크럼 팀은 다양한 시간규모에 맞춰 끊임없이 재조직화된다. 이런 재조직화는 하루 중 매분마다, 일일 스크럼 회의를 하는 매일마다, 스프린트 계획 회의를 하는 매달마다 일어난다.
  • 몰입(flow)
    • 몰입은 행위자(agent)의 질량, 에너지, 정보가 상호 교환될 때 나타난다.
  • 밀도 있는 국소 상호 작용(dense Local Interactions)에 의지하기
    • 행위자는 다른 행위자와 몇가지 규칙 따라 상호작용하고, 지속적인 몰입 상태로 정보를 교환한다. 스크럼 팀에서는 일일 혹은 정기적인 스크럼 회의와 스프린트 데모, 스프린트 계획 회의를 통해 정보와 지식을 공유한다.
  • 창발성
    • 창발성이란 다시 말하자면 '전체는 부분의 합 그 이상이다.'와 같은 의미이다. 단순한 규칙들이 모여 응집된 창발적 현상을 만들어낸다. 예를들어, 스프린트 기간동안 할당된 제품 백로그는 절대 변경하지 않는다. 스크럼 팀은 스프린트 동안의 목표를 보장 받았기 때문에 방해받지 않고 해당 목표를 달성시 고객으로부터 더욱 신뢰를 얻게 된다.
  • 구성 단위(building blocks)와 집합성(aggregation)
    • 다중 스케일 효과(multi scale effects)라고 불리기도 한다. 구성 단위란 마치 레고 세트위 일부처럼 계속 반복해서 사용할수 있는 구조를 의미한다. 집합성은 이 구성 단위를 결합하는 능력을 뜻한다. 각 단계별로 여러 구성 단위가 서로 결합해 다음 단계의 구성 단위가 만들어진다.
  • 꼬리표 달기(tagging)
    • 꼬리표는 임시로 붙여놓는 이름 같은 것이며 스크럼 회의에서 팀원들은 임시로 '닭'이나 '돼지'같은 꼬리표가 붙이고 이를 통해 행위자나 사물 간의 그룹 짓기를 촉진하는 데 사용할 수 있다.
  • 다양성과 전문 (diversity and specialization)
    • 다양성은 자기 조직적 체계 안에 다양한 종류의 행위자가 있다는 걸 의미한다. 전문성은 대부분의 경우 이 다양성의 근원이 된다.
  • 내부의 공유 모델들 (internal and shared models)
    • 각 시스템 안의 행위자는 각각 그들만의 내부 모델(internal model)을 가지며 동시에 다른 행위자와 공유하는 공유 모델(shared model)도 가지고 있다. 내부 모델은 행위자 간의 상호작용 중에 발생하는 흐름에 영향을 받는다.
  • 비선형 역학 (nonlinear dynamics)
    • 종종 비선형성이락 불리기도 한다. 비선형 역학은 행위자 집단에서 발생하는 피드백이 비선형적인 법칙을 따르는 것을 의미한다. 예를 들어 개발자들이 서로의 지식을 공유하고 고객과 자주 대화를 하여 생산성에 있어서는 비선형적으로 나타나게 된다. (3개월만에 팀의 생산성이 2배로 올라가고 4개월째 다시 2배가 되는등...)

스크럼 팀의 가치
  • 일일 스크럼
    • 팀은 스스로 지금 어디에 있는지, 무슨 문제를 안고 있는지, 어디로 가고 있는지, 매일 확인한다. 모든 사람들이 서로 무엇을 하는지 알게 하고 도와주고 협력할 수 있게 만들어준다.
  • 스프린트 데모
    • 끝날 때마다 고객들에게 지금까지의 작업을 보여주고 고객들의 피드백을 받을수 있다. 그리고 이를 통해 팀은 고객의 패드을 고려하여 대응할수 있게 된다.
  • 스프린트 종료와 스프린트 계획 회의
    • 팀이 이번에 무엇을 성취헀는지에 대해 숙고하고 새로운 기능 구현을 위한 스프린트 계획 회의 때 재구성한다.
  • 적응과 자연 선택
    • 혼돈의 가장자리에서 자기 조직화되어 있는 시스템이 최적의 적응력을 갖게 된다.
    • 자연 선택은 적응력이 높은 개체(configuration)를 선택한다.
    • 생태계(ecosystems)에서는 혼돈의 가장 자리에 맞춰 자신의 구조를 변화시킨 생명체들이 살아남을 수 있었다.


'Development > etc' 카테고리의 다른 글

Error when bootstrapping CMake  (0) 2013.11.26
[Scrum] 스크럼의 가치  (0) 2013.11.25
[Scrum] 왜 스크럼은 통할까? (1)  (0) 2013.11.19
[Scrum] 스크럼 적용하기 (2)  (0) 2013.11.16
[Java] Class Field 접근 및 값 수정  (0) 2013.11.15