2019.04.25

가트너 기고 | ‘소탐'하다 '대실’한다··· 애자일 팀 과다 활용의 부작용

Mike Gilpin | CIO KR
IT 인력은 기업의 요구사항을 충족시킬 만큼 충분히 많지 않다. 따라서 가용 인력을 신중히 보호하고 최대한 활용해야 한다. 이러한 이유로 애플리케이션 리더들은 종종 인력 활용도를 높이는 것이 좋을 것이라고 생각한다. 생산성과 처리량이 향상될 것으로 기대하기 때문이다.

얼핏 보면 팀원 활용도가 95%인 팀이 75%인 팀보다 더욱 생산적으로 보일 수 있다. 그러나 대부분의 경우 이는 잘못된 인식이며, 되려 리드타임 격차가 25배까지 벌어지거나 비즈니스 가치 제공이 지연되는 결과로 이어질 수 있다. 

대기행렬 이론과 애자일 팀 사례가 이를 뒷받침한다. 팀별로 작업을 할당할 때, 계획된 팀원 활용도가 75% 이상으로 높아지면 업무 백로그(대기행렬)의 규모가 급속히 증가한다. 활용도가 60%에서 80%로 높아지면 대기행렬이 두 배로 늘어나며, 80%에서 95%로 증가하면 대기행렬은 또 다시 두 배가 되는 흐름이 이어진다. 또한 대기행렬이 커지면서, 이에 비례해 리드타임은 길어지고 처리량은 감소한다.  

팀 활용도를 고정시키고 높은 활용율을 촉진하면 팀 생산성이 증가하는 것이 아니라 오히려 저하된다. 예를 들어 5명으로 구성된 칸반(Kanban) 팀이 활용도 90%로 업무를 하다가, 예상보다 오랜 시간이 소요되는 테스팅 작업과 생각보다 더 복잡한 사용자 스토리를 다수 발견했다고 가정해보자. 

업무 중 자연스럽게 발생하는 변수와 기타 ‘포착된’ 업무들이 다른 업무에 지연을 일으키기 시작한다. 대기 행렬에 대기 중인 항목과 현재 진행 중인 작업 항목 간 비율은 동일한 팀이 75% 활용도로 작업할 때에 비해 최대 25배까지 증가한다. 

애플리케이션 리더들은 일부 업무가 예상보다 어려워진 만큼 다른 업무는 더 쉬워지고 덜 복잡해질 것이기 때문에 시간이 지날수록 균형을 이룰 것이라며 합리화하고 싶을 수 있다. 그러나 안타깝게도 그렇지 않다. 팀 활용율이 높아질수록 사소한 부정적 변수도 기하급수적인 영향을 미치며, 작은 변화로는 균형을 찾을 수 없을 것이다. 

고 가치 업무에 대한 팀 활용도는 75% 정도로 설정하고, 나머지 25%는 저 가치 업무와 일상 업무 처리에 할당하라 
대기 행렬을 모두 제거하고 완전 연속적인 흐름으로 업무가 진행되도록 하면 모든 문제를 해결할 수 있지만, 이는 가변성을 크게 줄여야 하는 데다가 실용적이지 않은 경우가 대부분이다. 마치 차 한 대당 도로 하나씩 따로 갖고 있는 것과 같다. 대기 시간은 없어지겠지만, 천문학적인 비용이 발생하는 것이다. 

지속적인 통합 및 제공과 테스트 중심 및 수용 테스트 중심 개발을 높은 수준의 자동화와 혼합할 수도 있겠다. 개발 가치 흐름 내 다수의 내부 대기 행렬이 제거되어 다운스트림 프로세스 속도가 향상된다. 

그럼에도 불구하고 가장 큰 영향을 미치면서도 가장 쉬운 방식은 시스템에 “여유”를 두고 계획 활용도를 75% 선으로 유지하는 것이다. 많은 관리자들에게 이는 낭비처럼 보일 수 있다. 그러나 이런 조치로 리드 타임이 향상되고, 팀이 계획하지 않은, 긴급한 작업을 처리할 수 있는 가능성이 증가하는데, 이것이 바로 애자일 방식이다. 대기 행렬을 줄임으로써 얻을 수 있는 또 다른 긍정적인 효과는 팀 사기 증진이다. 업무 백로그가 많으면 팀 사기가 저하되며, 앞으로 나아가지 못한다는 느낌을 받게 된다. 

팀은 품질 개선, 기술 부채 제거, 결함 수리와 같은 소소한 작업을 처리하는데 여유 시간을 투자해야 한다
구글을 비롯한 일부 기업들은 여유 시간을 실험에 할당하며, 필요에 따라 고 가치 작업을 처리하는데 사용할 수 있다는 점을 파악하고 있다. 이는 완충제로서, 변수를 흡수하는 역할을 하는 것이다. 

확실성 수준이 더 높은 모드 1 작업을 진행하는 애자일 제품 팀은 계획 활용도 80%에서도 잘 기능할 수 있다. 모드 2 팀은 진행하는 업무 유형의 가변성과 예측 불가능성이 더 크기 때문에 50~60% 계획 활용도 범위를 목표로 해야 한다. 

비즈니스 결과에 집중해 한층 지속 가능한 속도를 정당화하라 
IT 및 비즈니스 고위 리더들은 활용도와 대기 행렬 규모, 비즈니스 가치 제공에 미치는 영향 간 관계를 파악해야 한다. 대기 행렬이 지연되면 이 지연으로 가치 제공이 지연되며, 새로운 수익이나 비용 절감도 지연된다. 활용도에 따라 팀과 관리자에 인센티브를 줄 것이 아니라, 결과적으로 제공되는 비즈니스 가치와 처리량 개선에 집중해야 한다.

팀이 더 큰 가치 흐름의 일환이라는 아이디어를 확산시키기 위해, 애플리케이션 리더들은 개별 팀 리소스를 차선화 하는 대신 비즈니스에 대한 엔드-투-엔드 가치 흐름에 주목해야 한다.

활용도를 높이기 위해 팀을 최적화하는 것은 팀원들이 작업 시간 면에서 최대로 활용되는 것을 의미할 것이다. 그러나 리드 타임과 지연 비용에 미치는 대기 행렬의 여파를 고려하면, 고작 수만 달러 규모의 리소스를 최적화하느라 수십만 달러, 많게는 수백만 달러 상당의 비즈니스 가치를 지연시킬 수 있다는 점을 알게 된다.

또 하나 강조돼야 하는 부분은 개발 아웃소싱이다. 활용도가 75%~80% 정도인 아웃소싱 팀은 고객과 서비스 공급업체 내부 관리자가 보기에 비효율적일 수 있다. 그러나 아웃소싱 팀의 활용도를 90% 이상까지 끌어올리고, 심지어 이를 계약서에 명시하는 것은 계산 착오다.

CD3 우선순위화로 알려진, ‘지연 비용을 지속성으로 나누는’ 공식을 적용해 이러한 셈법을 자세히 들여다보자. 팀과 제품 소유주는 CD3 우선순위화 방식을 사용해 제품 개발에 필요한 기능과 지속 시간의 가치를 고려해 반영할 수 있다. 이는 작업 품목, 개발 시간 또는 상대적인 가치의 크기에 변동이 있는 경우에 특히 유용하다. CD3에서 파생된 지수는 유용한 우선순위 도구이며, 팀이 가장 즉각적인 ROI를 내며 기능을 수행할 수 있도록 보장할 수 있다. 지연 비용과 우선순위화는 미래의 연구 주제가 될 것이다. 

처리량을 개선하고 리드 타임을 단축하기 위해 프로세스 내 변수를 줄여라
주어진 작업 항목의 변수를 줄이는 것과 그 작업을 수행하는 방식은 대기 행렬 길이와 리드 타임을 줄인다. 앨런 앤 커닌(Allen and Cunneen)과 존 킹먼(John Kingman)의 연구는 변수(공식 명칭은 변이계수)가 대기 행렬의 규모에 긍정적 영향을 미치고 변수가 줄어들수록 대기 행렬은 짧아진다고 설명한다. 그러나 소프트웨어 개발은 제조업이 아니므로, 불완전한 예측치와 예기치 않은 복잡성으로 인해 작업 항목은 늘 달라질 것이다. 

공항에서 내가 서있는 줄이 다른 줄보다 느린 것 같아 의아한 적이 있다면, 이는 변이 계수가 작용하기 때문이다. 어느 승객은 여권을 어디다 뒀는지 못 찾고, 또 다른 승객은 세관 직원에 걸려 조사를 받고, 늦게 도착한 일등석 승객이 당신보다 먼저 탑승 처리되는 등 이 모든 변수가 줄 대기 시간을 길어지게 만드는 것이다. 

그러므로 우리는 불필요한 가변성을 제거 또는 축소할 방법을 찾아야 하는 한편, 수확 체감의 법칙(the law of diminishing returns)도 유념해야 한다. 또한, 바이모달(bimodal) 세계에서 일어나는 자연스러운 변수 때문에 낮은 변이 계수 달성을 합당하게 바랄 수 있는 것은 모드 1 팀 뿐이라는 것도 유념해야 할 것이다. 

변수를 줄이기 위해 취할 수 있는 실질적 방법으로는 인지 작업 전환(cognitive task switching) 축소, 백로그 변수 축소, 크로스-스킬링(cross-skilling) 등이 있다. 팀과 제품 또는 플랫폼을 일치시키는 것은 한층 일관되고 날렵한 개발 프로세스를 구축함으로써 중장기적으로 변수를 줄일 수 있는 검증된 방식이다.

* Mike Gilpin 가트너 부사장은 애플리케이션 & 프로덕트 리더십 리서치 팀을 이끌고 있다. ciokr@idg.co.kr



2019.04.25

가트너 기고 | ‘소탐'하다 '대실’한다··· 애자일 팀 과다 활용의 부작용

Mike Gilpin | CIO KR
IT 인력은 기업의 요구사항을 충족시킬 만큼 충분히 많지 않다. 따라서 가용 인력을 신중히 보호하고 최대한 활용해야 한다. 이러한 이유로 애플리케이션 리더들은 종종 인력 활용도를 높이는 것이 좋을 것이라고 생각한다. 생산성과 처리량이 향상될 것으로 기대하기 때문이다.

얼핏 보면 팀원 활용도가 95%인 팀이 75%인 팀보다 더욱 생산적으로 보일 수 있다. 그러나 대부분의 경우 이는 잘못된 인식이며, 되려 리드타임 격차가 25배까지 벌어지거나 비즈니스 가치 제공이 지연되는 결과로 이어질 수 있다. 

대기행렬 이론과 애자일 팀 사례가 이를 뒷받침한다. 팀별로 작업을 할당할 때, 계획된 팀원 활용도가 75% 이상으로 높아지면 업무 백로그(대기행렬)의 규모가 급속히 증가한다. 활용도가 60%에서 80%로 높아지면 대기행렬이 두 배로 늘어나며, 80%에서 95%로 증가하면 대기행렬은 또 다시 두 배가 되는 흐름이 이어진다. 또한 대기행렬이 커지면서, 이에 비례해 리드타임은 길어지고 처리량은 감소한다.  

팀 활용도를 고정시키고 높은 활용율을 촉진하면 팀 생산성이 증가하는 것이 아니라 오히려 저하된다. 예를 들어 5명으로 구성된 칸반(Kanban) 팀이 활용도 90%로 업무를 하다가, 예상보다 오랜 시간이 소요되는 테스팅 작업과 생각보다 더 복잡한 사용자 스토리를 다수 발견했다고 가정해보자. 

