2019. 12. 19. 13:48

스포티파이의 애자일

양효령/미디어클라우드스쿼드

사진:  강연자 Spotify Engineer 남상수님


올해 10월 4일 금요일에 열린 패스트캠퍼스가 주최한 퓨쳐 컨퍼런스 2019에서는 빠르게 변화하는 기술과 트렌드를 이해하고자, 그 변화를 선두로 이끌어가고 있는 여러 세계적인 기업에서 열일하는 개발자 및 기획자들을 초청하여 다가오는 미래에 대해 이야기하는 자리를 마련하였다. 컨퍼런스는 Tech, Creative, Investment 세 가지 트랙으로 나누어 진행되었는데, Tech 트랙에서는 구글, 아마존, 에어비앤비, 스포티파이 등 가장 선두에서 혁신을 실험하고 있는 글로벌 기업의 개발자들을 만나 그들이 가진 고민과 경험담을 들어볼 수 있었다. 그 중, 본 기자는 스포티파이 본사에서 일하고 있는 한국인 개발자가 직접 체험해본 스포티파이의 애자일 문화 이야기에 흥미를 느꼈고, 우리 회사의 애자일과 어떤 차이점이 있는지 생각해보았다.





스포티파이는 스웨덴의 음악 스트리밍 기업으로, 2008년에 서비스를 시작하여 2019년 2월 기준 월 사용자가 2억 7천만명이 넘는 세계 최대의 음악 스트리밍 서비스를 운영하고 있다. 스포티파이의 최대 장점은 고도화된 음악추천기능으로, AI의 빅데이터 분석과 수준 높은 선곡 전문가들의 음악적 인사이트로 세계 제일 수준의 개인화 추천을 제공하고 있다. 이러한 스포티파이의 급성장의 원동력으로 애자일 조직 문화가 1등 공신으로 뽑히고 있다고 한다. 강연자는 컨퍼런스에서 스포티파이가 실제로 어떻게 애자일 문화를 실행하고 있는지와 효과적인 애자일 문화 도입 노하우를 자신의 경험담과 함께 이야기하였다.



 1. 테스트의 자동화

애자일의 기본 원칙은 MVP (최소 기능 제품)을 구현하는 것이다. 사용자의 피드백을 받고 개발하고 릴리즈하는 작은 사이클을 반복하여 점진적으로 제품을 진화시켜나가는 것이다. 개발 후에는 테스트가 꼭 진행되어야 하는데, 테스트가 간소화되어야 빠른 릴리즈가 가능하다. 하지만 과도한 테스트의 간소화는 품질 저하를 유발하기 때문에, 주로 개발과 테스트를 결합하는 과정을 가지고 있다.



