본문 바로가기

관심사/도서

[경험과사례로풀어낸성공하는애자일]4장. 기민함을 위해 이터레이션 수행하기

과거에는 조직에서 변화가 필요할 때 "변화 프로그램"을 사용했었다. 위에서는 변화 프로그램대로 프로세스가 변하기를 원했고, 당시에는 이 프로그램의 시작과 끝이 명확했다. 과거에는 몇년에 한번씩 진행되는 이 "변화 프로그램"이 잘 맞았지만, 현재는 시장이 빠르게 변하고 있기 때문에 이게 적합하지 않다. 그래서 이제는 한번에 몇년에 걸쳐서 변화를 만들어가기 보다는, 잘게 나눠서 변화를 만들어가야한다.

경험과 사례로 풀어낸 성공하는 애자일 4장에서는 이러한 변화를 잘게 나눠서 진행하는 이터레이션에 대한 내용을 담고 있다. 



책에서는 실제 사례로 2004년도의 샴록 식품의 이야기가 나온다. 샴록 식품의 전략 수립 과정에서 스크럼을 도입하였다는 내용이다. 샴록에서는 분기별 전략을 스크럼 스프린트로 봤다. 매 분기마다 계획 대비 성과를 봤고, 지난 전략에서 배운 것과 개선점들을 공유했다고 한다. 그리고 이를 바탕으로 다음 action plan을 수립했다고 한다.

계획이 구체적이지 않고, 실행력이 부족했기 때문에 많은 회사에서 조직 개선 시도에 실패한다. 

때문에 이를 발전시키기 위해서 샴록 식품에서는 

  1. 구체적이고 측정할 수 있어야하고
  2. 우선순위를 정하여
  3. 상세한 실행계획을 수립하고
  4. 90일 이내에 측정가능한 결과물을 
설정했다고 한다.

챕터 4에서는 스크럼 도입을 위한 스크럼을 사용하는 방법에 대한 내용을 담고 있다.


  스크럼 개선 백로그

조직에 스크럼을 적용시키기 위해서는 마치 제품 개선 백로그처럼 스크럼 개선 백로그가 필요하다. 예를 들면 스크럼 개선 백로그는 아래와 같을 수 있다. 

 항목

역할 

비고 

스크럼 마스터를 양성하기 위하여 외부 교육 프로그램 참여를 지원한다. 

 

1개월 후에 참여할 수 있는 외부 교육프로그램을 찾아본다. 

 스크럼 마스터를 양성하는 내부 프로그램 수립

  


  ETC 조직 운영 

전사적으로 스크럼을 조직 내에 전파하고, 이 것들이 잘 적용될 수 있도록 돕는 그룹인 ETC가 필요하다. (ETC란 Enterprise Transition Team의 약자이다.)

  • ETC는 조직의 변화를 제안하고, 변화를 만드는 그룹을 지원한다. 
  • 그리고 스크럼을 잘하는 데에 발생하는 장벽들을 제거해주고
  • 팀원들이 변화에 대한 흥미와 열정을 가질 수 있도록 돕는 역할을 담당한다.

ETC 조직은 스크럼 도입에 관련된 사람들 중 가장 상위층에 속해있는 사람들로 구성되어있어야 한다.


ETC 스프린트

ETC 스프린트 주기는 2주정도가 적합하다. 각 ETC 구성원들은 별도의 개별 업무들을 갖고 있는게 좋다. 예를 들면 물류시스템팀의 팀장님이 본래의 업무를 하면서 ETC 조직에 참여하는게, 실제 업무 프로세스와 조직적인 장애물들을 발견하고 해결하는 데에 도움이 된다. 


스폰서

애자일 도입에 성공하기 위해서는 임원진의 적극적인 지원이 필요하다. 그래서 새로운 도입을 책임지는 임원이 스폰서 역할을 맡아서 애자일 도입을 이끌어주는게 필요하다. 이러한 역할을 해주는 것을 스폰서이며, 스폰서는 스크럼의 제품 책임자이기도 하다. 

스폰서는 ETC에 참여해서 스크럼 도입에 노력한다는 사실을 대외적으로 보여줘야한다. 실제로 스크럼 도입에는 참여하지 않지만, 대외적으로 '스크럼 도입'에 대해 커뮤니케이션 하는 데에 중요한 역할을 한다. 


ETC의 책임

