애자일 팀은 워터폴 팀과 구조적으로 다릅니다. 워터폴 팀은 조직의 구조를 따르며, 경영진이 속도와 일정을 정하는 "하향식" 일정인 경우가 많습니다. 애자일 개발 팀에서는 팀이 스스로 조직화하며 제품 소유자의 우선 순위와 팀의 가능한 작업 수용량을 기반으로 자체적으로 일정을 설정합니다.
스크럼 마스터와 개발 관리자는 고위 경영진과 개별 개발 팀 간의 조직적인 격차를 해소합니다. 이들은 팀과 개인이 회사의 목표를 더 높이는 최고 품질의 소프트웨어를 제공하도록 최적화합니다. 스크럼 마스터와 개발 관리자는 또한 기능 확장, 워터폴 안티패턴, 교차 기능 실패 및 팀의 진정한 목표에 집중하지 못하도록 하는 부수적인 프로젝트와 같은 외부적인 방해 요소로부터 팀을 보호합니다.
스크럼 마스터와 개발 관리자는 일반적으로 여러 애자일 팀과 협력합니다. 대규모 애자일 포트폴리오에서 이들이 각 팀과 어떻게 협력하는지 살펴보겠습니다.
개발 관리자란 무엇입니까?
개발 관리자는 애자일 조직의 주요 참여자이며 이들의 역할은 상당히 중요합니다. 코드 아키텍처부터 최종 사용자 품질까지 제품의 품질을 책임집니다. 팀원이 프로그램의 단기적 및 장기적 목표를 충족하는 코드를 제공하고 있는지 확인하기 위해 코드 검토에 참여하며, 팀에 아주 가까이 있기 때문에 일반적으로 프로그램의 기술 선택에 영향을 미칩니다. 개발 관리자는 프로세스 및 제품과 가까이에 있어 팀 내부적으로, 그리고 대규모 조직에 컨텍스트를 전달할 수 있습니다.
훌륭한 개발 관리자는 좋은 팀을 만들며, 이는 채용에서부터 시작됩니다. 개발 관리자는 채용 프로세스를 주도하며 이를 위한 적합한 위치에 있는 이유는 다음과 같습니다.
- 채용은 시간이 많이 걸리고 팀에 방해가 됩니다
- 인재를 찾는 일은 훌륭한 제품을 만드는 일을 방해합니다
- 개발 관리자는 새로운 직원이 팀에 합류할 때마다 온보딩이 팀에 미치는 영향을 줄이도록 도울 수 있습니다
간단히 말해, 개발 관리자가 모집 및 채용 작업을 맡으면 팀은 마음껏 제품에 집중할 수 있습니다.
개발 관리자는 또한 1:1 미팅, 피드백 제공 및 코칭과 같은 관리의 기본 사항에 능숙하기 때문에 파트너 및 멘토 역할도 합니다. 성공적인 개발 관리자는 엔지니어가 아이디어, 코드, 테스트 및 문화와 같은 훌륭한 것을 제공하도록 멘토링합니다. 때때로 팀은 아키텍처 설계에서 브랜치 전략에 이르기까지 다양한 의사 결정에 어려움을 겪을 것입니다. 능숙한 개발 관리자는 언제 개입해야 하는지, 또는 팀이 어려움으로부터 배울 수 있도록 놔둬야 하는지 잘 알고 있습니다.
애자일 팀과 워터폴 팀의 큰 차이점 중 하나는 개발 관리자가 추정 프로세스의 파트너라는 것입니다. 워터폴 팀에서는 다음과 같은 대화를 들어본 적이 있을 것입니다.
- "이 기능을 제공하는 데 얼마나 걸립니까?" – 관리자
- "6주가 걸립니다. 이 기능을 시장에 출시하려면 A, B, C를 해야 합니다." – 엔지니어
- "음, 잘 알겠지만 어떻게든 4주 안에 완료할 방법을 찾아야 합니다." – 관리자
하지만 애자일 개발 관리자는 훌륭한 인재를 채용한 다음 신뢰해야 한다는 것을 알고 있습니다. 애자일 프로세스의 기본 원칙은 범위 파악 및 제공을 가장 잘 해낼 수 있는 사람은 업무에 가장 가까운 팀원들이라는 점입니다. 팀이 일정을 정하고 개발 관리자는 프로세스를 지시하는 것이 아니라 파트너가 되어 일함으로써, 추정 활동에서 이루어진 가정에 대해 질문을 던지고 검토하면서 고유한 가치를 더합니다.
애자일 조직에서는 "어떻게든 4주 안에 완료할 방법을 찾아야 한다"는 말을 듣지 못할 것입니다. (그런 말을 듣는다면 무언가가 잘못되었다는 신호라고 생각하면 되겠습니다.)
스크럼 마스터란?
스크럼 마스터는 애자일 팀의 프로젝트 리더로, 일관적이고 성공적인 스프린트를 보장하기 위해 제품 소유자와 팀 간에 작업하면서 성과를 최적화하는 데 중점을 둡니다. 또한 스크럼 마스터는 핵심 팀이 제품 개발에 집중할 수 있도록 교차 팀 조정을 소유합니다.
The goal of the scrum master is to keep everyone efficient and on the same page. As a result, the scrum master coordinates most of the inputs and outputs required for an agile program. He or she drives the agile ceremonies of sprint kickoff, daily stand-ups, sprint review, sprint retrospective, and works with the team and development managers to estimate larger items like epics and individual user stories in the backlog. The scrum master may not be as technical as the rest of the team, so the development manager can step in to lend valuable context between the scrum master and the team when a knowledge gap appears. As the team matures in it's application of agile, the scrum master focuses less on estimation and more on optimizing the velocity of delivery.
스크럼 마스터는 또한 더 큰 조직의 애자일 코치 역할을 하여 팀이 제품 수명 주기 전반에 걸쳐 스토리 포인트 추정, 스프린트 계획 및 지속적 제공과 같은 애자일 관행을 채택하고 소유하도록 지원합니다. 스크럼 마스터의 역할에서는 코칭이 아주 중요합니다. 애자일 전문가는 애자일이 프로젝트와 회사에 적합한 이유를 잘 알고 있으며, 회사가 애자일을 채택하며 성장통을 겪는 과정에서 애자일 애드보케이트 역할을 할 수 있습니다.
스크럼 마스터와 개발 관리자는 애자일 포트폴리오에서 협력합니다
대부분의 워터폴 팀은 관리자를 중심으로 하며, 관리자가 우선 순위를 정하고 진행률을 추적하며 성과를 평가합니다. 반대로 애자일 팀은 로드맵과 제공을 소유한, 자체적으로 조직되는 팀입니다. 대규모 조직에서 이 작업을 해내기 위해, 스크럼 마스터와 개발 관리자는 함께 협력하여 조직 전체에 애자일 문화를 구축하고 팀과 최고 경영진 사이를 완충하는 역할을 합니다. 두 역할 모두 여러 애자일 팀에 걸쳐 일하므로 애자일 포트폴리오의 핵심 구성원입니다.
스크럼 마스터는 팀의 애자일 채택 및 구현에 집중하며, 개발 관리자는 올바른 인재를 채용하고 기존 팀원을 멘토링하며 모든 팀에서 좋은 개발 문화를 조성하는 데 집중합니다. 두 역할 모두 함께 협력하여 높은 성과를 내는 애자일 팀을 육성합니다.