이 글은 공식 LeSS 사이트에 있는 Adoption을 옮긴 것이다.

예전부터 팀 단위의 애자일 방법론을 대규모 조직에 적용하고자 하는 노력은 꾸준히 있었고, 현재 시점에서 SAFeLeSS가 가장 인기있는 대규모 애자일 프레임워크라고 할 수 있다. 많은 이들이 애자일 트랜스포메이션에 관심을 갖고 있는 우리의 상황에서 비슷한 고민을 오래 전에 먼저 시작한 이들의 문제 인식과 통찰을 살펴보는 것은 흥미로운 일이다.

대규모 조직에 애자일을 적용하고자 하는 분들에게 도움이 되길 바란다.

0. 대규모 스크럼, 레스(LeSS)
1. 왜 레스(LeSS)인가?
2. 레스(LeSS)의 규칙
3. 피처 팀(Feature Teams)
4. 제품 책임자(Product Owner)
5. 스프린트(Sprint)
6. 제품 백로그(Product Backlog)
7. 제품 그리고 완료의 정의
8. 팀간 조율 및 통합
9. 스크럼 마스터(ScrumMaster)
10. 레스(LeSS)의 적용

레스(LeSS)를 적용할 때에는 다음과 같은 이슈들을 고려해야 한다.

인원이 많다—레스(LeSS)를 적용한다는 것은 거대한 조직과 수많은 사람들의 마음을 바꾼다는 뜻이다. 사람들에게는 조직이란 어떻게 움직여야 마땅한지에 대한 가정이 깊이 뿌리박혀 있다. 레스(LeSS)를 성공적으로 적용하려면, 대규모 그룹 전반에 깔려있는 불온한 정치도 다루어야 하고, 체면 불구하고 “얼굴에 철판을 깔고서” 필요한 일은 뭐든지 하면서, 사람들의 가정을 깨뜨리고 조직의 구조를 바꿔야 한다. 모두가 공동의 목표를 향해 개선해야 레스(LeSS)를 적용할 수 있다.

완벽을 지향하는 지속적인 개선—레스(LeSS)를 적용하는 그룹은 당연히 자신들의 기존 가정과 습관에 따라 레스(LeSS)를 적용하려 한다. 사람들은 변화에 대한 비전을 만들고 다양한 변화 프로젝트를 시작하는데, 원래의 목표를 달성하고 나면 다음과 같은 일이 벌어진다.

  1. 변화를 마무리 짓는다
  2. 조직은 변화가 마무리된 그 상태에 머무른다.
  3. 다음 변화 노력을 시작한다.
  4. 이전에 이루었던 변화를 무효화한다.

이렇게 고전적인 방식은 수많은 변경 통제 위원회가 변화를 예외적인 상황으로 간주하고 엄격하게 관리하면서 큰 덩어리를 한 번에(big batch) 순차적으로 만드는 소프트웨어 개발 방식과 비슷하다.

레스(LeSS) 적용에는 변화 이니셔티브, 변화 그룹, 변화 관리자가 없다. 레스(LeSS)에서 변화는 실험과 개선을 통해 지속적으로 이루어지며, 변화는 끝없이 계속 된다.

세 가지 원칙

조직에 레스(LeSS)를 적용할 때에는 다음의 원칙이 매우 중요하다.

  • 넓고 얕게 보다는 깊고 좁게 한다
  • 하향식과 상향식을 동시에 한다
  • 자원자를 활용한다

넓고 얕게 보다는 깊고 좁게

레스(LeSS)는 여러 그룹에 대충 적용하는 것보다 하나의 제품에 제대로 적용하는 편이 더 낫다.

하나의 제품 그룹에 레스(LeSS)를 적용하려는 노력을 집중시키고, 그들에게 필요한 모든 지원을 주고 제대로 운영되는지 확인한다. 이렇게 하면 위험을 최소화하고 실패하더라도 집중적인 학습 기회를 얻게 된다. 그리고 성공했을 때에는 적용을 더욱 확대하는 데 필수적인 자양분이 되는 긍정적인 “밑바닥 민심”을 만들어낸다.

하향식과 상향식을 동시에

하향식(top-down)으로 해야 할까, 상향식(bottom-up)으로 해야 할까? 그런 생각은 잘못된 이분법이다. 한 가지 방식으로만 하면 실패하기 쉽다. 둘 다 해야 한다.

