대규모 조직에서의 애자일 아키텍처를 구축하는데 필요한 개념인 Architectural Runway를 소개합니다.
Architectural Runway는 아키텍처를 지속적으로 구현, 유지하기 위한 연속적으로 진행되는 일련의 업무 리스트를 의미합니다. 애자일 설계 관점에서 Architectural Runway를 소개합니다.
이 글은 SAFe의 https://www.scaledagileframework.com/architectural-runway/ 페이지를 참고하여 작성되었습니다.
애자일의 창발적 설계
애자일 개발은 BDUF(Big Design Up-Front) 방식의 설계를 피하고 대신 "최고의 아키텍처, 요구사항, 설계는 자기 조직적인 팀에서 창발한다."는 12개의 애자일 원칙 중의 하나로 대체합니다. 이는 이터레이션 마다 구현하고 검증하는 만큼만 아키텍처를 발전시키는 창발적 설계 라는 실천법으로 발전합니다.
하지만 창발적 설계 방식으로는 대규모 시스템 개발의 복잡성을 처리할 수 없으며 다음과 같은 문제를 만들어 냅니다.
- 과도한 재설계로 인한 지연
- 시스템 통합, 검증 및 유지관리가 어려워짐
- 공통 구성 요소의 낮은 재사용성 및 솔루션의 중복
이러한 문제들은 솔루션의 성능 저하 및 시장 출시 시간을 지연시키게 됩니다.
의도적 아키텍처를 통한 설계
창발적 설계는 규모 면에서는 충분하지 않습니다. 여러 애자일팀이 있는 조직이나 대규모 솔루션을 개발하는 여러팀이 있는 경우, 그중 하나의 팀에서는 전체 그림을 보거나 향후의 변경사항을 예상하는 것은 합리적이지 않습니다. 그리고 필요한 변경사항은 팀의 일부 범위를 넘어서는 경우가 일반적입니다. 이러한 이유로 각 애자일팀의 디자인을 연결하기 위해서는 의도적이고 계획된 아키텍쳐 방식인 "의도적 아키텍쳐"가 필요합니다.
의도적 아키텍처와 창발적 설계를 통해 애자일 방식을 적용하는 조직은 대규모 솔루션을 유지할 수 있습니다. 창발적 설계는 팀이 과도한 설계를 막고 요구사항 변화에 적절하게 대응할 수 있도록 만듭니다. 이러한 창발적 설계는 그 변화가 애자일 팀내에 한정됩니다. 의도적 아키텍처는 전체 시스템이 일관성을 갖고 시스템의 목적에 맞는 방향으로 진행되도록 하는 가이들르 제공합니다. 창발적 설계와 의도적 아키텍처간의 균형을 만드는 것이 대규모 시스템을 효과적으로 개발하는 핵심입니다.
Architectural Runway 구축하기
과도한 재설계와 지연이 일어나지 않도록 단기 기능 개발을 위해 필요한 코드 , 구성요소, 기술 인프라들로 구성된 것을 Architectural Runway라고 부릅니다. Architectural Runway는 점진적으로 구현되고 전달되어 비즈니스의 점진적인 개발을 지원하게 됩니다. 이러한 Architectural Runway를 점진적 설계 전략을 구현하는 기본 도구 중에 하나입니다.
Architectural Runway는 아키텍트에 의해서 정의되며 제품 초기 몇개의 스프린트에서 집중적으로 구현되며 이후 비즈니스 요건에 필요한 수준으로 지속적으로 투자되고 구현됩니다.
'SAFe&Agile Practice' 카테고리의 다른 글
프로젝트 리스크 관리 도구 - ROAM (0) | 2023.01.02 |
---|---|
애자일을 위한 작업 공간? #4 - 시각화 공간 (0) | 2022.10.21 |
애자일을 위한 작업 공간? #3 - 애자일팀 간 협업을 위한 공간 (0) | 2022.10.18 |
애자일을 위한 작업 공간? #2 - 애자일팀 작업 공간 (0) | 2022.10.14 |
애자일을 위한 작업 공간? #1 (0) | 2022.10.09 |
댓글