일반적으로 이야기하는 스크럼(Scrum)과 SAFe의 스크럼은 다른 개념이 아닙니다. 다만, 일반적인 스크럼은 팀단위 역할 및 이벤트를 고려할 뿐, 기업 환경에서 필수적인 예산, 조직간 협업 및 공급망(Supply Chain) 또는 다수의 팀이 함께 하나의 제품을 만들어가는 규모가 큰 작업을 고려하지 않습니다. 본 블로그에서는 일반적인 스크럼 내용과 SAFe 스크럼 내용과의 공통적인 부분을 살펴보면서, SAFe 스크럼이 갖는 큰 규모의 작업을 이해할 수 있는 기반을 간결하게나마 함께 알아보겠습니다.
SAFe 스크럼은 여러 애자일 팀이 짧은 시간 내에 고객에게 가치를 제공하기 위한 애자일 방법입니다. SAFe 스크럼 팀은 이터레이션(Iteration)과 함께 다양한 스크럼 이벤트를 활용하여 계획, 실행, 검증, 회고를 수행합니다. 다만, 전통적 스크럼과 달리 SAFe 스크럼은 여러 팀이 하나의 제품을 만드는 ART(Agile Release Train)라는 조직을 구성하여, 팀 차원의 스크럼 이벤트뿐만 아니라, ART 차원에서 수행하는 계획, 실행, 검증, 회고를 함께 고려합니다.
그럼 먼저, 이터레이션을 수행할 애자일 팀의 역할을 먼저 살펴보겠습니다.
스크럼 팀의 두 필수 역할
스크럼 팀의 규모와 구조는 상호작용 및 가치 전달 능력을 최적화할 수 있도록 구성해야 합니다. 이때 팀 구성원 역할 중 두가지의 필수 역할이 있습니다. 첫째는 스크럼 마스터(SM: Scrum Master)이고, 둘째는 제품 책임자(PO: Product Owner)입니다. 스크럼 마스터는 고객에게 가치를 전달하기 위한 작업 흐름을 조정하는 책임을 갖습니다. 이를 위해 스크럼 마스터는 스크럼 및 린-애자일(Lean-Agile) 원칙을 팀에 적용하고, 이터레이션 중에 나타나는 걸림돌(이슈)을 제거하고, 끊임없이 개선하는 분위기 및 환경을 조성하여 팀 관리를 효율화 시키고, 팀이 높은 성과를 만들도록 지원합니다.
제품 책임자는 내부/외부 고객의 요구사항에 대한 이해를 바탕으로 팀이 수행할 팀 백로그 내용을 관리하는 역할을 하며, 팀 백로그의 우선순위를 정하여 팀이 올바른 방식으로 이터레이션 작업을 수행할 수 있도록 지원합니다.
비즈니스 모델 캔버스 상의 스크럼 팀 내 협업
앞에서 언급한 두 핵심 역할은 전통적인 프로젝트에서의 문제점을 개선하고, 높은 성과를 만들기 위한 좋은 수단입니다. 스크럼 팀 구성원은 개발 팀이 될수도 있고, IT가 아닌 다양한 역할을 수행하는 구성원일 수도 있습니다. 본 블로그에서는 소프트웨어 개발 팀을 기준으로 설명하겠습니다.
개발 팀은 제품 책임자의 요구사항 관리 기반인 백로그를 기준삼아 팀 내 소통을 하면서, 스크럼 마스터의 지원을 받아 개발에 필요한 다양한 소통과 환경 준비를 최소화하면서 개발과 검증에 몰입하고, 이터레이션 리뷰를 통해 개발 결과를 데모 기반으로 이해관계자와 공유합니다. 이처럼 개발 팀은 실제 동작하는 제품 기능을 기반으로 품질을 책임지면서 주어진 요구사항과 일정에 맞추어 작업합니다.
SAFe의 팀 수준 스크럼 개요
위의 그림을 보면 SAFe 스크럼에서는 팀 수준의 이터레이션(내부의 작은 원) 뿐만 아니라, 상위 조직인 ART 수준의 이터레이션(외부의 큰 원) 및 여러 이벤트들이 나타나 있습니다. 본 블로그에서는 내부의 팀 수준 이터레이션에 초점을 맞추어 설명하겠습니다.
애자일 팀이 수행하는 팀 수준의 기본적인 스크럼 주기(1주 ~ 4주) 및 관련 특징을 보여줍니다. 이 주기 안에서는 여러 이벤트를 활용하여 지속적으로 진행 상황을 검토하고 수정하며, 오버헤드를 줄이기 위해 다양한 노력을 기울입니다. 예를 들면, 모든 팀 구성원들이 같은 공간에서 함께 일하며, 매일 마다 동일한 보드(오프라인 또는 온라인 대시보드)를 보면서 진척 및 이슈 상황을 함께 검토합니다.
팀의 작업은 팀 백로그(Team Backlog)를 기반으로 시작합니다. 팀 백로그에는 팀이 수행할 모든 일이 담겨있지만, 하나의 이터레이션에서 수행할 범위만을 별도로 담은 이터레이션 백로그(Iteration Backlog)도 볼 수 있습니다. 즉, 팀의 기준 요건이 팀 백로그라면, 이터레이션의 기준 요건은 이터레이션 백로그라고 할 수 있으며, 대부분의 이터레이션 이벤트는 이터레이션 백로그를 기반으로 이루어집니다.
그럼, SAFe 스크럼에서 수행하는 여러 이터레이션 이벤트들을 하나씩 살펴보겠습니다.
이터레이션 계획(Planning)
이터레이션에서 처음 수행하는 이벤트는 이터레이션 계획입니다. 제품 책임자를 중심으로 사전에 만든 팀 백로그를 기반으로 이터레이션 계획에서 다루는 내용들은 다음과 같습니다.
• 이번 이터레이션이 가치가 있는 이유는 무엇입니까?
• 이번 이터레이션에서 무엇을 할 수 있나요?
• 이번 이터레이션에서는 어떻게 작업을 진행하나요?
스크럼 마스터는 이벤트 활동을 지원하고, 모든 팀 구성원들은 이터레이션에서 얼마나 많은 요건을 가치로 전달할 수 있는지를 결정하고, 선택한 스토리들을 기반으로 이터레이션의 목표를 정의합니다. 팀은 이터레이션 백로그에 계획의 결과를 반영하며, 이터레이션 동안 계획된 작업을 완료할 것을 약속합니다. 제품 책임자인 PO는 이터레이션 백로그 항목과 이터레이션 목표가 적절한지 확인합니다. SAFe 스크럼이라면 이터레이션 목표가 ART가 추구하는 목표와 일치하는 지를 확인합니다.
DSU(Daily Stand-Up)
DSU 또는 팀 동기화(Team Sync)라고부르는 매일마다의 이터레이션 미팅은 짧은 회의(일반적으로 15분 이하)로, 매일마다 이터레이션 목표에 대한 진행 상황을 검토하고, 계획된 작업을 조정합니다. 팀은 팀 동기화를 사용하여 서로를 도울 수 있는 기회를 찾아 팀이 반복 목표를 달성하도록 서로 상황을 공유합니다. 스크럼 마스터는 이슈 사항에 대해서는 ‘후속 회의(Meet After)’ 리스트에 추가 논의가 필요한 주제 및 논의 후보를 적은 후, 팀 동기화 미팅 이후에 관련 당사자만 남아 관련 이슈를 더 자세히 논의합니다. DSU를 통해 진척 현황을 공유하는 것뿐만 아니라, 이슈를 식별하고 해당 이슈를 빠르게 관리하는 것도 매우 중요하기 때문에, 스크럼 마스터에게는 DSU가 진척 및 이슈 관리를 수행하기 위한 중요한 미팅입니다.
이터레이션 리뷰(Review)
이터레이션 리뷰는 스크럼 팀이 이터레이션에서 수행한 결과를 검토하는 활동입니다. 이해관계자들에게 이터레이션 작업 결과를 데모를 통해 보여주면서, 이터레이션 목표에 대한 진행 상황을 평가합니다. 또한 결과에 따라 이해관계자들과 팀 구성원들은 다음에 무엇을 할 것인지 논의합니다. 버그 뿐만 아니라 이터레이션 리뷰 과정에서 나온 다양한 피드백에 따라 팀 백로그를 조정할 수 있습니다.
이때 데모를 통해 보여주는 이터레이션의 결과는 제품 기능이 어떻게 진화하는지를 보여줍니다. 모든 결과는 이전 결과와 통합되고 검증되어 함께 작동하도록 시연합니다. 이들 기능은 완료 정의인 DoD(Definition of Done)에서 미리 정의된 품질 기준을 충족하는 기능입니다.
이터레이션 회고(Retrospective)
이터레이션의 마지막 이텐트인 회고는 이터레이션을 돌아보고 프로세스와 결과를 개선하기 위한 아이디어를 도출하는 활동입니다. 회고는 SAFe 핵심 가치 중 하나인 끊임없는 개선이라는 개념을 실현하는 데 도움이 됩니다. 팀은 무엇이 잘했는지, 어떤 문제가 발생했는지, 어떻게 해결했는지를 논의합니다. 팀은 개선에 도움되는 사항을 파악하고자 노력합니다. 선택된 변경 사항은 향후의 이터레이션에서 수행할 수 있는 아이템으로 팀 백로그에 기록합니다. 예시에도 나타난 것처럼, 회고는 정성적인 내용 뿐만 아니라, 정량적이고 객관적인 관점에서 이터레이션을 돌이켜봅니다.
어찌보면, 회고야말로 지속적인 개선을 통해 빠르게 가치를 전달하는 애자일을 만들어가기 위해 수행하는 최고의 활동이라고 볼 수 있습니다.
백로그 개선(Backlog Refinement)
백로그 개선은 팀 전체의 참여가 필요한 중요한 이벤트입니다. 제품 책임자는 사용자 요구 사항과 시장 상황에 대한 깊은 이해를 바탕으로 아이템을 구체화 시키면서 비즈니스 관점에서 팀을 리딩하는 것이 중요합니다. 개발팀은 요건에 대한 구현 가능성 검토 및 구현 및 검증에 대한 기술적 복잡성을 분석하여, 백로그 아이템을 구체화시키는데 기여합니다. 이때, 스프럼 마스터는 백로그 개선 회의가 효과적으로 진행되도록 지켜보면서 필요한 부분이 있다면 지원합니다.
조직마다 다를 수는 있지만, 백로그 아이템에 대한 공통된 이해를 갖고 스토리 포인트를 함께 설정하면서 팀의 경험을 증신시키는 것이 중요합니다. 따라서, 프로젝트 초기에는 여러 번의 백로그 개선 작업을 통한 요구사항 이해 및 구체화가 필요하며, 점차 리뷰와 회고가 반복되면서 백로그 개선 미팅의 횟수 및 시간을 최적화시켜갑니다.
SAFe에서 이루어지는 스크럼의 확장
팀 수준 이터레이션 계획은 SAFe의 PI(Planning Interval) 계획 수립과 관련이 깊습니다. 즉, ART 수준의 계획은 PI 계획 수립이며, PI 계획 수립에서 ART가 함께 정의한 PI 목표는, 이후 모든 팀의 이터레이션 계획의 기반이 됩니다.
팀 싱크는 코치 싱크(SM과 RTE 중심 미팅), 제품 책임자 싱크(PO와 PM 중심 미팅), ART 싱크(RTE와 SM, PM과 PO가 함께 모이는 미팅)의 3가지 미팅과 관련이 있습니다. 진척 및 이슈는 RTE 중심의 코치 싱크 미팅이 있고, 비즈니스 관점의 현황 관리는 제품 책임자 싱크가 있으며, 전반적인 현황 및 이슈를 공유하고 필요한 의사결정을 하기 위한 ART 싱크가 있습니다.
이터레이션 리뷰는 통합 시스템 데모와 관련이 있습니다. 즉 ART에 속한 모든 팀들이 스테이징 환경에서 이해관계자들과 함께 데모를 하면서 피드백을 받습니다.
이터레이션 회고는 검사 및 적응(Inspect & Adapt)과 관련이 있습니다. 검사 및 적응에는 ART의 마지막 시스템 데모와 함께 정량적이면서도 정성적으로 PI 기간동안 수행한 성과를 분석하고 평가합니다. 마지막으로, 문제점에 대한 근본적인 원인 식별 및 개선안을 도출하는 문제점 해결 워크샵을 수행합니다.
백로그 개선은 PI 계획 수립 준비 과정과 관련이 있습니다. 이는 IP(Innovation Planning) 기간에 주로 진행되며, 제품 책임자를 포함한 ART 수준의 리더 및 관련 전문가들이 모여 향후의 PI 계획 수립을 위한 비전, 로드맵 등을 점검하고 핵심 피처를 사전에 정의합니다.
마치며…
팀 수준 스크럼 역할 및 이벤트는 매우 중요하며, 팀 수준을 바탕으로 ART 및 전사 수준으로 효율적으로 확장시키기는 것도 마찬가지로 중요합니다. SAFe 스크럼은 팀 수준 스크럼에 대한 이해 및 경험을 바탕으로, 훨씬 더 큰 규모의 프로젝트 및 솔루션 개발을 체계적이면서도 효율적으로 수행할 수 있도록 여러분들을 도와줍니다.
팀 수준 애자일 프로젝트를 수행한다면, 기본적인 스크럼 역할 및 애자일 이벤트에 초점을 맞추는 것이 중요합니다. 하지만, 소프트웨어 개발 프로젝트에 많은 팀이 관여되면서 너무 어렵고 힘들다면, SAFe 스크럼을 활용해보시기 바랍니다.