순수 하향식—관리자가 주도하는 “레스(LeSS)를 할지어다!” 방식의 적용은 저항을 일으키고 조직을 실패로 이끈다. 팀에게 스스로 관리하라고 지시하는 것은 모순이다. 레스(LeSS)를 적용하는 데에는 명령이 아니라 논의를 통해 나온 깊은 이해가 있어야 한다. 이해, 선택, 개인의 안전한 느낌만이 사람들이 숙고하고 개선하는 더 큰 책임을 감당하도록 해줄 것이다.

순수 상향식—이 방식의 레스(LeSS) 적용은 지속 가능하지 않다. 옳은 일을 하고자 하는 사람들에게서 나오는 즐거운 에너지의 폭발을 이룬다. 이것이 오픈 마인드, 학습의 가속화, 더 깊은 이해로 이어진다. 정말 멋지다! 그러나 이 활기찬 사람들은 조직의 벽에 활기차게 부딪힌다. 쾅! 구조와 정책을 바꿀 수 있는 최고위층의 지원이 없다면, 에너지를 잃고 조직의 장애물과 경직성으로 인해 좌절하게 된다.

하향식과 상향식의 조화—레스(LeSS)를 성공적으로 적용하려면 옳은 일을 하고자 하는 사람들의 에너지, 그리고 옳은 일을 할 수 있도록 돕는 조직적 힘을 지닌 사람들의 지원이 필요하다. 관리자의 마음가짐은 반드시 통제가 아니라 지원이어야 한다.

경영진은 어떤 지원을 해야할까?

그룹의 구조를 바꿀 수 있는 조직 권한을 지닌 사람(대개는 제품 그룹의 책임자)이 경영적인 지원을 해준다. 이 지원은 반드시… 실질적인 도움이 되어야 한다.

진정한 지원은 자기 교육에서 시작된다. 제품 그룹의 모든 관리자는 시간을 마련해서 레스(LeSS)를 공부하기 시작한다. 여기에는 며칠 짜리 입문 교육과 읽어야 할 책 몇 권을 포함한다. 관리자들은 공부를 끝내고 (1) 레스(LeSS)를 적용하려는 의도, (2) 필요한 조직 변경을 하겠다는 약속, (3) 교육 및 코칭 제공 등에 대해서도 명확히 소통하고 행동할 필요가 있다.

자원자를 활용한다

새로운 팀은 어떻게 구성해야 할까? 실천공동체에는 누가 참여할 것인가? 이러한 질문에는 어떻게 답변해야 할까?

자원자를 활용하자! 진심어린 자원은 사람들의 마음을 사로잡는 강력한 방법이다. 관리자가 통제력을 상실한다는 느낌 때문인지 활용도가 낮은 방법이긴 하다. 그러나 이 방법을 사용하면 팀원들은 권한을 부여받았다는 느낌을 받는다.

자원은 교육에서 시작된다. 첫째, 무엇을 위해 자원하는 것인지 사람들이 이해할 수 있도록 충분한 교육과 논의를 제공한다.

시작하기

세 가지 적용 원칙 중 한 가지가, 하나의 제품에 적용하는 것부터 시작하는 방법이 제일 좋다는 원칙이다. 그 성공 가능성을 어떻게 높일 수 있을까?

  1. 모두에게 교육한다.
  2. ‘제품’을 정의한다
  3. ‘완료’를 정의한다.
  4. 팀을 적절하게 구성한다.
  5. PO만이 팀에게 일을 준다.
  6. 프로젝트 관리자를 멀찌감치 떨어뜨린다.

0. 모두에게 교육한다

우리가 보았던 가장 훌륭한 레스(LeSS) 적용 사례에서는 모두가 며칠 동안 스크럼 및 레스(LeSS) 교육에 참여하도록 했었다. 그 이후에는 팀, 조직, 기술 코칭이 이어졌다.

이유를 가르치자—레스(LeSS) 적용이 무엇인지 어떻게 하는 것인지를 교육하는 것 말고도, 모든 이들이 그 이유를 이해할 수 있도록 돕는 것이 훨씬 더 중요하다. 이유를 이해하지 못한 채 프로세스를 맹목적으로 고수하는 경우가 너무나 많다.

