[CIOBIZ+] Analysis- CIO에게 새롭게 요구되는 SW 품질 패러다임

관련 통계자료 다운로드 소프트웨어 개발 주기 내 버그 수정 비용

IT융합 시대를 겪고 있는 최고정보책임자(CIO)와 최고경영자(CEO)에게 요구되는 새로운 품질 패러다임을 이해하기 위해서는 최근 우리 사회에 가장 화제가 되고 있는 두 가지 사건, 즉 도요타 자동차의 가속페달 문제와 앱스토어로 대변되는 스마트폰 열풍을 예로 들 수 있다.

도요타자동차의 가속페달 문제는 ‘품질의 도요타 자동차’가 원가 절감이라는 단기 목표 때문에 품질 경영이 일순간 소홀해지면서 발생했다. 문제의 원인은 전자장치 제어 소프트웨어(SW)인 것으로 밝혀졌다. 이는 품질 관리 측면에서 아주 중요한 몇 가지를 일깨워 주고 있다. 거대 기업도 단 한 번의 품질 사고로 위태로워질 수 있다는 것, 품질 관리는 지속적이면서도 신중하게 이루어져야 한다는 것 그리고 IT융합 시대에는 하드웨어(HW)뿐만 아니라 SW 품질 보증을 위한 새로운 노력이 필요하다는 것이다.

◇전자기기와 자동차도 SW 중요한 IT융합시대 도래=지금까지의 제조업은 HW 위주로 발달해 왔으며 제품의 품질 보증 역시 어느 정도 높은 단계에 도달해 있다. 도요타자동차의 품질 명성은 이러한 HW적 시대에 이루어진 것이었다. 그러나 요즈음의 제품 제조에서는 SW 융합도가 갈수록 높아지고 있으며, 과거와는 달리 SW 품질 보증을 위한 지속적이고 과감한 투자가 요구된다. 이러한 SW 품질에 대한 투자는 임베디드 시스템 분야뿐만 아니라 고객의 소중한 자산을 관리하는 금융업, 중장기적으로는 SW를 다루는 모든 기업들에서 이루어져야 할 것이다.

SW의 품질 보증이 HW 경우에 비해 더 어렵고 힘든 이유는 SW의 경우 테스트 케이스가 훨씬 많고 테스트 방법 역시 복잡하고 어렵기 때문이다. 예를 들어 SW는 HW와 달리 추가 개발을 할 때마다 기개발된 선행 모듈과의 결합 테스트를 진행하는 회귀적 기법(regression test)을 필요로 한다. 따라서 효과적인 SW 품질 보증을 위해서는 다양한 테스트 도구들이 반드시 필요하다. 이들 도구들은 대부분 높은 초기 투자 비용을 요구하지만 장기적으로는 품질 관련 비용을 절감할 수 있도록 해준다.

SW 테스트 도구들에는 △단순하고 반복적인 기능 시험을 자동화하여 품질 비용을 낮추기 위한 테스트 자동화 도구 △프로그램을 자동으로 분석하여 내재된 오류들을 찾아 주는 정적 프로그램 분석 도구 △단위 모듈의 테스트 케이스를 자동으로 생성해 주고 문제 발생 시 프로그램의 해당 위치를 알려 주는 단위모듈 동적 테스트 도구 △테스트된 부분이 프로그램 소스의 어느 위치에 해당하는지를 알려주고 프로그램 소스의 테스트 정도를 알려주는 도구 등이 있다.

이들 도구들이 SW 품질 비용 절감에 어떻게 활용되는지를 알아보기 위해 정적 프로그램 오류 분석기의 예를 살펴보자. 그림은 프로그램 오류 수정 비용을 개발 단계에 따라 상대적으로 보여주고 있다. 상식적인 이야기이지만 제품 출시 후 발견된 오류 수정 비용은 개발 단계 때보다 5배 이상 든다. 프로그램 초기부터 프로프로그램을 실행하지 않고 자동으로 오류를 찾아주는 정적 오류 분석기를 활용할 경우 많은 오류들이 개발 단계에서 확인, 수정될 것이며 품질 보증(QA) 비용도 훨씬 감소할 것이다.

◇SW 품질 테스트는 프로세스로 내재돼야=국내 삼성전자, LG전자 등에서는 이미 QA 단계에서 정적 분석기를 적용하도록 강제함으로써 제품 출시 후 발생할 수 있는 프로그램 오류 사고를 예방하고 있다. 항상 촉박한 일정 속에 움직이는 개발 조직에게 이와 같은 프로세스를 도입하여 정착시키는 것은 힘든 일이며 이러한 노력이 있었기에 이 글로벌 기업들은 오늘날의 명성을 얻을 수 있었을 것이다.

하지만 한 발 더 나아가 개발자들이 직접 정적 분석기를 실행할 수 있도록 한다면 보다 많은 비용 절감 효과를 얻을 수 있을 것이다.

도요타의 품질 사고보다 더 뜨거운 이슈가 애플 스마트폰과 앱스토어다. 애플의 성공은 내 손 안의 스마트폰에 제조사나 통신사가 아닌 불특정 다수가 만든 애플리케이션을 구매하여 사용할 수 있게 한다는 발상의 전환에서 시작했고 현재 많은 이들에게 새로운 기회를 제공하고 있다.

이러한 시도는 SW 품질 보증 측면에서는 새로운 숙제가 되고 있다. 즉, 지금까지 내부적으로 만든 프로그램을 기업 자체 시스템에서 운영·배포해 왔으나 앱스토어의 방식은 외부에서 만든, 프로그램 소스도 없는 애플리케이션을 내부 시스템에 운영·배포하게 된다. 이러한 새로운 방식에 대응하기 위해서는 외부 프로그램을 받기 전에 품질을 자동으로 검사하거나 프로그램 소스가 없는 응용 프로그램 테스트를 효과적으로 수행하기 위한 방법론 및 도구를 필요로 한다. 지금까지와는 또 다른 테스트 방식 및 도구를 필요로 하고 있는 것이다.

소프트웨어 품질 보증에 대한 요구가 갈수록 높아지는 시점이다. 세계 수준의 SW 개발을 위해 정부에서 1조원을 투자한다고 한다. 세계 1등이 되기 위해서는 여러 가지가 필요하겠지만 세심하게 제품의 하나하나를 완성해 나가고 품질을 보증하는 장인 정신이 밑바침되어야 할 것이다. 테스트 도구에 보험을 들어보는 것도 좋은 방법이다.

박현선기자 hspark@etnews.co.kr


브랜드 뉴스룸