SAFe는 Scaled Agile Framework의 앞글자들을 따서 만든 용어입니다. 따라서, SAFe 처럼 부서 또는 전사 수준에 걸친 큰 규모의 애자일을 제대로 이해하기 위해서는, 작은 규모 또는 팀 수준의 애자일을 이해하는 것이 필요합니다. 즉, 팀 수준의 애자일 개념을 이해하면서 좀 더 효과적으로 SAFe를 이해하기 위해, “SAFe 기본 다지기” 시리즈를 만들어보았습니다.

SAFe의 팀 수행 중심에 위치한 이터레이션
SAFe의 팀 수행 중심에 위치한 이터레이션

그 첫 주제로 이터레이션(Iteration)을 선정했습니다. 이터레이션을 가장 먼저 선정한 이유는, 전통적인 빅뱅 방식에 비해, 상대적으로 작게 시작하는 애자일 접근 방식의 특성을 잘 나타내는 개념이기 때문이며, 애자일에는 이터레이션과 관련된 다양한 유사어들이 존재할 만큼 애자일을 이해하는데 반드시 필요한 개념이기 때문입니다. 예를 들어, 이터레이션 관련 유사어들을 살펴보면 타임 박스(Time-Box), 스프린트(Sprint), 주기/사이클(Cycle), PDCA(Plan, Do, Check, Act), 케이던스(Cadence), 리듬(Rhythm) 등이 모두 이터레이션과 비슷하지만 조금은 다른 의미를 가진 개념들입니다. 이터레이션 뿐만 아니라, 관련 유사어들도 그 나름대로 의미가 있습니다.

먼저, 이터레이션의 정의를 알아볼까요? 이터레이션은 애자일 팀 또는 애자일 조직이 고객 가치를 제공하기 위한 표준적이고 고정된 기간의 타임박스(Time-Box)입니다. 저런, 이터레이션 정의를 이해하기 위해서는 타임박스라는 개념을 이해해야 하는군요. 그렇다면 타임박스라는 의미에 대해 간단히라도 살펴볼 필요가 생겼네요.

이터레이션 정의를 이해하기 위한 타임 박스
정해진 기간을 지정하는 타임 박스

타임박스(Time Box)는 전략적으로 시간 관리를 하기 위한 기준 시간(예: 2주, 3달)

타임박싱(Time Boxing)은 생산성을 향상시키기 위한 목표 지향적 시간 관리 전략을 말하며, 타임박스는 시간 관리를 하기 위한 기준 시간을 말합니다. 애자일의 이터레이션은 일반적으로 1주 ~ 4주 사이의 타임박스를 갖고 있으며, 전략적으로 가장 많이 사용되는 타임박스는 2주입니다.

SAFe에는 여러 팀이 모인 ART(Agile Release Train) 수준에서 정의하는 타임박스도 있습니다. 일반적으로 8주~12주 사이에서 정해지는 계획 수립 주기(PI: Planning Interval)는 ART 수준의 타임박스입니다. 우리나라에서 권고되는 ART 수준의 타임박스는 3달(분기)입니다.

SAFe의 이터레이션 기간을 맞춘 케이던스
SAFe의 이터레이션 기간을 맞춘 케이던스

이터레이션의 내의 다양한 활동과 케이던스(Cadence)

이터레이션 동안 애자일 팀은 고객에게 가치를 지속적으로 전달하기 위해 탐색 및 요건 정의, 구축 및 테스트, 배포 및 운영을 수행합니다. ART에 속한 애자일 팀은 계획수립 주기(예: 분기) 내에서 협업하며, 이터레이션에서 수행한 팀 결과를 지속적으로 통합하며 커다란 솔루션을 ART 목표에 맞춰 발전시킵니다. 이때 ART의 모든 팀은 동일한 타임박스를 가지며, 함께 계획을 수립하고, 이터레이션을 시작하며 솔루션을 통합합니다. 이렇게 팀이 동일한 타임박스를 기반으로 협업하면서 솔루션 통합 주기를 동기화 시키는 것을 케이던스(Cadence)라고 합니다. 이때 케이던스의 크기는 이터레이션의 타임박스와 동일합니다.

이렇게 ART에 속한 애자일 팀들은 케이던스에 맞춰 함께 계획하고, 데모하고, 학습하여 팀 목표보다 더 큰 ART 목표를 효율적으로 달성해갈 수 있습니다. 또한, 이런 케이던스 중에 팀간 의존성에 문제만 없다면 애자일 팀이 독립적으로 가치를 탐색하고, 통합하고, 배포하고, 릴리스할 수도 있습니다.

PDCA가 반영된 SAFe의 이터레이션

PDCA와 SAFe의 이터레이션

