Agile 방법론에서의 측정지표 분석 및 사례 연구: Scrum practice를 중심으로 Yahoo Korea/PMO 황순삼
INDEX 서론 연구배경 연구모델 연구프레임워크, 스크럼측정분석결과 스크럼측정사례 야후코리아스크럼측정사례 결론 - 2 -
서론 소프트웨어개발환경의변화 적시출시 (Time to market) 복잡하고대규모시스템간의통합 짧아지는시스템라이프사이클 높아지는사용자의다양한욕구충족의어려움 전통적인방법론의한계점 계획중심의통제 본래계획에집착함으로써변화하는고객의요구사항충족에실패 변화대응의어려움 요구사항변경을통제함으로써프로젝트의유연성이사라지고고객의가치전달제공에실패 Optimization paradox: Jim Highsmith (Adative Software Devleopment) 소프트웨어개발을선형적이고순차적인활동으로정의하고예측과통제를강조하고있으나소프트웨어개발의비선형적이고불확실성으로인하여오히려더큰실패를초래 - 3 -
서론 가벼운방법론 (Light weight methodology) 문서와산출물중심의무거운방법론을대치할대안의필요성공감 2001년 Agile Manifesto for Agile software development 선언 Agile 방법론등장 : Extreme programming, Scrum, Lean software development, Adaptive system development, Crystal, etc. 기존의애자일연구들 가벼운방법론의특징과프로세스를소개하거나기존의전통적방법론과의프로세스비교위주로이루어짐 애자일방법론을조직의목표달성을위하여어떻게활용할수있는가에대한연구가필요 조직의목표달성을위해서는프로세스와마찬가지로목표와실적을비교하고조정하기위한측정에대한연구도필요 - 4 -
연구배경 기존연구 1: Awad (2005) 무거운방법론한계점 복잡하고예측하기어려운개발환경에서변화를수용하거나원활한의사소통을하는데어려움 프로세스지향적으로많은문서작업과비용중시의통제 애자일방법론의한계 큰조직에서적용하기에는체계적이지못함 구체적인프로세스나방법을제시하지못함 사람의능력에너무의존적인방법 고객과의어려운협력현실의무시 기존연구 2: Ken (2006) Empirical process control 필요 상세계획수립과이를통제하기위한많은측정지표로인한비생산적자원의낭비발생 반복적이고적절한검사를통하여결과에유연하게대응해야함 계획자체가중요한것이아니라실제고객에게전달되는결과물의가치에주목해야함 - 5 -
연구배경 기존연구 3: Marcal (2007) CMMI 과애자일프로세스비교 프로젝트관리 (Level 2) 의낮은성숙도수준충족 형식적인문서부재 위험이정의되지만분석되어관리되지못함 이슈및리소스에의지하는관리 기존연구한계점 기존연구에서주로프로세스에대하여다루어옴 측정과통제부족을애자일방법론한계점으로지적하고있으며 결과를측정하고차이를분석하여목표달성을조정하는통제는프로세스와마찬가지로매우중요함 조직의비즈니스목표달성을위하여새로운방법론에서무엇이측정되어야하는지에대한구체적방법에대한연구가필요 - 6 -
연구모델 소프트웨어측정 소프트웨어개발과정을포괄하는일반적인측정프레임워크활용필요 경쟁력있는상품및서비스를고객에게제공함으로써고개만족도를향상시키는것이개발조직의궁극적인목표 제품의기능향상 비용절감 적시출시 고객만족도향상 ( 품질개선 ) 소프트웨어개발개발관리는크게프로세스와프로젝트관리프로세스로구분가능 : William (1999), Measuring the software process - 7 -
연구모델 비즈니스목표달성을위한측정프레임워크 비즈니스목표 프로젝트측정변수 프로세스측정변수 측정가능한제품및프로세스측정변수 기능개선 (Increase function) 제품성장율 (Product growth) 제품안정성 (Product stability) 제품적합도 (Product conformance) 프로세스적합도 (Process conformance) 요구사항수 (Number of Requirements) 제품크기 (Product size) 제품복잡도 (Product complexity) 요구사항변경률 (Rate of change) 부적합비율 (Percentage of nonconforming) 비용절감 (Reduce cost) 예산 (Budgets) 실적 (Expenditure rates) 효율성 (Effectiveness) 생산성 (Productivity) 재작업율 (Rework) 제품크기 (Product size) 제품복잡도 (Product complexity) 투입공수 (Effort) 변경요구사항수 (Number of change) 적기출시 (Reduce time to market) 개발일정 (Schedule) 진척율 (Progress) 생산율 (Production rate) 투입시간 (Elapsed time) 완성된작업수 (# of work completed) 고객만족도향상 (Improve Customer Satisfaction) 제품품질 (Product quality) 프로세스품질 (Process quality) 결함밀도 (Defect density) 단계별유입된결함수 (Number of defects introduced) 결함발견효율성 (Effectiveness of defect detection activities) - 8 -
연구모델 스크럼프로세스 - 9 -
연구모델 스크럼산출물및측정변수 Sprint Backlog Daily estimate & Burndown chart - 10 -
연구모델 스크럼측정분석 프로젝트측정변수 ( 평균 :60) 프로젝트측정변수 측정가능한스크럼산출물 충족수준 제품성장률 / 안정성 제품백로그 부문만족 예산 / 실적 N/A 불만족 일정 스프린트백로그 만족 진척률 번다운차트 만족 품질 스프린트데모, 테스트결과 부문만족 프로세스측정변수 ( 평균 : 41) 프로세스측정변수측정가능한스크럼산출물충족수준 제품 / 프로세스적합도 스프린트데모, 테스트결과스프린트회고 부문만족 효율성 N/A 불만족 생산성 번다운차트수행속도 (Velocity) 만족 재작업율스프린트백로그부문만족 생산률스프린트주기 (Sprint cycle) 부문만족 프로세스품질 N/A 불만족 - 11 -
연구모델 스크럼측정의강 / 약점분석 비즈니스목표달성관점 기능개선 : 제품관리측면에서요구사항과스펙에대하여백로그를통하여관리하고있으나정량적이지못함. 제품에대해서는요구사항에부합하는지는테스트하고있으나개발프로세스는측정이아닌 Scrum retrospective 을통한회고활동으로개선공감대형성을목적으로함 (selforganizing) 비용절감 : 전체비용예산을수립하고계획대비실적을관리하지않는데스크럼은스프린트주기로작업량을산정하지만공수가얼마나투입되었는지에대하여관리하는것이아니라현재시점에서남은작업량을번다운차트를통해관리한다. 적시출시 : 스프린트주기별로개발일정을산정하고진척율을매일측정하고번다운차트를통해개발속도와생산성을측정 고객만족도 / 품질향상 : 매스프린트단위로결과물을테스트하고데모를통해사용자의피드백을수집 프로젝트및프로세스측면 스크럼자체가프로젝트관리방법론으로 CMMI 나 ISO 15504 와같은프로세스의역량을측정하고개선하는데취약함 애자일방법론은소프트웨어개발과정을불규칙적이고비선형적프로세스를통해구현된다고보고있기때문에정해진계획보다는현재성과를반복적으로검토하고변화에유연하게대응하기위한경험적프로세스를강조 - 12 -
측정사례 Yahoo 의스크럼측정사례 1994 년부터스크럼방법론도입하여현재표준방법론중하나로정착하고프로세스개선을위한 PPC (process & Project Champion) 전담조직을글로벌하게운영 프로젝트관리측정변수 개발일정, 진척도, 제품품질, 제품성장율 / 안정성 Sprints lists Sprint backlog - 13 -
측정사례 Progress & Burn down chart - 14 -
측정사례 Php undercontrol (unit test) CI (Continuous Integration) 체계 - 15 -
측정사례 Functional test Performance test - 16 -
측정사례 User test (Beta Test) - 17 -
측정사례 프로세스관리측정변수 제품 / 프로세스적합도, 생산성, 릴리즈관리 기능테스트와스프린트데모, 스프린트회고 번다운차트, Velocity ( 수행속도 ) 릴리즈백로그 Release backlog - 18 -
결론 스크럼의측정분석 스크럼은비즈니스목표달성관점에서기능개선과적시출시측면에서비교적강한반면비용절감과품질관리측면에서는매우취약하므로조직에서비용절감이나품질관리를위하여스크럼을도입시이에대한보완책을마련해야함 스크럼은프로세스관점에서는매우약한반면프로젝트관리관점에서비교적많은측정지표를제공함. 따라서프로세스성숙도가높은기업에게는스크럼을관리도구나방법으로활용하여프로젝트관리성과를높이는데잘사용될수있을것으로보이는반면프로세스성숙도가낮은기업에서도입시이에대한보완책이필요할것으로보임. (Ex: 측정매트릭, 개선프로세스, QA 활동등 ) 향후연구주제 최근애자일확산에따라다양한비즈니스도메인별로적용사례를연구 스크럼뿐만아니라애자일에속하는여러방법론에따른프로세스에대한측정지표연구및비교 무거운방법론과가벼운방법론간의장점을고려한구체적적용방법과성공사례를제공하여전통적인방법론에익숙한조직에게애자일을활용할수있는실무적가이드마련 - 19 -
Q & A - 20 -