⌈애자일&스크럼 프로젝트 관리⌋ 독서후기

이 글은 2016년 6월 3일, 사내 위키에 공유했던 후기입니다. 개인적인 기록 차원에서 이곳에 다시 싣습니다.


5월 10일 캐시 슬라이드 방문이후 애자일 엔젤(코칭할 수 있는 수준이 되는것이 목표이다)를 맡기로 한지 2주 정도 지났다. 2주지만 많은 변화가 있었다. 칸반도 많이 업그레이드 되고 있고(너무 크게 변하지 않도록 자제할 정도로) 개발 프로세스 관련 책도 보고 있다. <칸반>이 엔젤 이후 본 첫 책이고 독후감도 썼다. C가 공유해준 <애자일 SW개발 101> PDF 문서는 아직 정독하지 못했고, <애자일 회고>라는 책도 C로부터 빌려읽기로 했다. 내가 읽기를 기다리고 있는 다른 문서들을 재치고 <애자일&스크럼 프로젝트 관리>를 먼저 읽기로 한 가장 큰 이유는 번역서가 아니라는 점 때문이다. 애자일 책중에는 번역서가 아닌 것이 거의 없기 때문에 W로부터 이 책의 출간소식을 들었을때 매우 반가웠다.

이 책의 내용을 모두 요약하기 보다는 (이제 애자일 초급을 벗어나고 있는)나의 관점에서 중요하게 느껴졌던 점 몇 가지만 요약하려고 한다.

누구를 위한 책인가

이 책은 아마도 애자일을 시작하는 한국인들이 한 번은 꼭 읽어야할 필독서가 되지 않을까 싶다. 애자일 프로세스의 기원부터 중요한 원칙과 실전 예제가 차분하게 잘 정리되어있다. 기본에 충실한 책 이랄까. 그래서 쉽고 기초적인 책이다. 애자일 팀을 운영한다면 팀원 모두가 한 번씩은 읽어보게 하는것도 좋을 듯하다.

복잡계(p. 40)

애자일과 같은 프로세스가 왜 필요한지 가장 잘 설명하는 말이 “프로젝트는 복잡적응계”(40p)라는 말인것 같다. 복잡계 이론은 “지난 30~40년간 물리학, 경제학, 사회학 등 다양한 분야에서 연구한 광범위한 학문”으로서 “태풍의 불규칙한 진로나 기상이변, 부동산과 주식 가격의 불규칙한 변동 현상 등 ….”과 같은 복잡하고 예측불가능한 시스템을 의미한다.

물리학의 뉴턴 물리학이 소프트웨어 방법론의 폭포수 모델이라면 복잡계 이론은 애자일이다. 프로젝트는 그것을 둘러싼 사회 경제적 요인과 제안자의 사고방식, 제작자의 역량과 자신감, 경영자의 자질, 회사의 경영상황 등 많은 요인에 상호복합적으로 영향을 받는다. 따라서 프로젝트의 일정과 비용을 정확히 예측하려고 노력했지만 대부분은 실패로 끝날 수밖에 없다.

소프트웨어 개발 프로젝트가 복잡계라는 인식이 애자일의 중요한 출발점이다.

자기조직적인 팀(p. 43)

애자일을 하는 팀이라면 ‘자기조직적’인 팀이 되는것이 최종 목표가 될 것이다. 그런데 자기조직적인 것과 기민한(애자일)것이 무슨 관계가 있을까? 라고 생각할 수 있지만 저자는 “(자기조직적인 팀은) 예기치 않은 상황이 발생할 때 리더의 지시를 받지 않고도 조직을 재편할 수 있는 능력이 있으며 창의적인 아이디어도 자주 나온다”라고 말한다. 그렇다 진정으로 기민함을 가진 팀이 되려면 타인에 의해 조직되어지는 것이 아니라 스스로 조직되어진, 자기완결적인 팀이어야 한다.

당연한 이야기지만 자기조직적인 팀은 팀원들의 자발성이 중요하다. 그래서 이런 방식의 팀은 뛰어난 카리스마로 팀을 이끌어가는 리더가 아니라 팀원들이 능력을 잘 발휘할 수 있도록 도와주는 역할이 중요하다.

Lean(p. 47)

린은 애자일이 형성되는데 중요한 영향을 끼친 프로세스이다. ‘린’은 원래 1990년대 초 워맥 교수가 도요타의 생산방식을 ‘린 시스템’이라고 부르기 시작하면서 시작되었다. 도요타 생산방식은 두 가지 관점에서 전통적인 자동차 생산방식의 패러다임 전환을 가져왔다.

  • 장비의 가동률을 무조건 늘리는 데 초점을 맞추기보다는 장비와 인력을 효율적으로 활용하면서 제품의 리드 타임(lead time)을 줄이는 데 초점을 맞췄다.
  • 생산 근로자를 단순하게 작업을 수행하는 기계적 요소로 보지 않고 업무를 개선하는 부가가치 창출의 원천으로 보았다.

풀(pull) 시스템(p. 51)

린의 주요 원리 중에 풀 시스템이라는 것이 있다. <칸반>에서 “당김”이라고 번역된 개념이 린의 풀 시스템으로부터 온것으로 생각된다. 린의 풀 시스템이란 “고객 수요에 따라 제품을 생산한다는 개념”으로 “원래 슈퍼마켓에서 고객이 실제로 가져가는 양만큼 재고를 보충하게 되면 재고 비용을 최소로 할 수 있다는 생각에서 나왔다”.

원래 <칸반>을 읽으면서 “업무당김”에 대해 정확히 이해하지 못하고 있었는데, 린의 풀시스템을 읽으면서 이해가 된 것 같다. “업무당김”에 대해 이해한 대로 적어보면, 정확하지 않은 추정계획을 세우고 그에 맞추어 이슈들을 밀어넣으면 개발자들이 그것에 맞추어 개발하는 방식(푸시 시스템)과 반대로 개발자들의 역량과 팀의 상황에 따라 일을 처리하고 그 속도에 맞추어 이슈들을 (개발자들이) 당겨오는 방식(풀 시스템)이다. 칸반에서는 “업무당김”이 없으면 칸반이 아니라 카드벽에 불과하다고 얘기할 정도(칸반 p. 19)로 “업무당김”이 칸반의 핵심 원리중 하나로 설명하고 있다. 자기조직적이며 주체적인 “당김”으로 여유시간을 확보해 품질에 집중할 수 있으며 병목지점을 찾아내기 쉽고, 처리량을 측정함으로서 예측성을 높일 수 있다.

그 밖에

몰입에 대한 이야기(p. 59)도 재미있는 부분이고, 현재 굿닥의 서비스팀에 부족한 성과지표(p. 135)에 대한 내용도 도움이 되는 내용이었다. 성과지표 중 속도에 관한 것은 논쟁의 여지가 많지만 진척률을 가시적으로 표현하거나 팀의 사기나 결함 발생률을 수치화하는것은 꽤 의미있는 TODO가 될 거라고 생각된다.

나머지 내용은 별로 중요하지 않느냐 면 그렇지 않다. 애자일에 있어서 매우 교과서적인 내용으로 가득 채워져있기 때문에 중요하지 않은 부분은 없다.

이후에 읽으면 좋을 책