2020.08.31

애자일 시대 검토할 만한 '소프트웨어 개발 KPI' 4가지

Anna Frazzetto | CIO
애자일 기법의 시대에 전통적인 소프트웨어 개발 KPI(key performance indicator)는 생산성을 측정하는데 그리 적합하지 않다. 팀 성과와 산출물, 사기를 좀더 잘 평가할 수 있는 지표들을 살펴본다. 
 
Image Credit : Getty Images Bank

소프트웨어 개발 생산성 및 팀 성과를 평가하기가 점점 어려워지고 있다. 코드 줄이나 업무 시간을 계산하는 방식은 이제 적절하지 않다. 소프트웨어 엔지니어링 팀의 효율성, 기술적인 업무, 창조적인 업무는 정량화된 방식으로만 측정할 수가 없다. 

업무 품질과 팀 협업이 그 즉시, 그리고 장기간 생산성에 영향을 미친다. 여기에 더해, 애자일은 반복적이고 변화하는 속성을 갖고있으며, 이에 따라 소프트웨어 개발 생산성은 유동적이 되어가고 있다.

해결책은 현재 대부분의 소프트웨어 개발을 규정하는 필수적인 민첩성과 팀 확장성 등 변화한 모멘텀에 부합하도록 KPI를 재고하는 것이다. 코드 줄을 세는 것만으로 생산성을 제대로 측정할 수 없다면, 우리가 소프트웨어 개발에서 계산할 수 있는 것은 무엇일까? 일한 시간이 인사이트를 많이 제공하지 않는다면, 적합한 척도는 무엇일까?

진척 수준과 소프트웨어 팀의 효율성을 더 잘 평가 및 이해하고, 제품의 생애주기 동안 유효한 KPI 대안들을 살펴볼 필요가 있다. 구체적으로는 다음과 같다. 

문제 해결
현재 소프트웨어 개발은 아주 전략적이고, 아주 창의적인 프로세스이다. 각 반복마다 새로운 통찰, 고려사항, 고객 요구를 반영해야 한다. 소프트웨어 팀은 얼마나 효율적으로 이런 문제들을 해결하고 있을까?

이는 오픈(미해결)/클로즈(종료) 점수를 통해 평가할 수 있는 KPI이다. 얼마나 자주 문제가 미해결 상태가 되는가? 소프트웨어 개발 팀은 얼마나 효과적으로 이를 관리하는가? 

이는 팀이 해결하지 못한 프로덕션 단계의 문제가 얼마나 많고 적은지 정량적으로 측정하는 것이 아니다. 이 매트릭스는 품질을 높이는 데 초점을 맞춰야 한다. ‘팀이 얼마나 효율적으로 문제들을 다루고 있는가?’가 중시되어야 한다. 

만약 장기간 문제가 해결되지 않은 상태로 남아 있다면, 팀이 문제 해결에 어려움을 겪고 있는 것이다. (많든 적든)문제가 발생했을 때 이런 문제를 효율적으로 다루고 있다면, 팀의 창의적인 문제 해결 점수는 높다. 이는 협력 및 협업에 성과를 내고 있음을 의미하기도 한다. 

속도
애자일 프로젝트는 예산(계획)과 일정을 예측하기 어려울 수 있다. 하여튼 팀은 계속 최종 목적과 목표를 추구한다. 따라서 일을 진척시키는 속도가 중요한 생산성 척도일 수 있다.

‘폭포수’ 방식의 일정에 맞춰진 (중간) 목표들은 유연하고 반복적인 애자일 환경에는 잘 부합하지 않지만, 그래도 진척된 정도와 속도를 평가할 수 있다. 애자일의 경우, 팀이 완료한 사용자 스토리의 수를 확인, 모든 스프린트에서 속도를 측정한다. 개인이 완료한 과업의 수가 아닌, 팀이 완료한 사용자 스토리(사용자가 필요한 것이나 원하는 것)의 수로 평가한다. 각 스프린트에서 완료한 사용자 스토리를 평가하면, 소프트웨어 개발 팀이 완료와 릴리스 날짜에 있어 얼마나 빨리 진척을 보였는지를 의미하는 점수를 얻게 된다.

워크플로우 안정성
소프트웨어 팀의 워크플로우는 얼마나 안정적일까? 이는 중요한 KPI이다. 워크플로우의 안정성은 예측성을 높이도록 도와주기 때문이다. 스프린트들의 워크플로우가 변덕스럽다면, 다음 단계와 최종 납기를 예측하는 것이 훨씬 더 어려워진다. 안정적인 워크플로우는 팀과 프로젝트가 제 궤도에 있으며, 워크로드를 관리할 수 있다는 점을 알려준다.

워크플로우 안정성은 하나의 매트릭스가 아니다. 팀의 업무에 영속성이 존재하는지 보기 위해 다음의 몇몇 척도를 함께 평가하는 KPI이다.

- 진행 중인 일(WIP) : 시작했지만, 완료하지 않은 작업 항목의 수
- 사이클 시간 : 하나의 작업을 시작해 완료하기까지 소요된 시간
- 작업 처리량 : 완료된 작업 항목/시간 단위

이런 워크플로우 척도들을 함께 분석하면 팀이 어떻게 기능하고 있는지 종합적으로 판단할 수 있다. 팀이 일관성 있게 일을 하고 있다면, 산출과 진척 정도에 대한 신뢰도가 높아진다. 전망치 또한 더 믿을 수 있다.

팀 사기(Team morale)
고려해야 할 매트릭스로 생각하는 이가 드물겠지만, 팀의 사기는 각 팀 구성원의 노력과 창의성에 영향을 주기 때문에 각 KPI와 유관한 요소일 수 있다. 팀원들이 자신의 업무에 자부심을 갖고 있고, 가치를 인정받고, 충분히 정보를 제공받고 있고, 일을 진행할 힘과 권한이 부여되고, 프로젝트의 목적을 확실히 알고 있다면, 더 훌륭한 기여자, 공헌자가 될 것이다. 또한, 더 낫고 더 혁신적인 소프트웨어를 구현할 것이다.

사기를 측정하는 방법은 생각보다 간단하다. 예를 들어, 각 스프린트에서 서베이스를 해서 직원들이 커뮤니케이션, 팀워크, 스트레스 정도, 업무에 대한 자부심과 흥미에 있어 어떤 생각을 갖고 있는지 조사할 수 있다. 

몇몇 스프린트에서 업무에 대한 자부심이 낮다면, 더 깊이 조사해야 한다. 팀원들이 실망한 이유는 무엇일까? 극복해야 할 품질, 스트레스, 관리 측면의 문제가 있는가? 팀 사기에 대해 광범위하게 파악을 하면 중요한 대화의 문이 열린다. 정보를 바탕으로 팀 참여와 협업을 향상시키는 행동을 할 수 있는 대화들이다.

단 사기는 상기 다른 KPI들처럼 단순한 1단계의 매트릭스가 아니다. 기간 동안 트렌드에 대한 더 광범위하고 종합적인 평가가 필요하다. 

애자일과 마찬가지로, 소프트웨어 개발에 대한 KPI 또한 반복해 평가할 때마다 더 정보가 충실해지고, 더 나아진다. 좋은 소식은 의욕에 차 시작했지만 스트레스를 받고 지칠 대로 지쳐 끝을 맺지 않아도 된다는 것이다. 올바른 KPI가 균형을 잡도록 도움을 줄 것이기 때문이다. ciokr@idg.co.kr



2020.08.31

애자일 시대 검토할 만한 '소프트웨어 개발 KPI' 4가지

Anna Frazzetto | CIO
애자일 기법의 시대에 전통적인 소프트웨어 개발 KPI(key performance indicator)는 생산성을 측정하는데 그리 적합하지 않다. 팀 성과와 산출물, 사기를 좀더 잘 평가할 수 있는 지표들을 살펴본다. 
 
Image Credit : Getty Images Bank

소프트웨어 개발 생산성 및 팀 성과를 평가하기가 점점 어려워지고 있다. 코드 줄이나 업무 시간을 계산하는 방식은 이제 적절하지 않다. 소프트웨어 엔지니어링 팀의 효율성, 기술적인 업무, 창조적인 업무는 정량화된 방식으로만 측정할 수가 없다. 

업무 품질과 팀 협업이 그 즉시, 그리고 장기간 생산성에 영향을 미친다. 여기에 더해, 애자일은 반복적이고 변화하는 속성을 갖고있으며, 이에 따라 소프트웨어 개발 생산성은 유동적이 되어가고 있다.

해결책은 현재 대부분의 소프트웨어 개발을 규정하는 필수적인 민첩성과 팀 확장성 등 변화한 모멘텀에 부합하도록 KPI를 재고하는 것이다. 코드 줄을 세는 것만으로 생산성을 제대로 측정할 수 없다면, 우리가 소프트웨어 개발에서 계산할 수 있는 것은 무엇일까? 일한 시간이 인사이트를 많이 제공하지 않는다면, 적합한 척도는 무엇일까?

진척 수준과 소프트웨어 팀의 효율성을 더 잘 평가 및 이해하고, 제품의 생애주기 동안 유효한 KPI 대안들을 살펴볼 필요가 있다. 구체적으로는 다음과 같다. 

문제 해결
현재 소프트웨어 개발은 아주 전략적이고, 아주 창의적인 프로세스이다. 각 반복마다 새로운 통찰, 고려사항, 고객 요구를 반영해야 한다. 소프트웨어 팀은 얼마나 효율적으로 이런 문제들을 해결하고 있을까?

이는 오픈(미해결)/클로즈(종료) 점수를 통해 평가할 수 있는 KPI이다. 얼마나 자주 문제가 미해결 상태가 되는가? 소프트웨어 개발 팀은 얼마나 효과적으로 이를 관리하는가? 

이는 팀이 해결하지 못한 프로덕션 단계의 문제가 얼마나 많고 적은지 정량적으로 측정하는 것이 아니다. 이 매트릭스는 품질을 높이는 데 초점을 맞춰야 한다. ‘팀이 얼마나 효율적으로 문제들을 다루고 있는가?’가 중시되어야 한다. 

만약 장기간 문제가 해결되지 않은 상태로 남아 있다면, 팀이 문제 해결에 어려움을 겪고 있는 것이다. (많든 적든)문제가 발생했을 때 이런 문제를 효율적으로 다루고 있다면, 팀의 창의적인 문제 해결 점수는 높다. 이는 협력 및 협업에 성과를 내고 있음을 의미하기도 한다. 

속도
애자일 프로젝트는 예산(계획)과 일정을 예측하기 어려울 수 있다. 하여튼 팀은 계속 최종 목적과 목표를 추구한다. 따라서 일을 진척시키는 속도가 중요한 생산성 척도일 수 있다.

‘폭포수’ 방식의 일정에 맞춰진 (중간) 목표들은 유연하고 반복적인 애자일 환경에는 잘 부합하지 않지만, 그래도 진척된 정도와 속도를 평가할 수 있다. 애자일의 경우, 팀이 완료한 사용자 스토리의 수를 확인, 모든 스프린트에서 속도를 측정한다. 개인이 완료한 과업의 수가 아닌, 팀이 완료한 사용자 스토리(사용자가 필요한 것이나 원하는 것)의 수로 평가한다. 각 스프린트에서 완료한 사용자 스토리를 평가하면, 소프트웨어 개발 팀이 완료와 릴리스 날짜에 있어 얼마나 빨리 진척을 보였는지를 의미하는 점수를 얻게 된다.

워크플로우 안정성
소프트웨어 팀의 워크플로우는 얼마나 안정적일까? 이는 중요한 KPI이다. 워크플로우의 안정성은 예측성을 높이도록 도와주기 때문이다. 스프린트들의 워크플로우가 변덕스럽다면, 다음 단계와 최종 납기를 예측하는 것이 훨씬 더 어려워진다. 안정적인 워크플로우는 팀과 프로젝트가 제 궤도에 있으며, 워크로드를 관리할 수 있다는 점을 알려준다.

워크플로우 안정성은 하나의 매트릭스가 아니다. 팀의 업무에 영속성이 존재하는지 보기 위해 다음의 몇몇 척도를 함께 평가하는 KPI이다.

- 진행 중인 일(WIP) : 시작했지만, 완료하지 않은 작업 항목의 수
- 사이클 시간 : 하나의 작업을 시작해 완료하기까지 소요된 시간
- 작업 처리량 : 완료된 작업 항목/시간 단위

이런 워크플로우 척도들을 함께 분석하면 팀이 어떻게 기능하고 있는지 종합적으로 판단할 수 있다. 팀이 일관성 있게 일을 하고 있다면, 산출과 진척 정도에 대한 신뢰도가 높아진다. 전망치 또한 더 믿을 수 있다.

팀 사기(Team morale)
고려해야 할 매트릭스로 생각하는 이가 드물겠지만, 팀의 사기는 각 팀 구성원의 노력과 창의성에 영향을 주기 때문에 각 KPI와 유관한 요소일 수 있다. 팀원들이 자신의 업무에 자부심을 갖고 있고, 가치를 인정받고, 충분히 정보를 제공받고 있고, 일을 진행할 힘과 권한이 부여되고, 프로젝트의 목적을 확실히 알고 있다면, 더 훌륭한 기여자, 공헌자가 될 것이다. 또한, 더 낫고 더 혁신적인 소프트웨어를 구현할 것이다.

사기를 측정하는 방법은 생각보다 간단하다. 예를 들어, 각 스프린트에서 서베이스를 해서 직원들이 커뮤니케이션, 팀워크, 스트레스 정도, 업무에 대한 자부심과 흥미에 있어 어떤 생각을 갖고 있는지 조사할 수 있다. 

몇몇 스프린트에서 업무에 대한 자부심이 낮다면, 더 깊이 조사해야 한다. 팀원들이 실망한 이유는 무엇일까? 극복해야 할 품질, 스트레스, 관리 측면의 문제가 있는가? 팀 사기에 대해 광범위하게 파악을 하면 중요한 대화의 문이 열린다. 정보를 바탕으로 팀 참여와 협업을 향상시키는 행동을 할 수 있는 대화들이다.

단 사기는 상기 다른 KPI들처럼 단순한 1단계의 매트릭스가 아니다. 기간 동안 트렌드에 대한 더 광범위하고 종합적인 평가가 필요하다. 

애자일과 마찬가지로, 소프트웨어 개발에 대한 KPI 또한 반복해 평가할 때마다 더 정보가 충실해지고, 더 나아진다. 좋은 소식은 의욕에 차 시작했지만 스트레스를 받고 지칠 대로 지쳐 끝을 맺지 않아도 된다는 것이다. 올바른 KPI가 균형을 잡도록 도움을 줄 것이기 때문이다. ciokr@idg.co.kr

X