#4-4 애자일 챔피언과 애자일 교육
#4-4 애자일 챔피언과 애자일 교육
* 애자일 챔피언
드디어 애자일 방법론과 애자일 적용 전략이 완성되었다. 하지만, 이것은 결국 시스템일 뿐이었다. 당연히 이 시스템의 사이사이를 움직이며 가치를 만들 '사람들'이 필요했다. 우리는 크게 두 가지 역할자가 필요했는데, 그 둘은 전사 거버넌스 측면에서 변화 관리할 담당자와 현장에서 실제 애자일을 전파할 담당자였다.
새로운 방법론을 도입할 때, 이 시스템에 윤활유를 뿌리는 담당자들에게는 이에 대한 충분한 동기부여가 있어야 한다. 특히 전파자는 더욱 그렇다. 그들의 실제 성과와 맞물린 적절한 목표가 설정되어야 하고 이 기반으로 변화관리가 이루어져야 한다. 또한 이들에게 필요한 교육이 제공되어 그들이 목표를 이룰 수 있도록 도와야 한다.
기존 애자일 방법론을 준비하던 TF원들과 세 명의 애자일 전도사는 이 실행 방법에 대해 심도있게 토의했다. 그리고 결론적으로 방법론 TF가 주로 거버넌스 역할을 담당하고 세 명의 애자일 전도사는 교육을 담당하기로 했다.
'10년 당시, 탑 다운으로 사업부별 애자일 적용 오너십을 가질 사업부 열정가들이 지정되었다. 주로 실무 개발 리더들이 었고 이렇게 뽑힌 열정가들을 우리는 사업부 애자일 코치라 명명했다. 그리고 그들을 위한 애자일 교육을 준비하고 진행했다.
교육을 통해 애자일 전도사는 선발된 사업부 애자일 코치들에게 준비된 애자일 방법론, 적용 전략, 활용 도구들에 대해 설명해야 했다. 이 설명을 통해 현장의 실무 리딩을 하는 열정가들이 애자일에 대한 오너십을 갖게 하는 것이 목표였다.
나중에 알게 된 일이지만, 위와 같은 접근은 한국에서는 최초였으나 해외에서는 매우 일반적인 방식이었다. 보통 '현장의 애자일 코치'를 '애자일 챔피언'이라고 부르고 이들이 애자일 전환의 오너십을 갖고 조직 내 애자일 성숙도를 높이는 일을 수행한다. 일반적으로 조직의 KPI(Key Performance Indicator)로써 애자일 성숙에 따른 직원 만족도가 부여된다. 이 KPI에는 직원들이 애자일 방식으로 일하면서 얼마나 성장하는지, 얼마나 보람을 느끼는지 등을 담고 있다.
위의 그림은, 영국 은행 바클레이스에서 가장 열정적인 애자일 코치 중 한 명인 카밀라가 '18년 필자와의 대화중에 그려준 그림으로 바클레이스의 전사 애자일 수행 체계를 표현한 것이다.
먼저 그림의 왼쪽은 애자일 거버넌스를 담당하는 애자일 코치들이 있다. 이들은 전사 조직에 근무하면서, 애자일과 관련한 전사 커뮤니티, 툴, 프로세스 등을 관장한다. 이들이 만든 체계는 최소한의 표준으로 전체 사업부에 제공된다. 각 사업부들은 이들이 제시한 툴, 프로세스등을 애자일의 기본적인 원칙으로 존중한다. 이들 원칙의 활용이 성숙해지면, 그 토대 위에 사업부 특화 툴, 프로세스 등을 나름대로 개선하며 활용한다.
그림의 오른편은 사업부별 애자일 담당자들이다. 즉 '애자일 챔피언'이다. 애자일 챔피언들은 보통 애자일만 수행하는 역할자들은 아니다. 사업부에서 만들고 있는 제품 오너십을 가진 역할자로, 팀의 병목을 해결하는 역할을 하는 사람들, 즉, 실무 리더들이다. 이들은 현장의 리더십을 기반으로 기존의 역할에 더불어 애자일과 관련된 업무를 수행한다.
사업부 애자일 담담자들에게 '챔피언'이라는 멋진 용어를 덧붙인 이유는 이들의 역량과 마인드셋에 따라 애자일 전환이 성공하거나 실패하기 때문이다. 조직에서 이들이 있는 위치가 현실에서 하향식과, 상향식의 변화가 맞물려 일어나는 지점이 이며 이들은 위아래 실제 일이 진행되는데 거의 모든 사람들과 소통하는 책임을 지닌다, 애자일 적용의 성공 여부가 이들에게 달려있다고 해도 과언이 아니다.
'10년 당시 훌륭한 애자일 챔피언을 양성해야 했다. 이들에게 적합한 교육과 도움을 제공하기 위해 오랜 시간 공을 들였다. 사례는 당연히 포함시켰다. 그들은 가장 먼저 사내에서의 사례를 문의할 것이기 때문이다.
우리는 애자일 자체에 대한 설명뿐만이 아니라, 마인드셋을 변화시키기 위한 교육도 포함하고 싶었다. 왜냐하면, 애자일 챔피언들이 앞으로 이 방법론을 최적화하여 사업부 특성에 맞게 만들어낼 주역들이기 때문이다.
* 애자일 챔피언을 위한 교육
'10년 당시 기존 틀에 얽매이지 않는 다른 교육의 접근 방법이 필요했고, 우리는 이 방법을 찾다가 애자일 게임이라는 것들을 발견하게 되었다.
필자가 고민했던 것과 같은 이유로 이미 많은 사람들이 애자일을 가르치기 위한 게임을 만들고 시장에서 활용하고 있었다. 게임을 활용한 주된 원인은 가장 효과적으로 수강생들을 몰입시킬 수 있는 방법이기 때문이다. 하지만 게임 안에 일부러 함정을 몇 개씩 만들어 놓는다. 수강생들은 교육 중 몰입감에 빠져 곧 강사가 파놓은 함정으로 들어간다. 이때 강사는 잠깐 동안 게임을 멈춘다. 그리고 교육생과 함께 토의하면서, 스스로 어떠한 문제를 발견했는지 더 나은 결과를 가져오려면 무엇을 하면 좋을지 이야기한다. 주어진 상황에 대해 토론하면서 더 깊은 배움으로 다다를 수 있다.
당시 교육에 넣었던 가장 효과적이었던 애자일 게임 두 가지를 이번 절에서 소개하고 싶다.
(1) 테스트 주도 그리기
이 게임은 멀어지는 오프라인 사용자 (Offing the offline user)라는 이름으로 '08년 만들어져, 향후 많은 애자일 코치들에 의해 각색되고 현장에 적용된 게임이다. 이 게임의 목표는 고객이 제공한 그림과 똑같은 그림을 그리는 것이다. 그들과 마찬가지로 필자는 이를 보다 한국의 소프트웨어 개발 방식에 맞게 다음과 같이 보완을 했다.
#준비물
3명 이상의 참석자와 퍼실리테이터
원과 삼각형으로 이루어진 그림
A4 지와 연필
#게임의 목표(성공과 실패)
그림에는 직선 요소 3가지와 곡선 요소 3가지가 있는데, 직선 요소 3가지는 필수 요구사항으로 반드시 제대로 그려야 하는 것이고 곡선 요소는 차별화 요소로 이를 제대로 그리면 시장을 지배할 수 있다. 이를 기반으로 다음과 같이 성공과 실패를 정의한다.
파산: 직선 요소 중 일부를 제대로 그리지 못한 경우
기사회생: 직선 요소 3가지 제대로 구성하고 곡선 요소 중 일부를 제대로 그리지 못한 경우
지배: 그림이 원본과 똑같은 경우
#게임 설명/그라운드 룰
고객은 받은 그림을 분석/설계자와 개발자에게 보여주지 않는다.
개발자는 직접 고객에게 이야기하지 않는다.
#이터레이션 0 (아이스브레이킹)
3명의 참석자들에게 2분의 시간을 주고 서로 짧은 인사를 나누게 하고, 다음과 같은 역할을 스스로 부여하도록 한다. (고객, 분석/설계자, 개발자)
역할이 부여된 것을 확인하고 퍼실리테이터는 예제와 같은 그림을 고객에게 나누어 주고 다른 역할자들에게 보여주지 말 것을 당부한다.
#이터레이션 1 (15분)
먼저 개발자는 고객과 분석/설계자의 대화를 들을 수 없는 곳으로 이동한다.
분석/설계자는 고객을 만난다. 고객은 분석/설계자에게 그림을 보여주지 않으면서 분석/설계자에게 말로 그림의 형태를 설명하고, 분석/설계자는 그림이나 도식이 아닌 글로 얻은 정보를 A4지에 적는다. 그리고 고객에게 질문하면서 내용을 확인한다.
내용 확인이 끝나면 고객은 분석/설계자와 개발자의 대화를 들을 수 없는 곳으로 이동하고 분석/설계자는 개발자를 불러온다. ( (1)~(3) 7분)
분석 설계자는 개발자에게 그동안의 얻은 정보를 토대로 그림의 모양을 개발자에게 설명한다. 개발자는 그 이야기를 듣고 그림을 그린다. (8분)
#이터레이션 2 (15분)
고객, 분석/설계자, 개발자는 한 곳에 앉는다.
고객은 그림을 설명하고, 분석/설계자는 개발자가 그리는 그림을 보면서, 부족한 점에 대해 고객에게 질문한다.
3분마다 고객에게 그림을 보여주고, 5번에 걸쳐 확인하며 그림을 보완한다. (15분)
이 게임을 좀 극단적으로 상황을 구성한 면이 있지만 실제 이 게임을 해보면 여전히 우리가 현장에서 일하는 모습과 비슷하다. 우리나라의 SI 구축형 사업이 진행되는 방식에 대해 여러 가지 고민을 할 수 있도록 만들어준다.
먼저, #이터레이션 0에 부여한 역할은 현실 속에서의 프로젝트의 모습과 매우 유사한 형태를 가진다. 일반적으로 SI 구축형 사업은 크게 고객, 분석/설계자와 개발자로 역할을 나눈다.
역할을 정한 인력들이 프로젝트에서 작업을 수행할 때를 보면 대략적으로 다음과 같다. 요구정의 단계에서는 분석/설계자가 고객 또는 사용자를 만나 인터뷰를 통해 요구사항을 정의한다. 이를 기반으로 분석 단계에 들어서면, 분석/설계자가 얻은 요구사항을 중심으로 분석 산출물을 만든다. 먼저, 비즈니스 관점에서 비즈니스 시나리오를 만든다. 특정 사용자가 어떠한 워크플로를 통해 일을 진행하는지를 고민한다.
비즈니스 시나리오가 완성되면 이를 시스템적 관점으로 이동시킨다. 해당 비즈니스 시나리오에 속해있는 각각의 액티비티에 필요한 화면, 데이터, 비즈니스 로직, 인터페이스 등을 설계하기 시작한다. 이때까지도 보통 개발자는 현장에 없거나 있더라도 특별히 많은 액티비티를 하지 않는다. 이 설계가 개발자에게 전달이 되어야 비로소 개발자의 개발이 시작된다. 개발자는 이 분석/설계된 내용을 기반으로 개발을 수행한다. 그리고 테스트를 마친 뒤 한 번에 고객에게 보여주고, 사용자에게 제품을 내어 놓는다.
게임에서 수행하는 #이터레이션 1의 모습은 위와 매우 유사하다. 먼저 분석/설계자는 고객에게 인터뷰를 수행한다. 고객이 설명하는 내용을 글의 형태로 A4지에 적는다. 이 시간 동안 개발자는 현장에 없다. 이는 분석/설계 기간에는 개발자들에게 업무강도가 높지 않은 현실을 표현한다. 분석/설계자의 인터뷰가 끝나면, 본인이 확인한 내용을 개발자들에게 문서 형태로 전달한다.
개발자들은 이 문서를 보면서 그림을 그린다. 확실하지 않은 것이 있으면 분석/설계자에게 묻지만 직접 고객과 커뮤니케이션하지는 않는다. 궁금한 점이 있더라도 몇몇 필요한 내용에 대해서는 선별적으로 분석/설계자를 통해 실제 질문을 하게 된다. 질문에 대한 답 또한 문서로 받게 된다.
게임을 수행하면, 가장 바쁜 것은 분석/설계자이다. 이들은 고객과 개발자 사이에서 커뮤니케이션을 문서와 설명으로 해야 하는 역할을 한다. 하지만 그림을 글로 다시 옮겨 이를 개발자에게 설명하는 것은 그리고 고객 역할을 수행하는 사람들은 정말 편하게 농담을 하며 분석/설계자와 개발자를 바라보고 있다. 무언가 효과적이지 않다는 생각을 참여자들은 하게 된다.
그림의 결과물 또한 고객이 제시한 것과 다른 경우가 대부분이다. 게임 참가자들은 대부분 파산을 하거나 기사회생에 머무른다.
이 게임의 결과를 보고 속도감 있게 #이터레이션 2를 수행한다. 고객, 분석/설계자, 개발자는 시작부터 함께 앉아 있는다. 그리고 고객이 설명한 내용을 함께 들으면서 개발자는 그림을 그리기 시작한다. 분석/설계자는 중간에서 진행상황을 보고, 고객에게 질문한다. 3분에 한 번씩은 고객에게 그림을 직접 보여주고 피드백을 듣는다. 그리고 동일한 15분간 실험을 수행한다.
#이터레이션 2의 결과는 #이터레이션 1과 매우 다르다. 먼저 #이터레이션 2는 거의 모두가 성공한다. 같은 시간을 들여 훨씬 높은 수준의 결과물을 얻을 수 있다.
여기에서 이를 함께 경험한 사람들에게 다음과 같은 질문을 던지면 좋다.
“문서로 커뮤니케이션하는 것에 대해 어떻게 생각하시나요?”
문서를 통한 명세화를 좋아하는 사람들도 이 게임을 하면 과연 더 나은 방법은 없는지에 대해 고민하게 된다. 왜냐하면 문서의 본질이 커뮤니케이션을 위한 것이고, 가장 좋은 방법은 얼굴을 보면서 이야기하는 방법이라는 것은 모두가 이해하기 때문이다. 보통 표준이라고 이름 지어 내려오는 내용들에 대해 한번쯤 고민하여, 무작정 그대로 작성하는 게 나을지 혹은 더 나은 방법은 없을지 고민하는 것 또한 이 게임을 통해 얻을 수 있다.
그리고 다음과 같은 애자일 프랙티스들에 대해서도 교육할 수 있다. #이터레이션 2에서 수행한 모두가 함께 앉아 있는 것은 애자일의 홀 팀 또는 크로스 펑셔널 팀이라는 프랙티스와 동일하다. 즉, 제품을 처음부터 끝까지 만드는데 필요한 기술들이 팀 내에 있는 형태를 말한다. 고객의 지식도, 분석/설계자가 가진 커뮤니케이션 능력도, 개발자가 그려내는 기술도 한 팀에 있다. 물리적으로 한 팀에 있지 않더라도 공동의 목표를 결과물로 만들기 위해 모두가 함께 노력한다.
또한 3분에 한 번씩 고객에게 그린 내용을 보여주는 것은 쇼케이스(고객 데모)라는 프랙티스와 이터레이션이라는 주기적 개발 방식과 동일하다. 자주 실제 동작하는 제품을 보여주면서, 고객에게 필요한 것을 보다 잘 만들 수 있다.
(2) 레고 게임
레고 게임은 전 세계적으로 가장 많이 사용되는 애자일 게임이다. 이 게임은 다양한 콘퍼런스와 세미나에서 활용되어 인기를 끌었다. 레고를 이용하여 짧은 시간에 스크럼의 전체 라이프사이클을 경험하게 할 수 있다. 많은 경우 바닥이 그다지 깨끗하지 않음에도 불구하고 주저앉아 게임을 하는 교육생들을 많이 관찰할 수 있을 정도로 몰입감이 매우 좋고, 예상외로 20대 보다 40대 이상이 더 즐겁게 게임을 하는 것을 자주 볼 수 있다. 왜냐하면, 그들은 함께 레고를 조립할 아이들이 있기 때문이다.
50차례 이상 교육을 했었던 것으로 기억한다. 개인적으로 가장 즐거웠던 교육은 50대가 주축이 된 프로젝트 관리자들 대상 애자일교육이었다. 가장 경험이 많은 프로젝트 관리자가 중간에 서서 현장을 지휘했고, 모두가 일사불란하게 움직였다. 목표가 생겼을 때 이들은 거침없이 그 목표를 향해 함께 움직였다.
이 게임을 할 때 한 가지 주의해야 할 점이 있다. 그것은 레고 게임은 교육이 목적이지 레고를 만드는 것이 목적이 아니라는 것이다. 자주 레고 자체의 즐거움에 빠져 배움을 잊는 경우들이 있다. 때문에 적절한 순간에 멈추고 잠깐씩 배우고 있는 내용에 대해 토의하는 것이 필요하다. 레고 게임 또한 전 세계의 애자일 코치들에 의해 다양한 방법으로 각색되고 보완되었다. 필자가 각색했던 방법은 다음과 같다.
#준비물
이젤 패드, 포스트잇
레고 크리에이티브 세트 (특정 구조물을 만드는 것이 아닌, 기본적인 블록들이 있는 세트)
#게임 설명/그라운드 룰
크게 4개의 이터레이션을 돌린다. 이러테이션 마다 15분 수행 후, 2분의 쇼케이스, 3분의 회고를 수행한다.
이 게임에서 주로 수행하는 애자일 프랙티스는 릴리즈 플래닝, 이터레이션 플래닝, 스탠드업, 회고, 쇼케이스, 사용자 스토리 추정, 번다운/업 차트이다.
#릴리즈 플래닝
고객(강사)은 교육생들에게 마을을 만들어 달라고 한다.
마을은 마을회관, 2층 집, 교회, 놀이터 등 다양한 요소들로 이루어진다.
이젠 패드에 포스트잇으로 한 요소씩 선택하며 어떻게 이를 지을지 토론하며 피보나치수열의 숫자로 업무량을 추정한다.
업무량 추정을 마치면, 무엇을 먼저 지을지 우선순위화 한다.
#이터레이션 1~3 (20분)
15분 간 팀은 각자의 스토리를 가지고 마을을 만든다.
마을을 만든 뒤 2분 동안 고객과 쇼케이스를 수행한다.
쇼케이스 후 3분간 팀 회고를 수행한다.
이 교육은, 당시 애자일 챔피언들을 위한 교육 마지막에 주로 진행한다. 이유는 마지막에 그동안에 배웠던 것을 정리할 수 있기 때문이다. 하지만 교육의 마지막임에도 불구하고 교육생들은 이 애자일 게임이 설계한 함정에 그대로 빠져 버린다.
첫 번째 이터레이션 동안 고객이 바로 앞에 있음에도 불구하고, 고객에게 한마디의 질문을 하지 않는다. 대신에 모두들 스스로 선택한 건축물을 만드는데 열을 올린다. 이 게임의 흥미를 더하기 위해서, 고객(강사)은 첫 번째 이터레이션 쇼케이스에서 다음과 같이 행동한다
고객(강사)은 팀에게 화를 낸다. 본인이 스폰서십을 준 무언가를 만든 게 아니라 그들이 원하는 것을 만들었기 때문이다.
고객은 더 많은 요구사항을 준다.
첫 번째 이터레이션이 끝난 뒤 게임 참가자들은 이전보다 훨씬 고객과 많이 협의를 진행한다. 이를 통해 고객이 원하는 마을에 여러 가지 제안이 더해져, 최초 고객이 생각했던 것보다 훨씬 더 멋진 마을이 만들어진다.
위의 2개의 애자일 게임을 포함하여 우리는 총 7개의 게임을 3일간의 교육 속에 넣었다. 이를 통해 실제 경험하고 후에 이론으로 정리해주는 방식으로 교육을 수행했다.