소프트웨어

[소프트웨어 품질, 이렇게 올렸다] ①투비소프트

심재석 기자
IT산업이 발전할수록 소프트웨어 품질의 중요성이 강조되고 있다. 토요타 리콜사태, 나로호 발사 실패, 교육행정정보시스템 오류로 인한 대혼란 등의 원인중 하나는 결과적으로 소프트웨어(SW) 오류였다는 지적이다.
SW 상의 아주 작은 실수 하나가 큰 문제를 야기하는 경우는 비일비재하다. 하지만 국내에서는 아직 소프트웨어 품질보증에 대한 인식도 부족하고, 어떻게 해야 할 지 방법을 모르는 경우도 많다.

이에 <디지털데일리>는 5회에 걸쳐 소프트웨어 품질관리 우수 사례를 소개하고 공유한다.<편집자주>


[디지털데일리 심재석기자] 기업용 리치인터넷애플리케이션 소프트웨어 업체인 투비소프트(김형곤)는 국내 중소소프트웨어 개발사로서는 드물게 CMMI(apability Maturity Model Integratio) 3단계 인증을 획득했다. CMMI는 카네기멜론 대학의 소프트웨어공학연구소(SEI)가 개발한 S/W품질 및 프로세스 성숙도를 평가하는 국제표준인증이다.

투비소프트가 CMMI를 획득한 것은 SW 품질에 대한 강한 의지를 나타낸다. CMMI 자체가 SW 품질을 보장하는 것은 아니지만, 상당수의 국산SW 업체들이 소홀히 하고 있는 SW 품질관리에 적극적으로 나서고 있음을 보여준다.

 

심지어 투비소프트는 CMMI 3단계 인증을 두 번 받았다. 원래 CMMI 인증은 3년마다 받아야 하는 것이다. 하지만 국내 기업들은 대부분 한 번만 인증 받고 거창하게 홍보하고 난 뒤 유야무야 되는 경우가 많다는 점에서 투비소프트는 주목해 볼 필요가 있다.

◆품질은 시스템에서...TOPS

투비소프트의 SW 품질관리의 핵심은 ‘탑스(TOPS)’라는 내부의 중앙 시스템이다. 탑스는 요구사항 접수부터 개발,형상관리,배포까지 관리되는 중앙의 관리시스템이다. 고객지원부서에 고객의 요구사항이 접수되면 탑스에 이 내용이 올라가고, 연구소에서 이를 보고 분석해 우선순위를 정한다. 이후 요구사항에 대한 기능이 개선되면 품질관리팀에서 이를 검증한다. 최종 확정되면 다시 탑스에 올라가고 고객지원부서에서 이를 토대로 고객에 배포한다.

투비소프트는 한 달에 한번씩 제품의 패치를 정기배포 하는데, 탑스가 없다면 이 같은 일정을 맞추는 것이 불가능할 것이라고 관계자들은 입을 모은다.

탑스라는 시스템을 이용하는 가장 큰 장점은 구체적인 내용을 사이에 두고 의견을 조율할 수 있다는 점이다. 투비소프트 QA그룹 홍성호 그룹장은 “탑스 없이 고객지원-개발-품질보증 부서가 회의를 하면 결론을 내리지 못하고 24시간 동안 회의만 하게 될 것”이라고 말했다.

탑스의 중요성이 높아지고 의존도가 커지다 보니까, 시스템 용량이 초과돼서 느려지거나 서게 되면 모든 개발관련 업무가 중단되는 역효과가 발생할 정도다.

탑스의 또 다른 장점은 데이터를 축적해 나간다는 점이다. 개발자의 생산성, 요구사항 처리율, 비정상 종료율 등 다양한 데이터가 탑스에 축적된다. 품질관리를 위한 시스템이지만, 단순히 품질관리에만 이용되는 것이 아니라 회사의 경영전략을 세우는데도 유용하게 활용될 수 있다.

◆”품질관리 없이는 고객 확장에 한계”

투비소프트가 처음부터 품질보증 및 품질관리에 적극적이었던 것은 아니다. 이 회사 역시 대다수의 국내 소프트웨어 업체들과 마찬가지로 처음에는 기능 개발에만 주로 중점을 두고, 품질에는 소홀한 면이 많았다고 한다.

하지만 개발자들이 매일 밤을 연구소에서 밤을 세워 제품을 개선하려고 해도 어느 정도 한계이상 발전하지 못하고 있다는 사실을 깨달았다. 연구소는 대부분 고객이 요구한 급한 기능을 만드는데 우선이었고, 눈코 뜰 새 없이 바쁘기 때문에 품질까지는 신경 쓰지 못했다.

이런 프로세스로는 고객을 확장하는데 한계를 맞을 수밖에 없었다. 개발부서는 일반적으로 제품을 출시하는 것까지만 고민하게 마련이다. 하지만 고객이 늘어나면 그로부터 요구사항이 들어오기 시작하고, 그 요구사항을 하나하나 받아들이다 보면 제품이 엉망진창이 되거나, 각 고객별로 별도의 제품이 만들어지기 시작한다.

투비소프트는 2007~2008년 이 같은 한계에 봉착하게 됐다. 결국 이런 문제 해결을 위해 경영진의 결단으로 품질보증(QA)을 위한 조직을 연구소 외부에 별도로 만들었다. 연구소 외부에 QA그룹을 설치한 것은 연구소 조직에 포함되면 쓴 소리를 할 수 없기 때문이다.

◆”개발자가 테스트? 테스트 전문가가 테스트”

홍 그룹장은 “품질관리에서 가장 포커스를 맞추는 부분은 테스트 전문가를 많이 배출하는 것”이라고 말했다. 그는 “개발자는 테스터할 수 있다고 생각하지만, 이는 착각”이라고 지적했다.

그는 “개발자는 테스트 업무를 배울 수 있는 기본 지식이 있는 사람일 뿐”이라며 “개발자들이 하는 테스트는 경험기반 테스트로는 개발된 내용을 검증할 수 없다”고 강조했다. “테스트는 테스트 기법을 사용해서 전문적으로 해야 한다”는 것이다.


투비소프트는 품질을 확보할 수 있도록 프로세스를 만드는 품질보증(QA)와 개발된 기능에 대한 검증을 하는 품질관리(QC) 부서를 나눴다. 또 테스트 팀도 테스트 기획 팀과 실제 적용해서 테스트 케이스를 만들고 샘플을 개발하는 팀, 테스트를 수행하는 팀을 구별했다.

주먹구구 식이 아니라 각각의 전문가들을 키우기 위한 것이다. 홍 그룹장은 “이렇게 안 하면 옛날 방식으로 테스트하게 된다”면서 “품질관련 직원들은 대부분 자격증을 소지하고, 전문가로 성장하도록 지원하고 있다”고 말했다.

특히 CMMI 3단계도 획득하고, 지난 5~6년간 꾸준히 품질관련 역량을 확보해 온 투비소프트이지만, 최근에는 외부 전문가로부터 품질에 대한 컨설팅도 받고 있다. 현재의 프로세스 및 역량을 검증하고, 부족한 부분을 향상시키기 위한 것이다.

홍 그룹장은 “SW품질이 해야 할 일중에 중요한 것은 기상대”라면서 “어떤 버그를 내재하고 있는지 제품에 대한 모든 정보를 고객에게 알리는 것”이라고 말했다.

<심재석 기자>sjs@ddaily.co.kr
심재석 기자
webmaster@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기
디지털데일리가 직접 편집한 뉴스 채널