ETC에게 정말 중요한 일은 다른 사람들이 애자일과 스크럼에 관심을 갖게 하는 것이다. ETC 는 조직원들과 건설적인 대화를 통해, 사람들이 스크럼에 열정적으로 관심을 갖게 해야 한다. 그러기 때문에 혼자서 일을 진행하려고 하기 보다는, 사내의 다른 사람들에게 도움을 받아서 진행하는 편이 더 좋다. 

조직원들이 지속적이고, 창의적인 변화를 하도록 하기 위해서는 아래와 같은 일들을 해야한다.

  1. ETC는 애자일에 대한 비전을 전달하는 것 뿐만 아니라, 변화의 필요성을 직원들에게 인지시켜야 한다.
    • 왜 스크럼을 해야하는지, 왜 지금 해야하는 지 등의 컨텍스트를 맞추는게 중요하다.
  2. 일하는 방식을 개선하는 다양한 실천법에 대해서 대화를 나누고, 장단점에 대해서 토론하고, 대화할 수 있게 해야한다. 많은 좋은 아이디어가 대화를 통해 나오기 때문이다.
  3. 스크럼 도입에는 많은 시간과 자원이 필요하다. 때문에 애자일에 관심을 갖고 있는 조직원들이 애자일과 관련된 업무( ex) 테스트 자동화 기능 교육 )를 할 수 있도록 슬랙을 보장해 주는 것이 필요하다. 
  4. ETC는 도입에 목표를 결정하고, 커뮤니케이션 하는 역할을 책임진다. '테스트 코드 커버리지를 1개월 이내에 60% 이상으로 늘리자! ' 처럼 목표를 명확히 만들고 이끄는게 필요하다. 
  5. 스크럼은 개발 조직 뿐만 아니라 조직 내에 많은 영향을 미칠 수 있다. 그렇기 때문에 ETC는 스크럼에 대한 노력이 특정 조직 뿐만 아니라, 그룹 전체에 퍼질 수 있도록 노력해야 한다. 
이 외에 ETC 조직원들이 해내야 하는 역할은 여러가지가 있다. 
  • 스크럼 도입을 위해 노력해야하는 사람들을 찾아서, 적극적으로 협업해야한다. ETC를 Cross-Functional 팀으로 구성하면 문제를 다방면으로 볼 수 있다.
  • 스크럼 도입을 막는 장애물들을 찾아서 이를 제거하는 데에 노력해야한다.
  • 실천법과 원칙을 조화롭게 적용해야한다. 무조건 원칙을 기반으로 개선을 진행하기 보다는, 실천 가능한 방향에서 합의하면서 진행해야한다.


  개선 커뮤니티

개선 커뮤니티 (Improvement Community, IC)는 스크럼을 이용해서 조직을 개선하고자 하는 사람들이 모두 모인 그룹이다! IC는 스크럼 개선 백로그를 사람들이 실천하려고 결심할 때! 혹은 ETC가 아직 준비되어 있지 않아도 개선에 대한 열정을 가지고 있는 사람들이 모일 때 만들어질 수 있다. ETC는 스크럼 도입 프로세스를 안내하는 역할을 하지만, 이를 직접 지시하거나 관리하지는 않는다. ETC의 대부분의 역할은 제품 개발 방법을 개선할 수 있도록 IC가 모이고, 이를 조직적으로 해결할 수 있는 환경을 만드는거다! 

즉, ETC가 스크럼 도입을 이끌어가기는 하지만, 실제로 이를 도입하는 작업은 개선 커뮤니티에 의해서 진행된다.


ETC는 여러 IC들에게 여러 지원과 에너지를 제공하고, 여러 가이드와 방향성을 제시한다. IC들은 실제 현업에서 이를 적용하고, 현업에서 발생한 장애물들을 ETC와 공유하여, 이를 개선 백로그에 추가한다. 이러한 순환은 스크럼 도입이 잘 될 수 있도록 도와준다.



애자일을 더욱더 개선하는 역할을 하는 애자일 개선 커뮤니티

조직 안에서 있는 애자일 개선 커뮤니티는 애자일에 사람들이 익숙해지는 데에 도움이 된다. 특정한 목표를 갖고있는 커뮤니티는 실질적인 개선으로 발전될 수 있기 때문이다. 

가장 효과적인 커뮤니티는 자발적으로 생성된 커뮤니티로 볼 수 있다. ETC가 변화를 얼마나 잘 하고 있는지를 확인할 수 있는 두가지 지표가 있다.