애자일 팀과 ART는 일련의 이터레이션을 통해 맡은 바 책임을 수행합니다. 각 이터레이션의 내부 이벤트는 PDCA(Plan-Do-Check-Adjust)를 포함합니다. 이터레이션은 PDCA를 기반으로 지속적이고 순차적으로 작업하며, 이전 이터레이션을 마치면 바로 새로운 이터레이션을 시작합니다.

PDCA 사이클과 관련 이터레이션 이벤트는 다음과 같습니다.

  • 계획: 타임박스에 대한 목표를 결정하고 필요한 작업을 식별합니다. 이터레이션 계획(Iteration Planning)에 해당합니다.
  • 수행: 솔루션의 부분을 빠르게 만들고 전달합니다. DSU(Daily Stand-Up)에서 수행에 관한 진척 및 이슈를 매일마다 점검합니다.
  • 확인: 수행 결과 및 학습 내용을 검토, 시연 및 분석합니다. 이터레이션 리뷰(Iteration Review)에 해당합니다.
  • 조정: 조정을 수행하고 새로운 주기를 시작합니다. 회고(Retropective)에 해당하지만, 중요한 작업은 백로그 아이템으로 관리합니다.
다양한 리듬

이터레이션으로 팀 내, 팀 간, 조직이 공조하는 일하는 리듬을 생성

고객을 포함한 다양한 이해관계자들로부터 피드백을 받는 것은 애자일 팀 및 ART가 가치있는 솔루션을 빠르게 만드는 데 매우 중요합니다. 특히, 시장과 고객에 대한 빠른 대응은 ART 내의 이터레이션에 대한 PDCA 주기, 지속적인 통합과 빠른 학습에서 나옵니다.

이때 이터레이션은 팀이 서로 어떤 일을 언제 할지에 대한 부분을 명확하게 인지하면서 개인간의 협업을 증진시키고, 팀과 팀이 언제 어떻게 협업을 해야할지를 알려주기 때문에 팀간의 협업을 촉진시킵니다. 또한 이터레이션 리뷰를 통해 조직 내의 다양한 이해관계자가 진행 상황을 직접 체험하고 경험을 바탕으로 피드백을 제공할 수 있으며, 이런 피드백을 통해 시장의 변화 및 조직 전략의 변화 등을 애자일 팀이 하는 일에 방해를 주지 않으면서도 효과적으로 애자일 팀에 반영시킬 수 있습니다. 즉, 이터레이션은 조직 전체가 공조할 수 있는 리듬을 조직에 부여하는 수단입니다.

눈으로 확인하고 제어하는 위험 관리

이터레이션은 눈으로 확인하는 위험 관리(Risk Management)

애자일 팀은 이터레이션 안에서 DSU를 기반으로 매우 적극적인 매일마다의 이슈관리를 팀이 수행하기 때문에 전통적 방식의 이슈관리와는 차원을 달리합니다. 이런 적극적인 이슈 관리는 프로젝트 또는 작업에 나타날 수 있는 위험을 사전에 관리하는 효과를 가질 뿐만 아니라, 언제 나타날지 모를 위험 관리에 대한 부담을 크게 줄여줍니다. 또한, 이해관계자들과 함께 수행하는 이터레이션 리뷰는 데모를 기반으로 실행가능한 진척을 눈으로 직접 확인하기 때문에 산출물로 진척을 확인하는 전통적 방식과는 달리, 안정적 가치 전달을 기반으로 한 명확한 위험 관리가 됩니다.

  • 장애물 제거 및 위험 관리 – 팀 구성원들은 DSU를 통해, 이해관계자들은 이터레이션 리뷰를 통해, 팀과 협력하며 진척 사항을 확인하고 장애물을 식별하고 해결합니다.
  • 시스템 데모 실행 및 위험 관리 – 시스템 데모는 모든 이터레이션의 끝에서 통합된 솔루션의 일부를 검사하고, 진행 상황에 대한 피드백을 받고, 피드백 반영 및 상황 개선의 기회를 회고 미팅에서 준비합니다.
수요일에 시작하는 2주 이터레이션
수요일에 시작하는 2주 이터레이션

수요일부터 시작하는 2주 이터레이션 예시

이터레이션은 애자일 방식으로 프로젝트를 수행하고, 고객에게 가치 있는 제품을 전달하기 위한 근간이 되는 수단입니다. 따라서, 이터레이션 기간, 시작 일, 이벤트 구성 등은 효율성을 만들기 위해 중요한 의사결정 사안들입니다.

이터레이션 기간은 보편적으로 2주를 사용합니다. 처음 애자일을 도입하는 조직은 4주 또는 3주를 선택하는 것도 좋으며, 매주 시장 상황을 반영해야할 정도로 변화가 심하고 경쟁이 심하다면 1주를 선택하는 것이 좋습니다.