이를 위해 스포티파이는 단위테스트 부터 E2E (End to End)테스트까지 자동화하기 위한 카세트 라는 툴을 개발하였다. 단위테스트는 비용이 적게 들기 때문에 자주 실행할 수 있지만, 여러 단위를 한번에 테스트해보는 통합 테스트는 그렇지 않다. 카세트 툴은 네트워크와 백엔드 서비스 테스트도 기존 요청을 저장하여 사용 가능하기 때문에 빠르고 안정적으로 안드로이드 서비스와 네트워크 단 자동화 테스트 진행을 가능하게 한다. (참조: https://atscaleconference.com/videos/scaling-android-application-testing-at-spotify/ )

또한 스포티파이는 TC4C (Test Certified For Client) 라는 원칙에 따라 서비스 릴리즈를 매주 진행하고 있다고 한다. 릴리즈를 매주 할 수 있는 데에는 Feature Toggles 라는 기능을 적용한 것이 큰 몫을 하였다. Feature Toggles 기능은 코드의 각 feature에 플래그를 켰다가 껐다가 할 수 있는 기능으로, 코드를 활성화했다가 만일 문제가 생기면 바로 플래그를 내려 비활성화를 할 수 있는 것이다. 이 기능을 통해 사용자 업데이트 없이도 원하는 기능을 쉽게 활성화 및 비활성화가 가능하여 빠른 릴리즈를 진행하고 있다.




  2. 실패를 두려워하지 않기.

스포티파이는 직원들이 실패하는 것을 두려워하지 않도록 Fail Friendly Environment 분위기를 제공하고 있다. 실패를 숨기게 되면 오히려 발전 속도 저하를 일으키게 된다고 생각하여 만일 직원들이 사고를 쳐도 축하해주고 격려해주는 Fail Celebrate Day를 만들어 운영하고 있다고 한다. 그리고 앞으로 그 실수가 발생하지 않도록 포스트모템 (Postmortem)을 통해 왜 문제가 일어났는지 분석하고 대책을 수립한다. 포스트모템은 사건이 일어난 후 그 원인을 총체적으로 알아내는 방법을 말하는데, 사고가 일어난 배경과 근원적 문제점을 찾아내는 데에 집중하여 책임자를 문책하지 않고 시스템 차원에서 해결할 수 있도록 노력한다. 



3. 정량적 데이터와 정성적 데이터의 균형.

많은 웹/앱 기반 비즈니스 기업들이 A/B 테스트 방식을 사용하며 A버전과 B버전을 본 사용자들의 행동 데이터를 통계적으로 분석하여 정량적 데이터를 얻고 새로운 기능과 디자인을 최적화하고 있다. 하지만 A/B 테스트 방식 자체가 정답이라고 볼 수는 없다. 일단 A/B 테스트는 비싸고, 사용자 분석을 하려면 릴리즈 후 충분한 노출 시간이 필요하기 때문에 시간이 오래 걸린다는 단점이 있다. 또한 정량적 데이터는 결과만을 보여주고 "왜"를 보여주지는 않기 때문에, 실제 고객을 만나 직접 피드백을 듣는 "사운드 체크"가 필요하다. 강연자는 "A/B 테스트는 산을 잘 올라가고 있는지는 말해주지만, 어느 산에 올라가야 하는지는 말해주지 않는다"는 표현을 인용하였다. 산을 계속 오르기만 하면 다른 높은 산의 존재를 모르고 지나칠 수 있기 때문에 주변 새로운 방법을 탐색해야 한다고 강조하였다.



스포티파이는 이 새로운 방법을 탐색하기 위해 세 가지 가치를 정의하여 실행하고 있다. 첫째는 사용자가 제일 좋아하는 음악 15개의 플레이리스트로 이루어진 온디맨드 플레이스를 제공하여 이 플레이리스트의 음악들을 기반으로 끊임없이 추천 음악 플레이를 제공하는 것이다. 두번째는 추천된 음악을 전주부터 끝까지 모두 들었는지를 확인하고, 직접 사용자에게서 피드백 데이터를 수집하는 것이다. 셋째는 사용자 스터디와 프로토타입을 통해 지속적으로 개선하고 더 나은 결과를 도출하는 것이다.




4. Diversity and Effective Teamwork

스포티파이도 서로 다른 분야의 사람들이 한 팀으로 구성되는 스쿼드 조직으로 운영되고 있다. 스포티파이의 스쿼드는 기능 별로 매우 세부적으로 나뉘어 있어 현재 100개가 넘는 스쿼드 조직이 존재한다고 한다. 각 스쿼드는 독립적이고 자율적으로 행동하며, 무질서해보일 수도 있지만 각자 역할을 잘 수행하고 있다. 



△ 사진.  Artist 스쿼드 / Album 스쿼드 / Chart 스쿼드 등 매우 세부적으로 스쿼드가 나뉘어 있다.

스포티파이의 애자일은 스웨덴의 'Lagom (라곰)' 라이프스타일 문화에서 많은 영향을 받았다. 라곰은 스웨덴 어로 '너무 많지도, 너무 적지도 않은 상태' 라는 의미로, 사람마다 각자의 라곰이 다르고 나의 적당함과 다른 사람의 적당함이 다르다는 것을 인정한다. 스포티파이의 애자일은 각 스쿼드의 다름을 포용하고 자율성을 인정해주고 있어, 각 스쿼드는 모두 다른 Working Agreement를 가지고 각자 자율적인 방식으로 애자일을 실행하고 있다고 한다.




5. 팀을 넘는 협업도 자유롭게.

스포티파이의 애자일 조직은 트라이브 / 길드 / 스쿼드 로 이루어져 있다. (길드는 우리 회사의 챕터와 비슷한 조직이라고 볼 수 있다.) 강연자는 각 팀에서 하는 일에 대한 활발한 정보 공유를 통해 반복되는 실수를 줄일 수 있다고 강조하였다. 스포티파이에서는 모든 정보가 공유 가능한데, 스웨덴의 투명한 정치 및 사회 분위기와 자유로운 의사표현 문화에서 많은 영향을 받았다고 한다.

자율성과 주체성을 가진 팀의 협업은 다양한 가치를 만들 수 있다. 스포티파이에서는 1년에 한번 핵 윅 (Hack week)을 진행하는데, 이 기간에는 업무를 잠시 멈추고 창조적인 일을 하도록 한다. 누구나 본인이 하고 싶은 프로젝트를 공유하고, 참여자를 모집하는 자리도 마련하여 아이디어를 공유하고 다른 사람들과의 협업의 기회를 제공한다.  



6. #lifeatspotify

인스타그램의 #lifeatspotify 해시태그를 통해 스포티파이의 일상 생활과 애자일 문화를 엿볼 수 있다. 실제 스포티파이 직원들의 life at spotify 인스타그램 사진들을 소개하며 기사를 마친다.   




Written by 양효령/미디어클라우드스쿼드

Edited by 정윤지/AI서비스개발스쿼드

Posted by SK브로드밴드

댓글을 달아 주세요