1. 자발적으로 모인 커뮤니티 개수

2. 전체 애자일 커뮤니티 중, 자발적으로 생겨난 커뮤니티 비율 

자발적인 커뮤니티가 높은 비중을 차지한다는 건, 스크럼에 대한 강한 관심을 갖고 있고 변화가 일어나고 있다는 것을 의미한다.


개선 커뮤니티 스프린트
2주 주기가 적합하다. IC 안에서도 제품 책임자가 존재하는데, 가장 스크럼 도입에 열정을 갖고있는 사람이 주로 이를 담당한다. 한편, IC는 ETC가 정한 목표에 따라 만들어져서 ETC 구성원이 개선 커뮤니티(IC)의 제품 책임자 역할을 맡기도 한다.
그런데 IC 의 고객은 ETC가 아니라, 제품을 개발하는 스크럼 개발팀을 위해 존재한다. 때문에 ETC 구성원이 스프린트 리뷰 때 제품책임자 역할을 할지라도, 이에 관심있는 개발 팀원들 또한 활발하게 참여할 수 있어야 한다.

IC가 왜 목표를 달성해야하는지에 대해 서로 공감대를 형성하고 있을 때, 가장 좋은 결과를 얻을 수 있다. 그렇기 때문에 문제에 대한 백로그는 ETC가 제시하지만, 어떤 방식으로 문제를 해결할지 결정하고, 이에 대한 우선순위를 두는 것은 IC의 역할이다. 

ETC가 개선 백로그를 작성하면 개선 커뮤니티가 1~2개의 백로그를 가져가서, 이를 더 작은 항목으로 나누어 개선 커뮤니티의 백로그에 넣게 된다. 
이런 형태로 ETC의 백로그는 개선 커뮤니티의 백로그로 세분화되고, 실천된다.

예를 들면 백로그는 아래처럼 세분화 될 수 있다.


개선 커뮤니티 백로그 중 일부 
- 스크럼 마스터를 양성하는 내부 프로그램 수립이라는 ETC 백로그에서 세분화한 내용이다.

 No

 무슨 일을 할 것인가?

노트 

 1

스크럼 마스터 교육 비용을 다른 회사의 직원들과 분담할 수 있는지 확인해본다

개발자A는 옆 건물에 있는 IT회사의 대표와 친하다 

 2 스크럼 마스터를 희망하는 내부 직원들을 찾아본다 

1번에 해당하는 백로그는 아래처럼 Task가 세분화 될 수 있다.

1. 예산을 세운다.

2. 옆 건물에 있는 IT회사에서 스크럼 마스터 내부 프로그램에 흥미가 있는지 확인해본다.

3. 예산허가를 받으러 경영관리팀에 찾아간다.


개선 커뮤니티가 조직 내에 큰 영향을 주려면, 개발 팀 내에서 바로 실현 가능한 목표에 집중할 수 있어야한다. 이를 위해서는 개선 커뮤니티 구성원들이 개발팀과 함께 뭔가를 가지고 같이 일하는게 필요하다. 

예를 들면 '테스트 자동화'를 목표로 둔 개선 커뮤니티가 실제 개발팀에 영향을 미치기 위해서는

옆에서 같이 테스트 코드를 짜고, git에 hook을 걸어서 수시로 테스트코드를 돌려볼 수 있는 환경을 마련해준다거나 하는 실천적인 역할을 해줘야한다. 


개선 커뮤니티 구성원

개선 커뮤니티 구성원은 직급 제한 없이 참여할 수 있는게 좋다. 참여자들이 많으면 참여자들이 만들어내는 변화를 다른 조직원들이 느낄 수 있기 때문이다. 그래서 개선 커뮤니티의 조직원 수에는 제한이 없어야한다. 그리고 개선 커뮤니티에 참여한다는건 업무 시간의 100%를 할애한다는 것이 아니다. 정규 업무는 이어가되 업무의 20%를 할애해서 개선 커뮤니티에 참여할 수 있도록 해야한다. 




구글의 경우 각 구성원들에게 매주 20%를 새로운 제품을 만들어본다거나 하는 관심분야에 쏟을 것을 권장하고 있다. 그리고 세일즈포스닷컴의 경우 매년 1주일 동안 새로운 아이디어를 실험하거나 자기가 원하는 것을 할 수 있는 시간을 보장해주고 있다. 그리고 이 슬랙을 통해 개선 커뮤니티에 참여하여 활동할 수 있도록하고 있다.