시작일을 수요일로 하면 여러가지 장점이 나타납니다. 화요일에 회고를 했기 때문에 이전 이터레이션에 대한 좋은점이나 개선점을 명확하게 파악하고 있으며, 이때 이터레이션 계획 이벤트를 수행하면, 해야할 일, 작업 환경, 구성원들의 역할 등에 대한 이해를 높인 상태에서 효과적인 계획을 수행할 수 있습니다. 또한, 리뷰 및 회고를 주 초에 하면, 이해관계자들의 참석율을 높일 수 가 있다는 장점도 존재합니다.

화요일날 리뷰 및 회고를 함께 해도 괜찮지만, ART 수준에 많은 팀이 있을 수 있고, 팀 회고 및 ART 수준 시스템 통합 데모도 있기 때문에, 월요일과 화요일에 걸친 시간 배분이 필요할 수 있습니다. 이때, 리뷰 전후 시간을 백로그 개선에 할당하면서, 다음 이터레이션에 대한 구상을 하는 것도 좋은 방법입니다.

이터레이션 = 진화 매커니즘
이터레이션은 진화 메커니즘

이터레이션은 지속적 진화 메커니즘이자 솔루션 개선 메커니즘

인류는 거친 환경 속에서도 오랜 기간에 걸쳐 지속적으로 진화해왔습니다. 조직도 마찬가지로 경쟁이 심화되는 시장 상황 속에서 지속적으로 진화하면서 생존 및 경쟁 우위를 가져야합니다. 애자일 팀은 이터레이션의 경험을 바탕으로 회고를 통해 조직이 학습할 수 있는 시간을 지속적으로 갖기 때문에 애자일 팀에 – 크게는 조직 전반에 걸쳐 – 진화할 수 있는 메커니즘을 내재화 시킬 수 있습니다.

또한, 프로젝트에서 만드는 솔루션을 이터레이션이라는 수단을 통해 작은 수준에서부터 피드백을 기반으로 지속적으로 진화시켜갈 수 있습니다. 특히, 솔루션 진화에 대한 구체적인 활동으로 백로그 정제(Backlog Refinement), 이터레이션 계획, 그리고 데모가 있습니다.

  • 팀 백로그 정제 – 애자일 팀은 고객 및 기타 이해관계자 간의 협력과 피드백을 기반으로 팀 백로그를 정제합니다. 백로그 정제 과정을 통해 비즈니스와 IT, 개발 팀 간의 장벽을 허물고, 종속성을 식별하고, 문제를 해결하기 위한 요건을 정의하며, 이관 및 지연 등의 불필요한 요소를 제거할 수도 있습니다. 유저 스토리(User Story)에 대한 인수 기준(Acceptance Criteria)은 요구사항의 명확성을 높이고, 비즈니스 및 IT 조직의 참여를 증진시킵니다.
  • 팀 이터레이션 계획 – 애자일 팀은 각 이터레이션의 시작 시점에서 애자일 계획 이벤트를 수행합니다. 계획 이벤트를 통해 진행할 이터레이션 동안 얼마나 많은 팀 백로그 아이템을 완료시킬지를 결정하고, 각 아이템별로 작업자를 정합니다. 작업 할당이 완료되면 함께 이터레이션 목표를 정의합니다.
  • 팀 및 시스템 데모 – 팀은 기능을 구현하고 이터레이션 중에 완료한 스토리에 대해 데모를 준비하고 이해관계자들을 대상으로 데모를 수행합니다. 이때 모두가 함께 솔루션의 진척 상황을 확인하고 솔루션의 진화 방향성에 대한 공감대를 가질 수 있습니다.

마치며…

SAFe의 중요한 기본 개념 중 하나인 이터레이션은 애자일 팀이 고정된 기간 동안 고객 가치를 전달하기 위해 계획, 수행, 확인, 조정을 반복하는 타임박스입니다. 이터레이션은 팀 간 협업과 솔루션 통합을 동기화하며, PDCA 사이클과 케이던스를 통해 지속적인 개선과 학습을 지원하는 수단입니다. 이를 통해 조직은 시장 변화에 민첩하게 대응하고, 위험을 효과적으로 관리하며, 솔루션을 지속적으로 발전시킬 수 있습니다.

애자일 적용을 생각한다면, 또는 이미 애자일을 적용하고 있다면 이터레이션에 대한 의미를 이해하고 여러분들의 조직과 고객 상황에 맞는 적절한 이터레이션 전략을 생각해보시기 바랍니다.

오픈소스컨설팅 애자일 코치 & 건국대 정보통신대학원 겸임교수입니다. IT관련 저서 및 번역서 16권 출간 이력이 있으며 수백억 이상의 다양한 대규모 프로젝트에 PM, SW Architect, PMO, Agile Consultant로서 참여해온 경력이 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *