게시 : 1 월 29, 2013
애자일 용량 계산 - 1/2부
용량 기민한 팀은 팀이 작업 기간 동안 얼마나 많은 작업량을 수행해야 하는지 알려주는 데 사용해야 하는 중요한 척도입니다. 스프린트 계획 회의 다가오는 스프린트를 위해. 용량과 작업 부하의 균형이 맞지 않으면, 팀원들은 제품 소유자와 균형을 맞추는 방법에 대해 충분한 정보를 바탕으로 논의해야 합니다.
용량 계산을 위한 세 가지 방법을 제시하겠습니다.
- 방법 1 : 용량을 추정하거나 계산할 필요가 없습니다. 이는 이상적이고 간단한 방법입니다.
- 방법 2 : 용량은 소수의 매개변수를 사용하여 시간 단위로 추정됩니다. 이는 스프린트에 대한 애자일 팀의 용량을 추정하는 대략적이지만 빠른 방법입니다.
- 방법 3 : 용량은 상당히 포괄적이고 확장 가능하며 사용자 정의 가능한 매개변수 세트를 사용하여 시간 단위로 정확하게 계산됩니다. 이는 애자일 팀의 스프린트 용량을 계산하는 정확한 방법입니다. 실제 계산은 Excel 템플릿을 사용하여 매우 빠르게 수행됩니다.
2부로 구성된 블로그 시리즈의 첫 번째 부분에서는 방법 1과 2를 소개합니다. 방법 3은 파트 22부의 마지막 부분에서는 애자일 팀의 특정 상황에 따라 어떤 방법을 선택할 수 있는지에 대한 권장 사항을 제시하겠습니다.
방법 1: 용량을 추정하거나 계산할 필요가 없습니다.
잘 짜인 애자일 팀의 가장 단순하고 (어느 정도 이상적인) 방법을 고려해 보겠습니다. 즉, 팀원들이 과거 여러 스프린트 동안 애자일 팀으로 함께 작업하며 안정적인 속도를 달성한 팀입니다. 예를 들어, 어떤 애자일 팀이 지난 네 번의 스프린트 동안 작업하면서 19, 21, 20, 19 스토리 포인트와 같이 좁은 범위(±10%) 내에서 측정된 속도를 보였습니다. 이 예에서 팀의 평균 속도(지난 네 번의 스프린트 평균)는 (19+21+20+19)/4 = 19.75 = 약 20입니다.
같은 팀(정확히 같은 멤버)이 다음 스프린트에서 팀으로 일할 계획이고, 다음 스프린트에서 사용 가능한 작업 일수가 지난 몇 번의 스프린트와 같으며, 어떤 팀원도 상당한 노력으로 인해 프로젝트에서 제외될 것으로 예상되지 않는다면, 이런 이상적인 시나리오에서 애자일 팀은 다음 스프린트에서 20스토리 포인트에 해당하는 작업을 편안하게 계획할 수 있습니다.
이 방법에서는 여러 가지 이상적인 가정이 충족된다고 가정하기 때문에 다가올 스프린트에 대한 팀의 실제 용량을 추정하거나 계산할 필요가 없습니다. 예를 들어 다음과 같습니다.
- 잘 구성된 애자일 팀은 안정적인 속도를 달성했으며, 지난 4번의 스프린트에서 측정된 평균 속도는 다가올 스프린트의 예상 속도를 나타내는 주요 지표입니다.
- 잘 구성된 팀은 다음 스프린트에서도 작업하게 됩니다. 즉, 정확히 동일한 멤버가 계속 작업하게 됩니다.
- 다음 스프린트에서 사용 가능한 작업일 수는 지난 몇 차례 스프린트의 작업일 수와 매우 비슷합니다. 즉, 다음 스프린트에는 특이한 수의 회사 휴일이 없을 것이고, 팀원이 장기 개인 휴가를 가질 것으로 예상되지 않으며, 스프린트 작업 외의 다른 과제로 인해 팀원이 용량을 잃을 것으로 예상되지 않습니다.
- 기술 플랫폼은 다음 스프린트에서도 동일하게 유지됩니다(이전 스프린트와 변경 사항 없음).
- 다음 스프린트에서는 어떤 팀원도 새로운 도메인 지식을 습득할 필요가 없습니다.
방법 2: 소수의 매개변수를 사용하여 시간 단위로 용량을 추정합니다.
이 방법은 방법 1을 정당화하는 하나 이상의 가정이 사실이 아니거나 적어도 의심스러운 경우 적용할 수 있습니다. 다음 조건 중 하나 이상에 해당하는 경우, 방법 1을 사용해서는 안 됩니다.
- 애자일 팀은 아직 잘 결속된 팀이 아닙니다. 과거에는 스프린트마다 불규칙적으로 속도가 바뀌는 것을 경험했습니다.
- 애자일 팀 구성은 다음 스프린트에서 이전 스프린트와 달라질 가능성이 높습니다. 이는 확실히 팀 역학과 팀 생산성에 변화를 가져올 것입니다.
- 다가오는 스프린트의 팀 수용 능력은 다가오는 휴일 시즌, 여름 또는 겨울 휴가 등으로 인해 이전 스프린트와 다를 것으로 예상됩니다.
- 팀원들은 다음 스프린트 동안 다른 기술 플랫폼에서 작업할 것으로 예상됩니다.
- 한 명 이상의 팀원이 다음 스프린트를 위해 새로운 도메인 지식을 배우고 적용해야 합니다.
이러한 시나리오에서는 과거 평균 속도를 다음 스프린트 예상 속도의 선행 지표로 사용할 수 없습니다. 다음 스프린트 동안 팀이 실제 실무 작업을 수행할 수 있는 시간을 추정해야 합니다. 이 방법에서는 주어진 8시간 근무일 동안 조직의 일반적인 "실무 시간"에 대한 과거 데이터를 고려하여 단순화된 모델을 사용합니다(해당 데이터가 존재하고 사용 가능한 경우). 과거 데이터를 기반으로 팀은 8시간 근무일의 60%에서 80%를 실제 실무 작업에 사용할 수 있습니다. 나머지 시간(40%에서 20%)은 일반적인 이메일 및 전화 통화, 회사 회의, 일일 회의 준비 및 참석에 사용됩니다. 스크럼 회의 등. 따라서 정규직 팀원 한 명당 하루 4.8시간에서 6.4시간(주 40시간 근무 기준 24시간에서 32시간)의 실무 업무 시간을 확보할 수 있는 것으로 추산됩니다. 예를 들어, 정규직 팀원이 8명인 애자일 팀이 4주 스프린트를 사용하는 경우, 다음 주에는 8 x 4 x 24 = 768시간(60% 실무 업무 가정), 최대 8 x 4 x 32 = 1,024시간(80% 실무 업무 가정)의 업무 처리 용량을 확보할 수 있습니다.
이는 애자일 팀의 역량에 대한 대략적인 추정치일 뿐이며, 단일 매개변수(실무 수행에 사용할 수 있는 시간의 비율, 일반적으로 조직의 과거 데이터를 기반으로 60%~80%)를 기반으로 합니다. 과거 데이터를 사용할 수 없는 경우, 일부 조직은 일화적인 증거나 이 수치에 대한 회사의 확신 수준을 기반으로 추정치(예: 75%)를 사용합니다.
예상 용량은 애자일 팀에게 다음 스프린트에 얼마나 많은 작업(구현할 스토리 또는 기능, 그리고 수정해야 할 결함)을 계획할 수 있는지에 대한 지침을 제공하는 데 사용됩니다. 예를 들어, 팀 용량이 800시간으로 예상되면 예상 작업 시간은 800시간에 가까워야 합니다. 팀은 용량을 초과할 수 있지만, 5%를 넘을 수 없습니다. 즉, 이 예에서는 예상 작업 시간이 840시간을 초과해서는 안 됩니다.
애자일 팀은 이제 우선순위가 지정된 스프린트 백로그를 기반으로 계획된 작업 시간을 추정하거나 계산해야 합니다. 각 스토리와 결함에 대한 작업량은 경과 시간이 아닌 이상적인 시간 단위로 추정해야 합니다. 이는 팀이 관련 작업에 대한 집단적 지식을 바탕으로 스토리 또는 결함 수준에서 수행할 수 있습니다. 또는 각 스토리와 결함을 작업과 테스트로 나눌 수 있습니다. 각 작업과 테스트는 이상적인 시간 단위로 추정되고, 이러한 추정치를 합산하여 스토리 또는 결함에 필요한 이상적인 시간 단위의 작업량을 추정합니다.
방법 2는 단일 또는 소수의 매개변수를 기반으로 팀 용량을 추정하는 데 그치므로, 대략적인 측정값일 뿐입니다. 포괄적인 매개변수 집합을 기반으로 팀 용량을 시간 단위로 정확하게 추정해야 하는 경우, 방법 3을 따라야 합니다. 이 방법은 다음에서 설명됩니다. 두 번째 부분 이 2부로 구성된 블로그 게시물의 일부입니다.