훌륭한 트레이너와 코치가 있다면 레스(LeSS)를 적용하는 데 큰 차이를 불러올 것이다. 훌륭한 코치는 어떻게 선택할 수 있을까? 여기에서 몇 가지 가이드라인을 찾아볼 수 있다.

1. ‘제품’을 정의한다

제품의 정의에 따라 레스(LeSS) 적용의 범위가 정의될 것이다. 제품의 정의가 광범위하면 다음과 같은 장점을 얻을 수 있다.

  1. 전체 제품에 대한 더 좋은 개요를 얻을 수 있다.
  2. 제품의 결을 매끄럽게 한다
  3. 피처팀을 통해 의존성을 처리할 수 있다.
  4. 사용자가 제안하는 문제가 아니라 해결하려는 문제에 더 집중할 수 있다.
  5. 조직의 규모를 줄일 수 있다.

2. ‘완료’를 정의한다

더 훌륭하고 강력한 완료의 정의를 만들려면 팀 내에 광범위한 기술력이 필요하다. 예를 들어, 완료의 정의에 성능 테스트를 포함하고 싶다면 팀에서 이 기술을 습득해야 한다. 학습을 통해 습득할 수도 있지만, 전문적인 성능 테스트 그룹에서 성능 테스트 기술을 갖고 있는 사람을 팀으로 데려와서 습득하는 경우도 많다. 반면에 완료의 정의에서 성능 테스트를 제외할 경우, 완료의 정의를 확장하기 전까지는 별도의 성능 테스트 그룹에서 이전과 같은 방식으로 운영하게 될 것이다.

완료의 정의가 더 훌륭하고 강력해지면 엉성하고 빈약할 때보다 더 큰 조직 변화를 불러온다.

그리고 완료의 정의가 빈약하면 추가 위험과 지연이 생긴다!

조직이 얼마나 많이 변화할지에 영향을 미치기 때문에, 완료의 정의는 레스(LeSS)를 적용할 때 매우 중요한 관리 도구다.

3. 팀을 적절하게 구성한다

각 팀은 공동의 목표를 달성하는 데 공동의 책임을 지닌다. 이들의 성공을 뒷받침하려면, 각 팀이 적절하게 구성된 팀인지 확인한다.

이 새로운 구조는 사람들이 기존의 기능 그룹(functional group)에서 새로운 교차기능 그룹(cross-functional group)으로 옮겨간다는 것을 의미한다. 사람들은 예전의 기능 그룹 관리자와 보고 관계를 유지해야 하는가? 아니다. 그렇게 하면 팀 공동의 책임과 응집력을 파괴하는 충성심의 충돌을 유발한다.

4. PO만이 팀에게 일을 준다

집중이 중요하다. 어떻게 하면 집중을 잃게 될까? 관리자, 영업, CEO, HR 등이 무심코 던지는 극히 합리적인 방해와 추가 업무 요청이 집중을 잃게 만든다. 그런 일이 일어나지 않도록 하자!

제품 책임자(PO)가 팀에게 일을 줄 수 있는 유일한 사람인지 확인해서 그런 일이 일어나지 않도록 한다. 초점을 유지하는 데 도움을 줄 뿐만 아니라, “나 먼저! 나 먼저!”라고 외치는 모든 경쟁적인 목소리를 관리하려는 데에서 오는 스트레스를 줄여 준다. 우선순위 부여는 PO가 해야 할 일이지 팀이 할 일이 아니다.

특히 집중해서 없애야 할 목소리 하나는… 다음과 같다.

5. 프로젝트 관리자는 멀찌감치 떨어뜨린다

경험이 풍부한 레스(LeSS) 조직에서는 프로젝트 관리자의 역할을 없앤다. PO와 팀이 공동으로 프로젝트 관리 책임을 지기 때문에 이 역할은 더 이상 필요하지 않다.

대부분의 레스(LeSS) 적용에서는 프로젝트 관리자 역할을 곧바로 없앨 수 있다. 그러나 그 역할이 일시적으로 여전히 필요한 경우도 일부 있다. 대개는 완료의 정의가 빈약하고 불완전하거나(그래서 미계획 업무가 많거나) 제품 간 경계 조율이 있을 때 그렇다. 그렇더라도 조직이 프로젝트 관리자를 바로 포기하는 경우가 많지는 않다.