업무 중 자연스럽게 발생하는 변수와 기타 ‘포착된’ 업무들이 다른 업무에 지연을 일으키기 시작한다. 대기 행렬에 대기 중인 항목과 현재 진행 중인 작업 항목 간 비율은 동일한 팀이 75% 활용도로 작업할 때에 비해 최대 25배까지 증가한다. 

애플리케이션 리더들은 일부 업무가 예상보다 어려워진 만큼 다른 업무는 더 쉬워지고 덜 복잡해질 것이기 때문에 시간이 지날수록 균형을 이룰 것이라며 합리화하고 싶을 수 있다. 그러나 안타깝게도 그렇지 않다. 팀 활용율이 높아질수록 사소한 부정적 변수도 기하급수적인 영향을 미치며, 작은 변화로는 균형을 찾을 수 없을 것이다. 

고 가치 업무에 대한 팀 활용도는 75% 정도로 설정하고, 나머지 25%는 저 가치 업무와 일상 업무 처리에 할당하라 
대기 행렬을 모두 제거하고 완전 연속적인 흐름으로 업무가 진행되도록 하면 모든 문제를 해결할 수 있지만, 이는 가변성을 크게 줄여야 하는 데다가 실용적이지 않은 경우가 대부분이다. 마치 차 한 대당 도로 하나씩 따로 갖고 있는 것과 같다. 대기 시간은 없어지겠지만, 천문학적인 비용이 발생하는 것이다. 

지속적인 통합 및 제공과 테스트 중심 및 수용 테스트 중심 개발을 높은 수준의 자동화와 혼합할 수도 있겠다. 개발 가치 흐름 내 다수의 내부 대기 행렬이 제거되어 다운스트림 프로세스 속도가 향상된다. 

그럼에도 불구하고 가장 큰 영향을 미치면서도 가장 쉬운 방식은 시스템에 “여유”를 두고 계획 활용도를 75% 선으로 유지하는 것이다. 많은 관리자들에게 이는 낭비처럼 보일 수 있다. 그러나 이런 조치로 리드 타임이 향상되고, 팀이 계획하지 않은, 긴급한 작업을 처리할 수 있는 가능성이 증가하는데, 이것이 바로 애자일 방식이다. 대기 행렬을 줄임으로써 얻을 수 있는 또 다른 긍정적인 효과는 팀 사기 증진이다. 업무 백로그가 많으면 팀 사기가 저하되며, 앞으로 나아가지 못한다는 느낌을 받게 된다. 

팀은 품질 개선, 기술 부채 제거, 결함 수리와 같은 소소한 작업을 처리하는데 여유 시간을 투자해야 한다
구글을 비롯한 일부 기업들은 여유 시간을 실험에 할당하며, 필요에 따라 고 가치 작업을 처리하는데 사용할 수 있다는 점을 파악하고 있다. 이는 완충제로서, 변수를 흡수하는 역할을 하는 것이다. 

확실성 수준이 더 높은 모드 1 작업을 진행하는 애자일 제품 팀은 계획 활용도 80%에서도 잘 기능할 수 있다. 모드 2 팀은 진행하는 업무 유형의 가변성과 예측 불가능성이 더 크기 때문에 50~60% 계획 활용도 범위를 목표로 해야 한다. 

비즈니스 결과에 집중해 한층 지속 가능한 속도를 정당화하라 
IT 및 비즈니스 고위 리더들은 활용도와 대기 행렬 규모, 비즈니스 가치 제공에 미치는 영향 간 관계를 파악해야 한다. 대기 행렬이 지연되면 이 지연으로 가치 제공이 지연되며, 새로운 수익이나 비용 절감도 지연된다. 활용도에 따라 팀과 관리자에 인센티브를 줄 것이 아니라, 결과적으로 제공되는 비즈니스 가치와 처리량 개선에 집중해야 한다.

팀이 더 큰 가치 흐름의 일환이라는 아이디어를 확산시키기 위해, 애플리케이션 리더들은 개별 팀 리소스를 차선화 하는 대신 비즈니스에 대한 엔드-투-엔드 가치 흐름에 주목해야 한다.

