Kanban - 스타트업의 성공 레시피(2)

Kanban - 스타트업의 성공레시피(1) 에 이어서…

David J. Anderson은 그의 저서 [칸반 : 지속적 개선을 추구하는 소프트웨어 개발]에서 자신이 여러 팀의 프로세스를 개선하면서 알게 된 스타트업의 성공 레시피에 대해서 다음과 같이 서술한다.

  1. 품질에 집중한다.
  2. 진행 중 업무를 줄인다.
  3. 자주 출시한다.
  4. 요구량을 처리량에 맞춘다.
  5. 우선순위를 부여한다. ㅊv
  6. 예측성을 개선하기 위해 변동성의 원인을 공략한다.

2. 진행 중 업무(Work In Process)를 줄인다.

진행중인 업무가 늘어나게 되면 제품의 품질이 심각하게 저하된다. 한가지 예를 들어서 살표보자

WIP 조절을 하지 않은 경우

p36 - A팀의 업무 누적 흐름도

[p36 - A팀의 업무 누적 흐름도]

(1) : 프로젝트 범위에 포함되어 있는 기능 수 (2) : 개발을 시작한 기능 수 (3) : 설계가 완료된 기능 수 (4) : 코딩이 완료된 기능 수 (5) : 코딩 완료 후 테스트 대기중인 기능 수 (2) - (5) 의 높이 = 진행중인 업무(WIP : Work In Process)의 양 (2) - (5) 의 너비 = 기능을 개발 시작한 날 부터 완료될 때 까지의 평균 리드타임(이 도표로는 하나의 기능에 얼마나 많은 리드 타임을 소요했는지 알 수 없다)

(2)번 그래프에서 볼 수 있듯이 이 팀에서는 한번에 많은 종류의 기능을 동시에 시작하였다. 이는 (1)번 그래프로 표시되는 프로젝트에 포함되는 기능이 2번에 나눠서 할당이 되었기 때문이기도 하지만, 그것을 고려 하더라도 너무 많은 수의 기능이 한번에 개발에 들어갔다. -> 코딩에 비해 비교적 짦은 시간이 소요되는 설계를 나타내는 (3)번 그래프는 (2)번의 요구량을 얼추 비슷하게 따라가지만, 설계를 마친 후에 코딩에 들어가게 되면 이 속도를 맞추지 못하고 진행중인 업무가 한번에 엄청난 속도로 쌓이게 된다. -> 이는 개발자로 하여금 한 가지의 기능 개발에 집중하지 못하게 하고, 심리적인 압박감을 느끼게 함으로써 코드 자체의 품질을 심각하게 저하시킨다. -> 여러가지 기능이 동시에 코딩에 들어가기 때문에 테스트가 가능한 코드가 언제 나올 수 있을지 예측이 더욱 힘들어진다. -> 때문에 테스트 또한 한번에 많은 기능을 동시에 진행하게 되고, 결과적으로 제품의 결함은 기하급수적으로 증가하게 된다.

WIP의 양을 적절히 조절한 경우

[p37 - B팀의 업무 누적 흐름도]

(1)번 그래프가 한번에 기능을 할당하는 형태로 이긴하지만 프로젝트 중후반에 기능이 증감하는 것으로 보면 A팀에 비해 큰 차이를 보였다고 보기는 힘들다. -> 하지만 (2)번 그래프의 경우 A팀에 비해서 확연히 그래프가 선형으로 보이는 것을 볼 수 있다. 이는 한번에 쌓여있는 업무를 할당하는 것이 아니라 적당히 업무를 분할하여 순차적으로 부여하고 있다는 얘기다. -> 또한 (4)번그래프의 y값이 (2)번의 값에 어느정도 가까워 지고 난 후에 (2)번 그래프가 증가하는 것을 볼 수 있는데, 이는 한번에 진행 중인 업무를 조절하고 있다는 이야기이다. -> A팀의 그래프와 큰 차이를 보이는 두번째 부분은 (3)번과 (4)번 사이의 간격이다. 한번에 코딩이 진행되는 기능의 수가 적기 때문에 각 기능에 대한 개발 완료가 빠르게 끝나게 된다. -> 이는 테스트 또한 예측 가능하게 바꿔주게 된다. 업무를 분할하는 과정에서 기능들은 카테고리를 가지게 되고, 한 카테고리에 대한 기능 개발이 완료되면 빠르게 테스트에 들어갈 수 있기 때문이다.

위의 그래프는 실제로 책의 저자가 함께 일했던 팀들의 데이터이다. A팀의 경우,

  • 너무 많은 결함이 발견되는 탓에 결함 수정 때문에 프로젝트를 진행하지 못하는 상황에 이르렀다.
  • 제품 출시 후 50%나 되는 고객이 품질 문제로 제품 구매를 취소함.
  • 실제 이팀 구성원 개개인의 능력이 B팀에 비해 매우 뛰어남에도 불구하고, 현장 엔지니어링 팀에서는 개발팀의 역량을 최하로 취급하였고, 부서의 신뢰도 또한 낮아졌다.

좋은 교육, 강력한 관리, 훌륭한 리더십을 통한 올바른 프로세스는 모든 것을 바꾼다. 이 사례가 보여주는 것은 세계 최고 수준의 결과를 만들어 내는 데 최고의 인재가 필요하지는 않는다는 점이다.