그렇기 때문에 당분간은 프로젝트 관리자가 계속 존재하는 경우도 있을 것이다. 무슨 문제가 생기게 될까? 이들은 정기적으로 사람들을 방해하고 상충하는 우선순위를 끌어들일 가능성이 높다.

본질적으로, 이 제안은 “오직 PO만이 일을 준다”와 같은 말이지만, 보다 구체화시키고 (우리가 깨달았던 것처럼) 명시화하는 것이 중요하다.

코칭

코칭이란 경험이 풍부한 코치가 조직의 제품 개발을 개선하는데 조직과 긴밀하게 협력한다는 뜻이다. 대개는 피드백 루프를 짧게 줄이고 품질 개선에 초점을 맞춘다. 이렇게 빠른 피드백 사이클은 더 높은 생산성과 더 많은 유연함과 같은 이익으로 이어진다.

조직에서 적절한 수준의 코칭을 보장하면 레스(LeSS) 적용의 성공 확률이 크게 높아진다. 많은 조직이 책을 읽거나 짧은 교육만으로도 레스(LeSS)를 적용하는 데 충분하다고 생각한다. 분명히 효과가 있는 경우도 있지만, 대부분의 경우에는 그렇지 않으며 레스(LeSS)를 적용하는 데에는 보다 적극적인 코칭이 필요하다.

내부 코칭 vs 외부 코칭

반드시 (회사 바깥에서 온) 외부 코치의 도움을 받아야 할 필요는 없다. 매우 매우 어려운 일이긴 하지만, 레스(LeSS) 적용을 돕는 내부 코칭 네트워크를 구축할 수도 있다. 많은 경우 내부 코칭 네트워크 구축에 실패하는데, (1) 당신이 하고 싶은 일이 제품 관련 업무이지 내부 코치가 되는 것이 아니고, (2) 코치가 가서 보기를 충분히 실천하지 않아 제품 개발의 현실과 연결이 끊어지는 경우가 많기 때문이다.

경고: 조직에 코칭 그룹을 만들 때에는 때마침 활용 가능한 “잉여 인력”으로만 코칭 그룹을 구성하지 않도록 한다. 그 방식은 실패할 것이다.

내부에서 코칭을 할 수 있더라도, 장기적으로 함께 할 수 있는 최소한 한 명의 외부 코치를 참여시킬 것을 추천한다. 외부 코치는 종종 내부 코치들이 (더 이상은) 보지 못하는 것들을 보고 외부에서 경험과 아이디어를 가져온다. 또한, 내부 코치에게는 정치적으로 올바르지 않을 수 있는 것도 외부 코치는 발언할 수 있도록 ‘허용’되는 경우가 많다.

세 가지 수준의 코칭

흔히 다음과 같은 세 가지 수준의 코칭이 필요하다.

  • 조직 코칭
    코치는 여러 팀 및 경영진과 협력해서 조직과 그 구조를 개선한다.
  • 팀 코칭(또는 레스(LeSS) 코칭)
    코치는 한 팀 또는 몇몇 팀과 협력해서 팀 업무와 레스(LeSS) 실천법을 개선한다. 코치가 스크럼 마스터 역할을 맡는 것이 일반적이다.
  • 기술 실천법 코칭
    코치는 실제 코드베이스에서 팀과 협력해서 기술 실천법을 개선하고 단순한 설계, 리팩토링, 단위 테스트, TDD, ATDD와 같은 애자일 개발 기법을 적용한다.

조직 코칭

코치는 일반적으로 다음에 초점을 맞춘다.

  • 레스(LeSS) 조직이 어떻게 운영될 수 있는지에 대한 명확한 비전 확보
  • 조직 구조 및 설계
  • 레스(LeSS)
  • 경영진의 역할
  • 적용
  • 대상 선정
  • 조직 개선 백로그 관리
  • 관리 관행을 일상 업무에 대한 통제에서 역량 구축으로 변화시키기
  • 업무 관리: 제품 백로그 및 조직의 백로그 관리 방법
  • 방해 다루기
  • 평가 및 경력과 같은 인사 관행
  • 조직 릴리스/로드맵 계획 수립 및 회고 퍼실리테이션

팀 코칭

