스포티파이 스쿼드 모델

 

우연히 스포티파이의 팀 스쿼드 모델 글(https://hybridhacker.email/p/the-spotify-squad-model-explained?ref=dailydev)을 읽게되었다. 예전에 모 회사에서 매킨지 컨설팅을 받아서 진행했던 구조랑 똑같다.

관련해서 내용을 정리한다.

팀 스쿼드는 애자일 개발에 대한 색다른 접근 방식이고 스포티파이에서 대중화한 개념이다.

본 내용에 대해서는 2014년 스포티파이 엔지니어링 블로그에 게시된 비디오에 소개되었다.

이 아이디어는 각 분대가 독립적인 스타트업인 것처럼 각각 자신의 프로젝트를 관리할 자율성을 갖춘 미니 팀을 만드는 것이다.

Squad

스쿼드는 소규모 스타트업 팀과 유사한 가장 기본 단위이다.

image

스쿼드는 하나의 공통 목표를 가진 임무 중심의 다기능 팀이다. 상호간 의존성을 줄이고 가능한 한 빨리 움직일 수 있는 자율성과 자유를 최대한 제공한다.

스쿼드는 아래의 특징을 가지고 있다.

  • 최적화된 규모: 8명 미만으로 구성되기에 관리가 어렵지 않고 민첩함과 효과적인 협업이 가능한 규모다.
  • 집중된 업무: 각 팀은 명확한 골을 가지고 운영된다.
  • 교차 가능: 팀은 개발, 디자인, 관리, QA 등 다양한 분야의 구성원으로 구성되기에 독립적으로 운영할 수 있다.
  • Agile Practices: 스쿼드는 일반적으로 Scrum과 같은 애자일 방법론을 사용하여 관리하고 유연성과 지속적인 개선을 보장한다.
  • 자율성: 스쿼드는 작업 방식, 사용 기술 및 골을 가장 잘 달성하는 방법을 결정할 자율성을 갖는다.
  • 성과: 각 팀은 업무 결과를 소유하여 탐여 구성원 간의 책임감과 의무감을 함양시킨다.
  • 빠른 실행: 빠른 의사결정과 신속한 업무 실행이 가능하다.

수년에 걸쳐 스포티파이의 팀 수는 지속적으로 증가하였다. 추가로 더 많은 구조가 도입되었다.

Tribe

부족은 동일한 비즈니스 도메인 또는 기능 영역에서 작업하는 팀의 모임이다.

부족의 역할은 자원을 제공하고 분대 간의 협력을 촉진하는 것이다.

image

부족은 분대 전체의 정렬을 유지하여 각 스쿼드가 독립적으로 작동해도 충돌하거나 표류하지 않도록 돕는다.

프로젝트의 세부 사항을 관리하기보다는 스쿼드가 성공할 수 있는 최상의 환경을 제공하는데 중점을 둔다.

Chapter

부족내에서 유사한 역할을 수행하는 구성원들은 챕터로 그룹화된다. (e.g. 프론트개발자, 백엔드개발자, QA, 관리자 등)

챕터는 스쿼드 전체의 역량 영역을 구성하는 방법이다.

image

각 챕터에는 특정 분야의 경험이 풍부한 리더가 있으며, 이들은 서로 다른 스쿼드에서 일하더라도 구성원의 성장과 발전을 담당해야 한다.

Guild

길드는 트라이브나 스쿼드 등 소속에 관계없이 회사 내 누구나 가입할 수 있는 집단이다.

길드는 회사 전체에 걸쳐 개발, UX 또는 데이터 분석과 같은 주제를 중심으로 구성된다.

image

지식, 경험, 툴등에 대한 정보를 공유하고 광범위한 토론을 하는 비공식 커뮤니티이다.

위 구조가 잘 동작이 되려면., 많은 것들이 필요하다.

  • 리더십에 대한 지원
    • 권한 부여: 리더는 팀에게 결정을 내릴 수 있는 권한을 부여하고 그들의 능력에 대한 자신감이 있어야 한다.
    • 투명성: 팀 활동을 조직 목표에 맞게 조정하기 위해 열린 소통 채널이 필요하다.
    • 자율성 지원: 팀이 프로젝트에 대한 소유권을 갖도록 장려하고 책임감을 키워야 한다.
  • 문화
    • 실험 장려: 시행착오를 학습 과정의 일부로 볼 수 있는 환경 조성이 필요하다.
    • 실패에 대한 관점: 실패를 성장과 배움의 기회로 보는 태도를 키워야 한다.
    • 개방적인 소통: 프로세스를 개선하고 문제를 신속하게 해결하기 위해 팀 내 및 팀 간 정기적인 피드백 루프를 장려한다.
  • 성장
    • 지식 공유: 조직 전체에 지식과 기술을 전파하여 집단 능력을 향상 시킨다.
    • 기술 개선: 개인의 성장이 조직의 변화 요구사항에 맞춰지도록 조정
  • 기술 변경 사항
    • 분리된 릴리즈: 각 팀은 독립된 릴리즈 기능을 구현하여 더 빠르고 자주 업데이트
    • 모듈형 아키텍처: 느슨하게 결합된 구조를 채택하여 다른 영역에 영향을 적게 주고 변경할 수 있는 능력을 향상
    • CI/CD: 원활하고 안정적인 코드 통합 및 배포를 보장

스포티파이는 스쿼드 모델을 채택하면서 가장 큰 이점을 팀이 올바른 결정을 내리는데 필요한 정보와 권한을 모두 갖고 있다는 점을 강조한다. 속도와 에너지가 강하다는 이유이다.

하지만, 일부 단점도 존재했다.

  • 자율성에 대한 과도한 의존: 과도한 자율성은 결속력을 약하게 만들고 조직 목표에 어긋나는 결과를 가져올 수 있다.
  • 강력한 리더십에 대한 의존: 이 모델이 올바르게 동작되려면 팀을 세세하게 관리하지 않고도 팀을 효과적으로 안내하고 코칭할 수 있는 리더가 필요하다.
  • 리소스 집약도: 자율적인 다기능 팀을 효과적으로 관리하려면 상당한 리소스가 필요하다.
  • 적용의 어려움: 좋은 모델이지만, 전통적인 회사의 경우 적용이 어려울 수 있다.
  • 혼합된 결과: 일부 조직은 모델의 혜택을 받는 반면 다른 조직은 생산성과 효율성에 영향을 받는다.

해당 모델을 적용하는 방법

스쿼드 모델을 실험을 시작하려면 어떻게 해야 할까?

최소 요건

팀 구조에 대해 생각하기 전에 더 넓은 범위의 팀이나 부서가 몇 가지 최소 요구 사항을 충족해야 한다.

  • 문화적으로 결정을 내리고 자율성을 보장하며 변화에 적응할 준비가 되어 있어야 한다.
  • 팀 내의 리더는 권한을 부여하고 새로운 아이디어에 개방적이어야 한다. 그리고 마이크로매니징을 피해야 한다.
  • 독립적인 서비스 개발 및 배포를 위한 유연한 기술 환경이 준비되어 있어야 한다.

올인은 위험

한번에 이 모델을 도입하는 것은 피하는 것이 좋다. 모든일에 적합하지 않기 때문이다. 전통적인 구조와 공존이 가능하기에 하이브리드 모델로 접근할 수 있다. 전통적인 팀 구조와 프로세스를 유지하면서 신규 프로젝트나 특정 기능을 개발할 경우 팀을 만들 수 있다.

Action Item:

  • 모델 적용으로 이익을 얻을 수 있는 적합한 프로젝트를 선택해야 한다.
  • 프로젝트에 적합한 역량을 갖춘 구성원을 선택해야 한다.

임무 부여

스쿼드 모델의 중요한 개념 중 하나는 모든 스쿼드에는 임무가 있다는 것이다.

스포티파이의 경우 응용 분야가 주된 영역이지만, 스쿼드 임무는 무엇이든 될 수 있다. 예를 들어서 “이 기능을 구현하세요.” “지표를 개선하여 90%에 도달하게 하세요.” “고객 유지율을 향상시키려면 이 부분을 개선하세요.” 와 같은 것들이다.

리더십 관점에서 가장 중요한 것은 사명을 명확히 하는 것이다.

스쿼드 스스로 규칙 설정

모든 스쿼드 팀은 자체 규칙과 프로세스를 설정해야 한다. 그리고 이 규칙을 문서화해야 한다. 작성된 문서는 공유되면서 아래의 효과를 얻는다.

  • 미래 스쿼드는 다른 스쿼드가 한 일에서 영감을 얻을 수 있다.
  • 팀 자체는 프로젝트가 완료된 후 이 문서를 이용하여 회고할 수 있다.

유의 사항

이 모델을 도입하기 전에 아래 사항을 유의해야 한다.

  • 구성원들이 소소한 관리 없이 업무를 스스로 할 수 있어야 한다.
  • 외부 영향을 피해야 한다. 집중력과 자율성을 유지하기 위해 팀 외부의 간섭을 최소화하려고 노력해야 한다. (외부에 있는 사람들은 스쿼드와 같은 목표가 아니다.)
  • 실패에 대비해야 한다. 실패도 학습 과정의 일부이기에 성공을 위해 필요하다는 점을 인식해야 한다.
  • 스쿼드가 최선을 다해 작전을 수행하는데 필요한 모든 정보를 갖고 있어야 한다.

잠깐, 글이 유익했나요?

Donate!