TMMi 레벨 5 품질관리프로세스구축방안 2015. 3. 24. [ 제126 호] 최승희 (Seunghee Choi), 김학수 (Harksoo Kim), 이구연 (Gooyeon Lee) Journal of KIISE. Software and applications. v.41 no.8 Ⅰ. 서론 Ⅱ. 관련연구 Ⅲ. TMMi 품질관리프로세스소개 Ⅳ. 품질관리프로세스구축방법 Ⅴ. 품질관리프로세스구축가이드 VI. 결론
SW 공학트렌드 동향분석 Webzine Ⅰ. 서론 우 리나라에서는 1960 년대부터제조업분야를중심으로품질관리활동이시작되 었다. 이후품질관리는제조업을넘어서서여러산업분야에서추진되었으나, 품질개선활동의효과가크게나타나고있지는않았다. 1993 년우리나라의 ISO 9000 시 리즈도입과더불어부분적품질관리를넘어서서전사적품질경영으로종합적인품질 관리활동이전개되고있다 [1]. 소프트웨어공학에서도통계적품질관리에대한연구는 1990 년대부터시작되었다 [2-3]. 통계적프로세스관리를요구하는높은수준의 CMMI(Capability Maturity Model Integration) 1) 개발프로세스연구와구축활동을비롯하여 [4-7] 신뢰성성장모델에관 한연구까지품질관리활동이이루어지고있다 [8-11]. 특히, 소프트웨어공학수준과 소프트웨어품질비용의관계를분석한최근연구에따르면, 소프트웨어공학수준이 높을수록, 품질비용이적게투입되는것으로나타났다 [12]. 또한, 국내기업의경우품 질저하예방비용보다는품질미달로인한문제해결에많은비용을쓰고있어, 품질 저하예방비용의효과적집행을위한지속적인개선이필요함을알수있다. 정량적품질관리활동은프로세스성숙도모델에서통계적기법의활용을요구하는 레벨 4, 5 에속하는고수준의프로세스활동이다. 국내 CMMI 프로세스인증의경우 2013 년 9월기준레벨 4, 레벨 5 인증획득기업의숫자가각각 15, 9 이다 [13]. 이를통 해서도알수있듯이소프트웨어공학분야에서의통계적품질관리활동은아직은널 리확산되지못하고있다. CMMI 모델의테스팅프로세스취약점을보완하는모델로 TMMi(Test Maturity Model Integration) 가개발되어 2012 년전체프레임워크가완성되어배포되었다 [14]. TMMi 는 테스트와품질프로세스영역만을전문으로다루고있으며, CMMI 와마찬가지로레벨 4, 레벨 5의고수준성숙도목표를달성하려면통계적품질관리활동의이행이필수적이 다. 본원고에서는 TMMi 레벨 5 프로세스영역중품질관리 (Quality Control) 프로세스 구축방안을살펴보고, 프로세스구축에필요한몇가지통계적기법을소개하여고수 준의통계적품질관리프로세스구축에도움이되고자한다. 1) Carnegie Mellon University, The CMMI Institute, http://cmmiinstitute.com/ 01 2015 March (No.126)
인사이드이슈 Ⅱ. 관련연구 2.1 TMMi 모델 TMMi 모델은 CMMI 모델에서충분하게다루지못하고있는테스트프로세스활동들을 상세하고제공하고있어테스트프로세스진단과개선에활용되고있다. 또한, TMMi 재단 에의해테스트성숙도수준에대한공식인증프로그램이운영되고있다 2). TMMi 모델은 CMMI 모델과유사하게그림 1 과같이초기 (Initial), 관리됨 (Managed), 정의 됨(Defined), 측정됨 (Measured), 최적화 (Optimization) 의다섯레벨로구성되어있다. 각레벨 에해당하는프로세스영역 (Process area) 의특정목표 (Specific goal) 와공통목표 (Generic goal) 를모두충족하면해당레벨의테스트성숙도를갖추었다고평가할수있다. 그림 1_ TMMi 성숙도레벨과프로세스영역 2) The TMMi Foundation, Assessment Certification, http://www.tmmi.org/?q=assessment_cert 02
SW 공학트렌드 동향분석 Webzine 2.2. 품질관리및도구 품질관리 (quality control) 란제품또는서비스의품질을고객요구에맞게경제적으로 만들어내는관리기법을의미한다. 품질관리가효과적으로이루어지려면경영층을비 롯하여전사차원의노력이필요한데, 이를종합적품질경영 (total quality management) 또는전사적품질관리 (total quality control) 라고한다 [15]. TMMi 레벨 5 품질관리프로세스는이러한전사차원의품질경영수준의활동을요 구한다. 한편품질관리를좁은의미로한정하면고객의품질요구에맞게개발되었는 지평가하는결함발견활동을의미하는데, 이것을품질보증 (quality assurance) 활동과 그의미를혼용하여사용하는경우가많다. 그러나두용어는분명히의미하는바가서 로다르다. 좁은의미의품질관리는제품의품질수준을확인하는활동으로결함발견 에중점이있다. 제품이개발된후에이루어지는사후반응적활동으로결함발견을주 요목적으로소프트웨어테스팅활동이이에해당된다. 반면품질보증은결함예방등 제품이개발되는프로세스의품질에중점이있다. 제품에결함이유입되지못하도록하 는사전예방적활동으로프로세스관리를주요목적으로하는활동으로프로세스이 행, 품질감사활동등이이에해당한다. 품질관리를위한도구들은크게 QC 7 가지도구, 신 QC 7 가지도구, 통계적기법으로 나눌수있다 [15-16]. Ⅲ. TMMi 품질관리프로세스소개 3.1 품질관리프로세스 품질관리프로세스에서요구하는성숙도수준은테스트프로세스를통계적으로관 리하여운영할수있고, 테스트프로세스성과가예측가능하여이를활용하여테스트 성과가안정적으로유지되도록관리할수있음을의미한다. 품질관리프로세스의구 축이성공적으로이루어지면테스팅의수행으로제품품질의예측이가능하여, 더욱효 율적인테스팅활동이가능해진다. 품질관리프로세스는크게 2개의특정목표와 8개 의특정활동으로구성되어있다. 첫번째특정목표 (SG1) 의특정활동은표 1 과같다. 03 2015 March (No.126)
인사이드이슈 표 1_ 통계적으로관리되는테스트프로세스구축 SG 1 SP 1.1 SP 1.2 SP 1.3 SP 1.4 SP 1.5 PA 5.2 Quality Control SG 1 Establish a Statistically Controlled Test Process Establish test process performance objectives Establish test process performance measures Establish test process performance baselines Apply statistical methods to understand variations Monitor performance on the selected test processes 두번째특정목표 (SG2) 의특정활동은표 2 와같다. 표 2_ 통계적기법을활용하여테스팅수행 SG 2 SP 2.1 SP 2.2 SP 2.3 SP 1.4 SP 1.5 PA 5.2 Quality Control SG 2 Testing is Performed using Statistical Methods Develop operational profiles Generate and execute statistically selected test cases Apply statistical test data to make stop-test decisions Apply statistical methods to understand variations Monitor performance on the selected test processes 3.2. 연관프로세스 품질관리프로세스는높은성숙도에해당하는프로세스활동으로프로세스목표를 충족하려면그림 2 와같이, 이것과연관된하위프로세스활동들의특정목표와특정 활동들을사전에먼저만족하여야한다. 그림 2_ 하위연관프로세스 유의할것은위에서언급한프로세스들이특히직접연관되어있다는것이지, 다른 프로세스들과는연관이없다는의미가아니다. 실제로품질관리프로세스는레벨 5에 04
SW 공학트렌드 동향분석 Webzine 해당하므로, 이를만족하기위해서는하위성숙도인레벨 2, 3, 4의모든프로세스활동 들이사전에충족되어야하며, 레벨 2단계에서부터체계적으로연관활동들을구축해 나가야한다. 3.3. 구축기대효과 품질관리프로세스구축기대효과는다음과같다. 통계적분석결과에기반하여프로세스관리에대한통찰 (insight) 제공 과거프로젝트테스트프로세스성과및품질성과에대한통계적분석과활용 프로세스개선후개선효과에대한정량적평가 프로젝트의프로세스성과및품질기대수준에대한예측가능 경영층이원하는정량적프로세스개선효과도출가능 Ⅳ. 품질관리프로세스구축방법 4.1. 품질관리프로세스구축전략 그림 3_ 특정활동들사이의관계 05 2015 March (No.126)
인사이드이슈 품질관리프로세스의특정활동들은서로별개의독립적인활동이아니라그림 3과 같이서로상호밀접한연관관계가존재하므로프로세스간의종속성이나연관성을고 려하여프로세스를구축하여야한다. 또한, 그림 2에서언급한하위연관프로세스들을 고려하여하위프로세스결과를해당프로세스활동의입력물로적절하게활용될수있 도록구성해야한다. TMMi 성숙도모델에근간하여품질관리프로세스의특정활동별 로프로세스구축활동을소개하면다음과같다. 4.2. 통계적으로관리되는테스트프로세스구축 1) 테스트프로세스성과목표수립 비즈니스요구와목적검토, 테스트정책의검토, 정량적테스트프로세스성과목표 정의, 성과목표의우선순위정의, 성과목표간의충돌해결 2) 테스트프로세스성과메트릭수립 전사테스트프로세스성과를잘나타낼수있는메트릭선택, 통계적관리에적절한 메트릭의식별및리뷰 3) 테스트프로세스성과베이스라인구축 프로젝트로부터성과측정결과수집및분석, 수집된측정과분석결과로부터테스 트프로세스성과베이스라인의구축과관리, 테스트프로세스성과베이스라인의리뷰 와승인획득, 테스트프로세스성과베이스라인의배포및공유 4) 변동을이해하기위해통계적기법적용 적절한과거데이터를활용하여테스트프로세스성과의상한및하한경계선을시범 도출, 성과데이터수집, 각각측정된속성에대한테스트프로세스성과의경계선도출, 문제점이발생한이유를파악하기위해테스트프로세스변동의원인식별및분석, 변 동의원인이식별되었을때어떤조치가필요한지결정 5) 선정된테스트프로세스의성과모니터링 테스트프로세스성과목표를측정된속성의경계선과비교, 주기적으로성과를리뷰 하여테스트프로세스성과목표달성진척도평가, 개선이필요한테스트프로세스역 량을식별하고문서화, 테스트프로세스역량의개선에필요한조치사항을결정하고 문서화 06
SW 공학트렌드 동향분석 Webzine 4.3. 통계적기법을활용하여테스팅수행 1) 운영프로파일개발 고객프로파일을개발함, 사용자프로파일을개발함, 시스템모드프로파일을개발함, 기능프로파일을개발함, 운영프로파일을개발함, 운영프로파일을이해관계자와리뷰 2) 통계적으로선택된테스트케이스생성과수행 개발된운영프로파일에근거하여제품사용에대한샘플링, 샘플링결과에기반하여 테스트케이스생성, 이해관계자와테스트케이스리뷰, 테스트케이스를수행하고실행 결과기록, 테스트커버리지가실제사용현황을나타내는지모니터링, 테스트결과를 분석하여통계적결론을도출함 3) 테스트종료결정을위한통계적테스트데이터적용 장애의심각도수준정의, 테스트종료기준으로사용될수있도록정량적신뢰성목 표정의, 신뢰성목표를이해관계자와리뷰, 적절한신뢰성성장모델선택, 장애에관 한통계적데이터를수집하고실행시간을계획함, 신뢰성성장모델을사용하여신뢰 성측정결과를도출하고추정함, 신뢰성목표대비현황을이해관계자와리뷰함, 리뷰 결과, 액션아이템그리고종료의사결정을문서화함 Ⅴ. 품질관리프로세스구축가이드 품질관리프로세스구축에도움이되고자프로세스구축가이드를예시와함께제시 하고자한다. 조직이나프로젝트상황에따라다양한산출물의종류와결과가도출될 수있으며, 실제프로젝트적용시에는더욱복잡하고다양한결과가도출될수있음에 유의하기바란다. 5.1 통계적으로관리되는테스트프로세스구축 1) 테스트프로세스성과목표및성과메트릭 테스트프로세스성과는테스트프로세스수행결과의정량적측정및분석데이터를 의미하는데, 크게프로세스성과, 제품품질성과, 서비스품질성과로구분할수있다. 07 2015 March (No.126)
인사이드이슈 프로세스성과지표항목으로테스트시간 (Test lead time), 노력 (Test effort), 비용, 테 스트케이스의숫자, 테스트케이스실행률, 테스트성숙도수준을들수있고, 품질성 과지표항목으로발견결함의숫자, 결함심각도 / 우선순위별결함숫자, 결함밀도, 결 함발견율 (Defect detection percentage), 결함해결률 (Defect removal percentage), 테스트커 버리지, 요구사항커버리지, 신뢰성측정치등을들수있다. 2) 테스트프로세스성과베이스라인및관리도 테스트프로세스성과베이스라인은통계적기법을사용하여해당프로세스활동을 모니터링하여이상원인을찾아내고조치하여프로세스가일정수준을안정적으로유 지할수있도록하는데사용된다. 테스트프로세스성과베이스라인의예로결함밀도, 생산성, 비용변동, 일정변동, 공정시간 (time to market), 고객만족도등이있다. 상한및하한관리경계선을도출할 수있는도구로관리도, 히스토그램, 런차트, 신뢰구간, 예측구간등을활용할수있 다. 또한, 변동의원인을분석할때사용할수있는기법으로특성요인도, 실험계획법, 관리도등이있으며, 일반적으로관리한계를결정할때 2 또는 3 시그마를선택 [14] 한 다. 이러한관리도이외에도소프트웨어신뢰성성장모델을적용하여테스팅프로세스 를관리하는관리도연구 [17] 도나타나고있다. 5.2 통계적기법을활용하여테스팅수행 1) 운영프로파일 운영프로파일은시스템운영상의사용현황을분석하여시스템운영데이터를통계 적기법을적용하여구성한다. 운영프로파일은고객프로파일, 사용자프로파일, 시스 템모드프로파일, 기능프로파일, 운영프로파일의 5 단계를거쳐도출된다 [18]. 운영프로파일의확률분포정보를기반으로테스트케이스를선택하여테스트하는 데주로신뢰성모델이활용되며결론도출을위해통계적표본이사용된다. 정보관리, 정보검색및정보인쇄를하는애플리케이션을예로들어마르코프모델 (Markov model) 3) 기반운영프로파일분석결과를예시하면표 3 과같다. 표 3을시스템상태정보를기준으로도식화하면그림 4 와같다. 3) 마르코프속성을가지고있는확률론적모델, http://en.wikipedia.org/wiki/markov_model 08
SW 공학트렌드 동향분석 Webzine 표 3_ 운영프로파일예시 Main Menu Manage the Information Operation State(From-to) Occurrence probability Main Menu - End of Termination 0.10 Main Menu - Print the Information 0.20 Main Menu - Search the Information 0.45 Main Menu - Manage the Information 0.25 Sum 1 Manage the Information - Add 0.30 Manage the Information - Edit 0.50 Manage the Information - Delete 0.20 Sum 1 그림 4_ 운영프로파일다이어그램예시 운영프로파일에서도출된확률분포정보이외에도심각도정보를추가로반영하여 테스트케이스를할당 [19] 할수있다. 소프트웨어품질을평가하는샘플링방법으로단순무작위샘플링, 가중샘플링, 경 계샘플링, 무효 (invalid) 샘플링등이있다 [3]. 위와같이운영프로파일및통계적으로선택된데이터기반의테스트활동이이루어 지면, 시스템에서리스크높은부분에더욱많은테스트케이스와테스트데이터를할 당할수있어, 리스크높은부분에강도높은테스트를진행할수있는효과가있다. 2) 신뢰성성장모델 신뢰성 (reliability) 은 ISO/IEC 25010 품질모델의주특성의하나로시스템, 제품혹은 구성요소가명시된기간동안명시된조건에서장애없이명시된기능을작동할수있 는소프트웨어제품의능력을의미한다. 09 2015 March (No.126)
인사이드이슈 신뢰성성장모델은통계적예측모델의하나로발견결함수, 결함발견시간데이터 를근간으로소프트웨어결함발견과수정활동을체계적으로분석하여미래를예측하기 위한모델로도활용되고있다. 신뢰성성장모델은분석대상의유형에따라크게정적 모델 (Static model), 기본모델 (Basic model), 대수형포아송모델 (Logarithmic poisson model) 로구분된다 [14]. 신뢰성성장모델은비동질적포아송과정 (NHPP: nonhomogeneous Poisson process) 에기반하여개발된 [20] 신뢰성분석도구 4) 를활용하여도출가능하다. 이처럼통계적테스트프로세스관리활동을통해현재까지의테스트프로세스활동 의성과를반영하여소프트웨어품질수준을예측하고, 이를기반으로목표수준의품 질을확보할수있도록사전에필요한조처를할수있게된다. 이것은품질관리자의 입장에서아주강력한관리수단이며, 특히경영층의추가지원을이끌어내는데에도 정량적의사결정수단으로활용될수있을것이다. VI. 결론 본원고에서제안하는바와같이품질관리프로세스가성공적으로이행될경우의기 대효과는다음과같다. 전사품질및테스트전략과연계된정량적테스트프로세스성과목표수립 테스트프로세스성과목표달성을위한체계적테스트활동기반구축 테스트종료의사결정에대한의미있는근거제시 테스트성과목표의정량적관리및향후추세예측 예측결과에기반하는정량적의사결정 경영층설득을위한정량적프로세스데이터확보 지속가능한테스트프로세스활동및개선에기여 테스트팀외부에서테스트활동에대한공학적가치인식 테스트팀내부에서테스트활동의가치인식및테스트업무에대한동기부여 무엇보다도위와같은성과를낼수있으려면조직에서프로젝트의테스트프로세스 4) SRATS(Software Reliability Assessment Tool on Spreadsheet Software), http://www.srat-app.com/sr ATS/ 10
SW 공학트렌드 동향분석 Webzine 성과데이터를지속해서수집하고분석하는노력이필수적이다. 테스트프로세스성과 데이터로결함데이터가대표적인데국내조직에서개발단계의결함데이터는비교적 수집을잘하고있는편이지만, 운영단계에서의체계적결함수집활동은잘이루어지 지못하고있어이의개선이필요하다. 안정적품질관리프로세스구축과유지를위해서는결함데이터이외에도여러가지 다양한정량적데이터수집활동이병행되어야한다. 데이터가통계적으로유의미한수 준으로축적되었을때, 비로소통계적기법의적용과분석을할수있다. * 본원고는해당논문의요약본임에따라자세한내용은논문원문을참조하시기바랍니다. 11 2015 March (No.126)
인사이드이슈 참고자료 [1] S.-R. Lee, Modern Quality Management, Beopmunsa, Paju-si, 2012 (in Korean) [2] K.-T. Kwon, C.-S. Wu, New Quality Metric for Statistical Software Quality Control, Journal of KISS, Vol.17, No.6, pp. 731-741, 1990 (in Korean) [3] M.-C. Riew, S.-T. Rim, S.-C. Chung, S.-D. Lee and S.-K. Shin, An Evaluation of Software Product Quality Using Statistical Quality Control, Journal of information technology applications & management, Vol.3, No.4, pp. 119-134, 2001 (in Korean) [4] J.-Y. Kim, "A Study for grafting 6sigma on CMMI to improve System development processes through SI cases", Konkuk University, Master's thesis, 2006 (in Korean) [5] O.-K. Song, "A study of Applying CMMI and Six Sigma in Software Process Improvement", Konkuk University, Master's thesis, 2005 (in Korean) [6] M.-K. Kwak, A Study on Software Development Effort Allocation using Defect Prediction Performance Model based on CMMI, Korea University, Master's thesis, 2008 (in Korean) [7] M.-S. Kim, Design of a defect prediction performance model for integration testing based on CMMI, Korea University, Master's thesis, 2010 (in Korean) [8] S.-J. Park, "Software reliability growth model using test coverage", Gyeongsang National University, Ph.D. Dissertation, 2002 (in Korean) [9] I.-S. Park, "Study on the Reliability Evaluation Method using Software Reliability Growth Model", Hoseo University, Ph.D. Dissertation, 2006 (in Korean) [10] D.-H. Jung, "A study of Bayesian software Reliability Growth Model", Chosun University, Master's thesis, 2011 (in Korean) [11] S.-H. Kim, "Logarithm Regression Coefficient Model to Evaluate the Reliability of an Application Software", Dong-A University, Ph.D. Dissertation, 2011 (in Korean) [12] S.-G. Kim, B.-S. Ko, S.-H. Cho, S.-E. Lee, "Analysis of Relationship between Software Engineering Levels and Software Quality Costs", Journal of KIISE: Software and Applications, Vol.38, No.10, pp512-523, Oct. 2011 (in Korean) [13] CMMI Institute, Maturity Profile Reports, [Online]. Available: http://cmmiinstitute.com/resource/process-maturity-profiles (downloaded 2013, Nov. 23) [14] TMMi Foundation, Test Maturity Model integration (TMMi), Release 1.0, [Online]. Available: http://www.tmmi.org (downloaded 2013, Nov. 23) [15] H.-J. Noh, "Statistical Quality Control using Excel 2007", pp.6-7, Hanol Publishing, Seoul, 2011 (in Korean) [16] W. Osamu, "Quality management technique 75", trans. W.-W. Jung, pp. 146-185, Businessmap, Seoul, 2012 (in Korean) [17] S. Yamada, "Software Reliability Modeling: Fundamentals and Applications", Springer, 2013 [18] J. D. Musa, "Operational Profiles in Software Reliability Engineering", IEEE Software, Vol.10, Issue2, pp. 14-32, 1993 [19] K. S. Kumar, R. B. Misra, "Software Operational Profile based Test Case Allocation using Fuzzy Logic", Journal of International Journal of Automation and Computing, Vol.4, No.4, pp. 388-395, 2007 [20] J.-R. Lee, H.-J. Lee, D.-H. Kim, "A study of a scheme for obtaining the high-quality weaponry software by applying the TMMi process to partner's development process", Proc. of the Korea Computer Congress 2012, Vol.39, No.1B, pp. 89-91, 2012 (in Korean) 12