코치는 일반적으로 다음에 초점을 맞춘다.

  • 자기 관리 팀으로서의 팀 책임
  • 퍼실리테이션
  • 팀 의사 결정 및 갈등 해결 개선
  • 팀 내 투명성
  • 조직 장애물 가시화
  • 팀과 PO 간의 관계 개선
  • (팀, PO, 그 밖의 이해관계자 모두의) 제품 오너십
  • 팀 관리자의 역할과 기여
  • 스크럼 실천법 (및 기술 실천법) 개선
  • 팀의 (장래) 스크럼 마스터 교육 및 코칭

기술 코칭

코치는 일반적으로 다음에 초점을 맞춘다.

  • “코드/설계 악취”의 발견. 코드/설계를 개선할 수 있는 지점 확보
  • 단순하며 변경 및 유지보수가 더 쉬운 현대적이고 “클린” 코드 설명
  • “악취”를 클린 코드로 리팩터링
  • 단위 테스트 작성
  • TDD (테스트 주도 개발)
  • 테스트 자동화
  • CI/CD (지속적인 통합 및 지속적인 전달)
  • Specification by Example (ATDD)
  • 효율적이고 효과적인 업무 실천법 (IDE, 자동화)
  • 디자인 패턴 적용

어떻게 코칭해야 할까?

우리가 보았던 가장 성공적인 레스(LeSS) 적용은 다음과 같은 구조를 가지고 있었다.

  • 내부 코치 1명, 외부 코치 1명
    이들이 레스(LeSS) 적용의 개요를 제공한다. 두 명이 함께 경영진을 코칭하면서도 팀 및 기술 코칭에도 관여한다.
  • 팀이 더 나아질 수 있도록 돕고 스크럼 마스터 교육에 집중하는 외부 팀 코치
  • 내부 기술 코치 교육에 집중하는 외부 기술 코치
    일부 기술 코치는 팀과 함께 협력하면서도 내부 코치를 교육시키는 데 집중한다. 그 후 외부 기술 코칭을 줄이거나(없애지 않는다!) 외부 코치를 새로운 영역으로 이동시킨다.

정신줄 놓지않기

레스(LeSS), 특히 레스 휴즈(LeSS Huge)를 적용할 때에는 조직이 바뀔 필요가 있다. 당신이 거기에 관여하고 있긴 하지만, 아마도 변화에 필요한 영향을 미칠 수 있는 ‘공식적’인 권한은 없을 것이다. 하지만 이건 긍정적인 일이다! 당신의 설득에 사람들이 바뀌었다면 그것이 옳은 일이라고 믿기 때문에 바뀐 것일 테니까. 그러나 조직의 변화에 영향을 미치는 일은 사소함이나 빈번함과는 거리가 먼 일인데, 아무리 노력해도 반대 방향으로 바뀌기 때문이다. 그러면 어떻게 살아남느냐가 문제로 남는다. 조직에서 정신줄을 붙들고 살아남으려면 다음이 필요하다.

  • 인내심과 낮은 기대 수준
    대부분의 조직은 느리게 변화한다. 기대치를 낮추고 (목표를 낮추는 것이 아니다!) 몇 년 동안 이 일을 하게 될 것임을 스스로에게 상기시키는 것이 좋다. 하지만 작은 변화를 축하하자.
  • 끈질김
    바꾸자는 제안이 즉시 적용될 것이라고 기대하지 말고, (종종 같은 사람에게) 수십 억 번 설명하게 될 것이라고 예상한다.
  • 용기
    용기가 없다면 아무 것도 바뀌지 않을 것이다. 고위 경영진에게 솔직하게 말하거나 당신의 안전 지대를 벗어나는 제안을 두려워하지 말자.
  • 유머 감각
    당신은 무언가를 바꾸기 위해 1년 동안 사람들을 설득해왔다. 드디어 사람들이 받아들이고 실행했지만… 그 결과는 엉망진창이었다. 어떻게 해야 할까? 심각하게 받아들이면서도 심각하게 받아들이지 말자. 웃어라. 그것만이 살아남는 유일한 방법이다.
  • 개방성과 겸손함
    용감하고 끈질기게 인내심을 갖고 변화를 제안해야 한다. 어리석은 결정이 당신의 일을 망쳐버릴 때 웃어넘겨라. 그리고 실패가 없다면 배우는 것도 없다는 마음가짐으로 이 모든 것이 개방적이고 겸손한 방식으로 받아들여야 한다. 어쩌면 그들이 옳고 당신이 틀렸을지도 모른다.

우리가 인내심 얘기도 했었던가?