활용도를 높이기 위해 팀을 최적화하는 것은 팀원들이 작업 시간 면에서 최대로 활용되는 것을 의미할 것이다. 그러나 리드 타임과 지연 비용에 미치는 대기 행렬의 여파를 고려하면, 고작 수만 달러 규모의 리소스를 최적화하느라 수십만 달러, 많게는 수백만 달러 상당의 비즈니스 가치를 지연시킬 수 있다는 점을 알게 된다.

또 하나 강조돼야 하는 부분은 개발 아웃소싱이다. 활용도가 75%~80% 정도인 아웃소싱 팀은 고객과 서비스 공급업체 내부 관리자가 보기에 비효율적일 수 있다. 그러나 아웃소싱 팀의 활용도를 90% 이상까지 끌어올리고, 심지어 이를 계약서에 명시하는 것은 계산 착오다.

CD3 우선순위화로 알려진, ‘지연 비용을 지속성으로 나누는’ 공식을 적용해 이러한 셈법을 자세히 들여다보자. 팀과 제품 소유주는 CD3 우선순위화 방식을 사용해 제품 개발에 필요한 기능과 지속 시간의 가치를 고려해 반영할 수 있다. 이는 작업 품목, 개발 시간 또는 상대적인 가치의 크기에 변동이 있는 경우에 특히 유용하다. CD3에서 파생된 지수는 유용한 우선순위 도구이며, 팀이 가장 즉각적인 ROI를 내며 기능을 수행할 수 있도록 보장할 수 있다. 지연 비용과 우선순위화는 미래의 연구 주제가 될 것이다. 

처리량을 개선하고 리드 타임을 단축하기 위해 프로세스 내 변수를 줄여라
주어진 작업 항목의 변수를 줄이는 것과 그 작업을 수행하는 방식은 대기 행렬 길이와 리드 타임을 줄인다. 앨런 앤 커닌(Allen and Cunneen)과 존 킹먼(John Kingman)의 연구는 변수(공식 명칭은 변이계수)가 대기 행렬의 규모에 긍정적 영향을 미치고 변수가 줄어들수록 대기 행렬은 짧아진다고 설명한다. 그러나 소프트웨어 개발은 제조업이 아니므로, 불완전한 예측치와 예기치 않은 복잡성으로 인해 작업 항목은 늘 달라질 것이다. 

공항에서 내가 서있는 줄이 다른 줄보다 느린 것 같아 의아한 적이 있다면, 이는 변이 계수가 작용하기 때문이다. 어느 승객은 여권을 어디다 뒀는지 못 찾고, 또 다른 승객은 세관 직원에 걸려 조사를 받고, 늦게 도착한 일등석 승객이 당신보다 먼저 탑승 처리되는 등 이 모든 변수가 줄 대기 시간을 길어지게 만드는 것이다. 

그러므로 우리는 불필요한 가변성을 제거 또는 축소할 방법을 찾아야 하는 한편, 수확 체감의 법칙(the law of diminishing returns)도 유념해야 한다. 또한, 바이모달(bimodal) 세계에서 일어나는 자연스러운 변수 때문에 낮은 변이 계수 달성을 합당하게 바랄 수 있는 것은 모드 1 팀 뿐이라는 것도 유념해야 할 것이다. 

변수를 줄이기 위해 취할 수 있는 실질적 방법으로는 인지 작업 전환(cognitive task switching) 축소, 백로그 변수 축소, 크로스-스킬링(cross-skilling) 등이 있다. 팀과 제품 또는 플랫폼을 일치시키는 것은 한층 일관되고 날렵한 개발 프로세스를 구축함으로써 중장기적으로 변수를 줄일 수 있는 검증된 방식이다.

* Mike Gilpin 가트너 부사장은 애플리케이션 & 프로덕트 리더십 리서치 팀을 이끌고 있다. ciokr@idg.co.kr

X