Special Theme 소프트웨어품질평가 Special Report 3 안유환 1. 머리말자동차, 가전제품, 모바일등대부분의시스템에서소프트웨어의비중이현저히증가하고있고, 향후소프트웨어의규모나복잡도가기하급수적으로증가할것으로예측되고있어, 소프트웨어결함과같은품질문제로인해발생하는사회적 / 경제적문제와비용의규모도동시에늘어나고있다. 최근소프트웨어품질을향상시키고조직의개발능력, 생산성을증가시키기위한하나의방법으로, 소프트웨어프로세스관점에서접근하고자하는시도가많은분야에서이루어지고있다. 본고는이러한소프트웨어품질개선기술의목적과기술및시장동향을살펴보고자한다. 2. 소프트웨어품질개선기술개요소프트웨어개발의실패및품질문제의해결책은인력, 기술, 프로세스의 3가지중요요소를포함하고있으 나, 인력 / 기술 / 절차를통합하여주는것이프로세스이기에프로세스가가장중요하다 [7]. 소프트웨어품질과생산성을개선하기위한전사적프로세스접근방법중에가장대표적인것이소프트웨어프로세스심사및개선방법이며, 소프트웨어프로세스심사를통해소프트웨어개발및유지보수프로세스가현재어떤상태에있는가를판별하고이를기반으로도달해야할목표를타조직과의벤치마킹을포함해설정하고개선에착수하는방법이다. 이방법은프로세스개선프로그램이소프트웨어개발능력의성숙도를높이면제품의품질을향상시킨다는가정과경험치에근거를두고있다. 실제로대표적인소프트웨어프로세스심사모형인 CMMI(Capability Maturity Model Integrated) 를통한개선효과를보면, CMMI 성숙도수준 (Maturity Level) 2 달성시에프로젝트관리능력이향상되며, 품질개선 ( 결함감소 ) 10%, 일정단축 10%, 비용 8% 의개선효과를보이며, CMMI 성숙도수준 3 달성시에는시스템공학기술이향상되어, 일정단축 38%, 비용 35% 절감효과를보 TTA Journal Vol.149 047
인증기관 인증방법 인증주체 < 표 1> 국내외소프트웨어프로세스심사및인증제도비교 구분 SP인증 ( 국내 ) CMMI( 해외 ) SPICE( 해외 ) 주관 미래창조과학부 SW공학연구소 (CMU/SEI) ISO/IEC 운영및관리 NIPA SW공학센터 SEI, CMMI Institute ISO/IEC JTC1 SC7 WG10 국내기준 시장표준 ( 미국 ) 국제표준 특징 조직능력성숙도평가 조직능력성숙도평가 프로세스별능력성숙도평가 단계적모형 단계적모형, 연속형모형 연속형모형 등급 ( 단계 ) 3단계 (1~3 등급 ) 5단계 (Level 1~5) 6단계 (Level 0~5) 프로세스영역분류의차별성 프로젝트관리, 개발, 지원, 조직관리, 프로세스개선 Process Management, Project Management, Engineering, Support 프로세스참조모형 (PRM: Process Reference Model) 에따라다름 심사방법 SW 프로세스품질인증심사방법 SCAMPI A SPICE 호환심사방법 심사대상 ( 증거유형 ) 문서와인터뷰문서와인터뷰문서와인터뷰 인증유효기간 3년 3년 존재하지않음 심사원 선임심사원 ( 외부 )+ 심사원 ( 외부 ) 선임심사원 ( 내 / 외부 )+ 심사원 ( 주로내부 ) 선임심사원 ( 외부 )+ 심사원 ( 외부 ) 심사및인증 인증기관 선임심사원을확보한기업 지역시행인증센터 (LTC), 선임심사원양성및관리 전문기관 (NIPA SW 공학센터 ) SW 공학연구소 (CMU/SEI) 지역시행인증센터 (LTC), intacs, IntRSA 이고, 결함도 1/3 정도로감소함을보이고있다 [5]. 그리고소프트웨어프로세스개선노력을포함한예방및평가비용을고려하더라도, 실패비용을고려한전체품질비용은소프트웨어개발능력의성숙도가높아질수록낮아짐을알수있다 [1]. 소프트웨어프로세스심사및개선을위한심사및인증제도로국제적으로활용되는것은미국카네기멜론대학의 SEI(Software Engineering Institute) 에서개발한 CMMI[6] 가있고, 많은비슷한모형들의한계점을극복하여장점을흡수하면서조직유형및프로젝트규모에독립적인프로세스심사를위한국제표준으로제정되어있는 ISO/IEC 15504( 일명 SPICE) 도있다 [3]. 국내에서도소프트웨어프로세스심사및개선을통한소프트웨어품질개선이필요성이대두되어소프트웨어프로세스품질인증 (SP 인증 ) 제도가활용되고있다. 이러한소프트웨어프로세스심사및인증제도를 < 표 1> 과같이요약하였다. 3. SPICE 표준화및기술동향소프트웨어프로세스평가및개선을위한모형으로는 CMM(Capability Maturity Model) 을비롯하여 캐나다의 Trillium, 유럽의 Bootstrap 등의많은모형이제시되었다. 그러나이러한모형들은다양한소프트웨어개발환경을고려하지않고특정조직, 특정프로젝트유형을위한모형으로개발되었기때문에이모형을그대로적용하여사용하기는어렵다. 기존의여러가지모형을통합하여사용할수있는체계로서 SPICE (Software Process Improvement and Capability determination) 모형이제안되어현재 ISO/IEC 15504 표준으로제정되어있다 [4]. SPICE 는 10개의파트로구성되어있으며참조모형 (Part 2) 과예시심사모형 (Part 5) 을제시하고있고, 프로세스개선을위한지침등을제공하고있다. SPICE 참조모형은 [ 그림 1] 과같이프로세스차원과능력차원으로구성되어있다 [5]. 프로세스수행능력에대해 SPICE에서는 0~5 단계의 6개의능력수준을제시하고있으며, 능력의측정은 9개의프로세스속성 (PA: Process Attribute) 의집합에근거하여간접적으로이루어진다. 심사의대상이되는프로세스차원은여러프로젝트유형에적합한프로세스모형의적용이가능하도록프로세스참조모형 (PRM: Process Reference Model) 으로구성한다. 즉, SPICE 모형은프로세스심사및개선모형의준 048 09/10 2013
측정프레임워크 (Measurement Framework) 능력수준 (Capability Levels) 프로세스속성 (Process Attributes) 등급판정척도 (Rating Scale) mapping 능력척도 (Capability Scale) 프로세스심사모델 (Process Assessment Model) 1 2 3... n 프로세스개체 (Process entities) mapping 프로세스참조모형 (Process Reference Model) 도메인및범위 (Domain and Scope) 목적및성과를가진프로세스 (Processes with Purpose and Outcomes) [ 그림 1] SPICE 의 2 차원참조모형 < 표 2> SPICE 의예시적프로세스심사모형 표준번호 ISO/IEC 15504-5:2012 ISO/IEC 15504-6:2013 ISO/IEC TS 15504-8:2012 ISO/IEC TS 15504-10:2011 프로세스심사모형 Part 5: An exemplar software life cycle process assessment model Part 6: An exemplar system life cycle process assessment model Part 8: An exemplar process assessment model for IT service management Part 10: Safety extension 거표준으로이러한 2차원의측정프레임워크및프로세스참조모형에적합한심사모형및심사방법을만들어사용할수있게한다. 현재 ISO에서는 ISO/ IEC 12207 소프트웨어생명주기프로세스, ISO/IEC 15288 시스템생명주기프로세스표준등에근거한예시적인심사모형을 < 표 2> 와같이제시하고있다. 심사모형에서는각프로세스속성의달성여부를심사할수있는근거로서필요한지표 (Indicators) 를프로세스별로제시하고있다. 이러한지표에는기본활동 (BP: Base Practice), 작업산출물 (Work Product), 공통활동 (Generic Practice), 공통자원 (Generic Resource), 공통작업산출물 (Generic Work Product) 등을제시하고있다. 현재 SPICE 표준을개발하고있는 ISO/IEC JTC1/ SC7 WG10 에서는 ISO/IEC15504 의전체표준파트들을 330xx 시리즈로개편하고있으며측정프레임워크의변경등을포함한필요한표준들을개발하고있 다. 또한산업분야 / 도메인특정 SPICE 모형들도개발하고있어, 항공, 자동차, 의료, 컴포넌트기반개발, IT 인프라관리등의분야에서심사모형과프로세스참조모델을만들어심사에활용하고있다. 국제적으로 SPICE 심사원자격의국제적인통용을위하여 intacs와 IntRSA에서심사원자격기준및시험을주관하고있으며, 국내에서는 KSPICE(Korea SPICE) 가심사원양성을 KAPA(Korea Association of Process Assessors) 가심사를주관하고있다. intacs 내 Automotive SPICE 선임심사원은 40여명이며현재 4,000 여건이상의자동차분야 SPICE 심사가활발히이뤄지고있으며, 의료및항공분야도점차확대중이다. 4. CMMI 기술및시장동향 CMMI는미국국방부가발주한소프트웨어프로 TTA Journal Vol.149 049
Level 1 Initial Level 2 Managed 성숙도수준 Process Area CL1 CL2 CL3 프로세스특징 None Requirement Management(REQM) Project Planning(PP) Project Monitoring and Control(PMC) Supplier Agreement Management(SAM) Measurement and Analysis(MA) Process and Product Quality Assurance(PPQA) Configuration Management(CM) Profile 2 프로세스는예측불가능하고통제가되지않으며 Reactive 함 Disciplined process: 프로젝트관리를위한기본적인프로세스정립 Level 3 Defined Requirement Development(RD) Technical Solution(TS) Product Integration(PI) Verification(VER) Validation(VAL) Organizational Process Focus(OPF) Organizational Process Definition(OPD) Organizational Training(OT) Integrated Project Management(IPM) Risk Management(RSKM) Decision Analysis and Resolution(DAR) Profile 3 Standard, consistent Process: 프로세스는조직차원에서특성화되고 Proactive 함. 조직표준프로세스를완전하게정립하고측정함 Level 4 Quantitatively Managed Level 5 Optimizing Organizational Process Performance(OPP) Quantitative Project Management(QPM) Organizational Performance Management(OPM) Causal analysis and Resolution(CAR) Profile 4 Profile 5 Predictable process: 정량적인프로세스 / 제품측정결과를토대로개선 Continuously improving Process: 지속적 / 정량적개선에초점 [ 그림 2] CMMI 의성숙도와프로세스영역및프로세스특징 젝트의품질및납기문제를해결하기위해, 소프트웨어개발조직이높은품질의소프트웨어를일관성있고예측가능하게생산하는능력을정량화하고자하는시도로탄생하였다. 미국국방부는 1984 년카네기멜론대학에소프트웨어공학연구소 (SEI: Software Engineering Institute) 를설립하였고이 SEI에서 1991 년에 CMM(Capability Maturity Model) 이라는개발능력성숙도모형을발표하였다. 2000 년 8월에는 CMM 관련여러제품을통합하고국제표준에호환적인모양을갖추기위하여 CMMI(CMM Integrated) 를발표하였고, 현재는 2012 년에발표된 CMMI V1.3 을사용하고있다. CMMI 는소프트웨어개발과정에서의비용, 품질, 일정등모든것을충족시키며특정성숙도레벨로진입하기위한조직의프로세스에대한최소한의기준과반드시수행해야할활동들의집합을단계적으로제시한프로세스성숙도향상을위한모형이다. [ 그림 2] 와같이, 각성숙도수준은단계별로비즈니스목표를성취하기위해필요한프로세스영역 (Process Area) 을정의 한다. 각프로세스영역 (Process Areas) 별로고유목적 (SG: specific goals) 와공통목적 (GG: generic goals) 의달성정도를측정함으로써프로세스능력수준의성숙도를나타낼수있다. 각영역별목표를달성하는데판단의근거가되는고유활동 (Specific Practices) 와공통활동 (Generic Practices) 도제시하고있다. CMMI의발전과정을보면, CMMI 1.2 부터그동안많이지적돼온인증결과의신뢰도불신분위기를타개하기위해보다강화된요건이포함되어, 인증에대한유효기간제도도입과프로세스영역감소및모델단순화를이루었다. CMMI 1.3 에서는 CMMI 프레임워크에포함된제품세트 (Product Suite) 중에서 CMMI 모형은고수준성숙도를명확히하고, 심사방법인 SCAMPI(Standard CMMI Appraisal Method for Process Improvement) 과교육자료를개선하였다. 특히 CMMI for Development(CMMI- DEV), CMMI for Services(CMMI-SVC), CMMI for Acquisition(CMMI-ACQ) 의 3가지로구성된제품군 050 09/10 2013
(constellations) 에공통적인 16개의프로세스영역은서로잘조화하도록개선하였다. 그리고애자일방법론, 식스시그마, 소프트웨어제품라인개발 (Software Product Line) 등의최신기술에필요한접근방법을반영하였다. CMMI 는미국방성을포함한많은정부기관이소프트웨어개발입찰에참여하고자하는업체에게 3단계수준에도달하는것을요구하고있어많이사용되고있다. 북미에서는산업체에서도일반적으로활용되고있으며, 2006 년부터 SCAMPI V1.2/V1.3 심사방법으로심사한건수는전세계적으로 7,200 건이넘고있다. 5. 국내소프트웨어품질개선동향국내에서는소프트웨어프로세스개선을위해국내정보통신산업진흥원 SW공학센터에서소프트웨어프로세스 (SP: Software Process) 품질인증을실시하고있다. SP인증제도는소프트웨어기업및개발조직의소프트웨어프로세스품질역량수준을심사하여등급을판정하는제도이며, CMM 과 SPICE 를기반으로심사모형의성숙도수준을 3단계로조정하고, 심사방법을간략히하여중소기업이이를기반으로프로세스를쉽게개선하고인증심사비용을줄이고자하는목적으로도입되었다. NIPA 가 2009 년 SP인증제도운영기관으로지정된후 2009년도에는총 15건의심사 ( 획득 9건 ), 2010 년도에는총 16건의심사 ( 획득 12건 ), 2011은 16건, 2012 년에는 13건의인증심사가이루어졌다. 이중인증을받은총기업은 42개기관으로인증획득율은 70% 이다 [1]. SPICE 및 CMMI 심사도기존에국방, 전자, 자동차부분을중심으로국제적인경쟁력을갖고자하는업체들에의하여꾸준히실시되었으며, 특히최근에는자동차, 항공등의관련산업분야에서소프트웨어개발능력 심사를요구하고있어 CMMI 와 SPICE 심사의수요가늘어나고있다. 2013 년 8월에개정된 정보시스템구축 운영지침 에서소프트웨어프로세스품질인증기술평가항목을활용토록명문화 ( 제21 조 ) 함으로써소프트웨어프로세스심사결과가평가항목에확실히반영되기때문에 SP인증제도를비롯한 CMMI, SPICE 심사를통한프로세스개선에많은업체들이노력할것으로보인다. 소프트웨어프로세스심사및개선기술을바탕으로한국내소프트웨어품질수준을보면, 전세계적으로최근 5,550 건의 CMMI 심사결과중에서, 성숙도수준 2 는 24,6%, 수준 3는 63.3%, 수준 5는 4% 를차지하고있다. 국내에서도 2013년 3월까지 198건의 CMMI 심사가실시되어성숙도수준 2, 3, 5 가각각 68건, 107 건, 9건의결과를보여주고있다 [2]. 이는각각전체에서 34%, 54%, 4.5% 를차지하고있어, 심사를실시한기업의소프트웨어개발능력으로만보면, 세계수준에비하여크게뒤지지않는것으로보인다. 물론성숙도수준 5인기업이국내보다많은비중을차지하고있는미국이나인도에비해서는뒤처지고있는것이현실이다. 6. 맺음말본고에서는소프트웨어품질개선의방법으로최근그중요성이부각되고있는소프트웨어프로세스심사및개선기술의동향을살펴보았다. 협소한국내시장에서글로벌기업과의경쟁에서어려움을겪고있는국내소프트웨어기업들의현실을감안할때글로벌소프트웨어품질경쟁력확보를위한관심과노력이더욱절실하게요구된다. 특히, 국제적으로의료, 항공, 자동차산업등에서해당산업에적절한 SPICE 심사모형과방법을개발하고있는상황에서, 이에맞추어국제적공신력을확보한소프트웨어품질인프라구축은국제경쟁력확보를위한핵심요소가된다. TTA Journal Vol.149 051
최근 TTA 가 CMMI 레벨 3 이상을획득한기업제품 47 개를시험평가한결과, 평균결함수가 60.6 개에이르고, CMMI 를획득하지않은기업의소프트웨어평균결함수는 50.3 개로 CMMI 레벨 3을획득한기업보다결함수가오히려적다는것이다 [1]. 이는기업들이소프트웨어개발프로세스를표준화하지않아품질이향상되지않는악순환이반복되고있다는방증으로, 개발에맞춰프로세스를최적화하여내재화하려는기업도있지만상당수기업들은 CMMI 나 SPICE 등소프트웨어프로세스품질인증을받은후관련인력을해체하는등내재화작업이미흡했기때문인것으로판단된다. 이러한인증획득지상주의를버리고프로세스내재화를통한기업의품질역량향상이라는본래목표에부합하는지속적품질개선추진전략과함께기업의품질전문가육성노력이필요한것으로보인다. [ 참고문헌 ] 1 NIPA Software Engineering Whitebook Korea 2013 2013 2 CMMI Institute Maturity Profile Reports 2013 3 3 ISO IEC 15504 1 Information technology Process assessment Part 1 Concepts and vocabulary 2004 4 ISO IEC 15504 2 Information technology Process assessment Part 2 Performing an assessment 2004 5 Gartner Group Capability Maturity Model Special Edition 2001 6 Software Engineering Institute CMMI for Development Version 1 3 2010 7 W S Humphrey Managing the Software Process Addison Wesley 1989 정보통신용어해설 Hold Back [ 관리운용 ] 신작과구작의가격차별정책을펴기위하여신작을정액제서비스에서일정기간유예하는제도. 홀드백제도는배급사나제작사의수익을보장하기위하여신곡이나신작이나오면그것을일정기간정액제상품에포함할수없게하는제도로. 주로영화업계가실시하던제도였으나음반업계에서도도입하고있다. 052 09/10 2013