[전문가 기고]개발과 품질, 애증 관계에 대한 고찰

[전문가 기고]개발과 품질, 애증 관계에 대한 고찰

소프트웨어(SW) 개발에서 개발자와 품질은 사실 애증의 관계다. 결과에는 큰 차이가 없는데 추가 작업을 요하니 손도 많이 가고, 신경 쓸 것도 많고, 시간과 돈도 든다. 한마디로 귀찮다.

정보기술(IT) 산업 초기에 최대한 많은 업무를 자동화하려 했고, 생산성이 무엇보다 중요해 소프트웨어(SW) 품질은 그다지 고려 대상이 아니었다.

그러나 새로운 시대를 맞으며 개발된 제품 자체에 관심을 갖게 되면서 특히 항공기, 자동차, 의료, 금융 등 사고 발생 시 천문학 규모의 처리비용이 발생하는 분야를 중심으로 품질이 중요 요소로 인식되기 시작했다.

소비자 욕구가 단순한 동작뿐만 아니라 '제대로' 또는 '잘' 돌아가는 제품을 원하는 단계로 진화하다 보니 '믿을 수 있는 SW'를 만들어야 한다.

많은 개발자가 SW 품질을 어떻게 하면 잘 보장할 수 있을지 고민하기 시작했고, 그래서 생긴 개념이 ISO 900X 또는 ISO 20000이다.

국내에서도 2000년을 전후해 주요 SW사를 중심으로 ISO 인증 열풍이 불었다. 그러나 급히 먹은 떡은 체하기 마련인 것처럼 당시 시스템 사용 자체가 어렵고 절차도 복잡, 여간 불편한 것이 아니었다.

또 아무리 절차를 세세하게 규정하고 엄격히 통제한다 해도 관련 품질 인증 도구들이 서로 연동되지 않고, 성능 및 기능상에도 문제가 있어 신뢰도가 높지 않은 것이 현실이었다.

이에 따라 제품 자체 검증이 필요하게 됐고, 코딩 표준 준수 여부나 위험한 명령 및 함수 사용 여부 등을 점검하는 품질 보증 기법이 도입됐다.

여기에 더해 SW 개발이 대규모화하면서 품질 관리를 위한 정량 기준이 필요해졌고, 이를 통해 관련 인력 및 투입 시간 등 한정된 자원을 효율 사용하려는 움직임이 일기 시작했다.

그 결과 인증된 도구 및 규격에 따라 최종 제품에 대한 품질을 분석, 일정 수준 이상의 품질을 보장하는 객관화된 정량 측정 방법이 고안됐다.

자동화된 도구로 정해진 지표를 기계로 측정하는 이러한 방법은 사람에 의한 관리로 측정 편차를 줄일 수 있고 비용 효율화도 이룰 수 있어 자본 시장 IT 인프라를 담당하는 코스콤뿐만 아니라 다른 기업들도 도입에 나서고 있는 추세다.

이러한 품질 관리를 위한 테스트는 시스템 측면뿐만 아니라 데이터 영역에서도 이뤄진다. 규정된 절차를 지켜 개발한 프로그램도 내부에서 문제가 발생할 수 있기 때문이다.

잘 짠 시스템 위에 올라가는 콘텐츠, 즉 데이터가 문제없는지 살펴보는 것이다. 이렇듯 데이터 구조와 값을 측정하고 관리하는 것을 데이터 품질 진단이라고 한다.

데이터 구조 진단은 무결성 및 표준화 등을 점검하는 것으로, 동일한 이름의 칼럼(column)이 테이블마다 다른 형식으로 선언돼 있다든가 테이블 간 일치하지 않는 것이 존재하는지 등을 확인하는 과정이다.

이와 함께 형식이나 값이 잘못된 데이터는 있는지, 사용된 서식으로는 어떤 것들이 있는지 등을 점검하는 데이터 값 진단도 있다.

이처럼 비효율 측면을 개선하려는 여러 노력과 움직임에도 SW 설계부터 실제 개발까지 전 과정에서 이뤄지는 품질 관리는 어쨌든 개발자 입장에선 귀찮은(?) 존재임에는 분명하다.

잘하자니 힘들고 안 할 수는 없는 품질 관리. 이는 더 나은 서비스 및 상품 제공을 위한 첫걸음이자 지름길로, 피해 갈 수 없다면 즐길 수밖에 없다. 모든 애증의 관계가 그러하듯.

박태영 코스콤 품질관리부 선임연구원 party@koscom.co.kr