다양하지만 중복되는 스킬 집합을 가진 5~7명으로 구성된 작고 민첩한 그룹이 가장 효과적인 애자일 팀입니다. 이 구조를 통해 팀은 서로 다른 능력을 활용하고 업무를 수행하는 팀의 작업 수용량을 가속화하는 긴밀하고 신뢰할 수 있는 관계를 개발할 수 있습니다. 하지만 때로는 프로젝트에 필요한 스킬이 팀의 집합적 능력을 벗어나는 경우가 있습니다.
이 경우 전문가가 필요합니다.
제너럴리스트 및 전문가
우리와 함께 일하는 인력은 일반적으로 제너럴리스트와 전문가라는 두 가지 범주 중 하나에 속합니다. 두 범주는 어떻게 다릅니까?
- 제너럴리스트 — 다양한 영역에서 일할 수 있는 폭 넓은 지식을 가진 인력
- 전문가 — 특정 초점 영역에 대한 깊고 고유한 지식을 가진 인력
많은 애자일 방법론은 모든 팀원이 제너럴리스트가 될 것을 지지합니다(그 이유에 대한 자세한 내용은 애자일 팀에 대한 문서 참조). 하지만 때로는 다음과 같은 이유로 팀에서 전문가의 도움을 요청하는 것이 합리적입니다.
- 특정 스킬 집합이 팀에 풀타임으로 필요하지 않음
- 회사에 특정 스킬 집합을 가진 직원의 수가 제한적이며 팀 간에 공유됨
- 일반 팀이 액세스할 수 없는 영역에서 작업하기 위한 특정 권한 부여 필요
이 경우 특정 기간 전문가가 팀에 합류하도록 하는 것이 합리적입니다. 하지만 팀에 전문가를 추가하는 데는 몇 가지 어려움이 따릅니다.
전문가와 함께 과제 인식
전문가는 특정 기간 동안만 팀과 함께 있기 때문에 빠르게 "최상 경로"가 될 수 있으며 때로는 전체 팀의 진행을 차단할 수 있습니다. 예를 들어 팀이 새 코드를 배포하기 위해 데이터베이스 관리자를 사용하여 데이터베이스를 변경하는 경우 데이터베이스 관리자로 인해 팀의 진행이 차단됩니다. 팀이 전문가의 의견 없이 작업을 진행할 수 없는 경우 해당 작업 흐름은 중단됩니다. 전문가는 팀에서 스킬을 가진 유일한 담당자이기 때문에 팀은 전문가가 차단을 해제할 때까지 기다릴 수밖에 없습니다.
전문가는 한 프로젝트를 줄이고 다른 프로젝트를 늘리는 등 많은 컨텍스트 전환에 참여합니다. 또한 프로젝트간 셔플은 비용이 많이 듭니다. 전문가는 핵심 팀원이 수행하는 프로젝트에 대한 친밀한 지식을 거의 가지고 있지 않습니다. 결과적으로 전문가는 중요한 세부 사항을 놓칠 수 있습니다. 이것을 완화하기 위해 핵심 팀은 추가 에너지를 발휘하여 전문가를 최신 상태로 유지해야 합니다.
전문가와 협력하기 위한 팁
전문가와 협력할 때 걸림돌을 제한하는 세 가지 팁을 살펴보겠습니다.
1. 전문가로부터 필요한 사항 명확하게 정의
전문가를 고용해야 한다는 것을 알게 된 후에는 정확히 무엇이 필요한지 생각해 보는 데 시간을 할애해야 합니다. 필요한 작업 유형과 지식의 깊이를 이해하세요. 이렇게 하면 팀이 올바른 전문가를 확보하고 전문가가 성공할 수 있도록 팀과 충분한 시간을 확보할 수 있습니다. 전문가에게 필요한 시간과 스킬에 대해 현실적으로 대처하지 않으면 팀과 전문가 모두 실패할 수 있습니다.
2. 전문가의 지식을 핵심 팀으로 이전
중복되는 스킬 집합이 애자일 팀에 가장 중요합니다. 전문가와 팀이 협력하는 동안 전문가가 최대한 핵심 팀을 교육하도록 시간을 마련하여 전문가가 떠나도 그들이 가져온 지식이 완전히 손실되지 않도록 해야 합니다. 이것을 위한 몇 가지 효과적인 방법은 다음과 같습니다.
- 페어 프로그래밍 — 페어 프로그래밍은 두 명 이상의 팀원이 프로젝트의 특정 영역에서 실시간으로 함께 작업하는 것을 포함합니다. 두 팀원 모두 질문하고 작업에 참여할 수 있습니다.
- 코드 검토 — 코드 검토에서는 핵심 팀원이 전문가가 완료한 작업을 검토하여 모든 변경 사항을 파악합니다. 코드 검토는 방법보다 이유에 더 중점을 두므로 학습용 페어 프로그래밍보다 효과가 떨어집니다.
- 브라운 백 — 브라운 백은 전문가가 한 그룹의 구성원에게 지식을 공유하는 비공식 세션입니다. 팀 전체를 교육하는 효율적인 방법입니다.
목표는 팀이 더욱 자율적으로 바꾸는 것입니다. 지식 이전은 핵심 팀이 이전에 전문가가 소유했던 영역을 관리할 수 있는 더 많은 컨텍스트를 제공하므로 향후 해당 전문가에 대한 의존도가 줄어듭니다.
3. 전문가로부터의 지속적인 요구 최소화
전문가가 팀과의 참여를 마무리하면서 팀과 전문가 간에 서비스 수준 계약을 설정하는 것이 중요합니다. 팀이 언제 어떤 상황에서 전문가를 다시 참여시켜야 하는지 결정합니다. 전문가 영역의 일반적인 시나리오를 설명하는 지원 가이드를 작성하면 팀이 자신의 과제를 해결하여 자신의 운명을 더 잘 제어할 수 있습니다.