소프트웨어(SW) 제품은 임베디드 SW, 패키지 SW 등 여러 종류가 있지만, 모든 SW는 결국 고객의 구매와 사용 목적을 달성시키는 제반 기능을 얼마나 잘 제공하는가에 따라 시장경쟁력이 좌우된다.
따라서 SW 제품 개발에 있어 사용자가 원하는 기능을 심층 분석하고, 경쟁제품보다 더 큰 사용가치를 창출하도록 상세스펙을 창안해 문서화하는 활동이 선행돼야 한다. 이런 활동을 요구분석, 분석산출물을 요구스펙, 요구분석을 체계화하는 프로세스, 방법론 및 툴의 체계를 요구공학이라 부른다.
애플은 요구분석시 사용자가 필요로 하는 기능, 사용자에게 정말 중요한 기능, 사용자가 가장 편하게 느끼는 사용 시나리오를 최대한 명세화하는 데 많은 시간과 노력을 기울이고 있다. 여기서 제품경쟁력의 원천을 확보한다. 요구분석 과정에 사용자를 직접 참여시키고 수많은 사용성 테스트를 실시한다.
우리나라의 SW 제품 개발 현황을 살펴보면 요구 스펙의 작성 표준, 완성도, 상세도 등에서 많이 미흡하다. 한국 SW산업의 국제경쟁력 제고를 위해선 개선해야 할 여러 문제점이 있지만, 요구분석 역량의 확보와 요구스펙 기반의 개발 문화 정착이 문제해결의 첫 단추라고 본다.
현행 요구분석의 실패요인은 무엇인지, 그리고 해결방안을 살펴본다.
◇요구분석 위한 재교육 시급=우선 우리나라는 요구분석 기법의 전반적인 수정과 재교육이 필요하다. 1990년대 이후의 SW공학 방법론들, 즉 정보공학(Information Engineering), 유니파이드 프로세스, 애자일 프로세스들은 모두 요구분석에 있어 모델간의 상호의존관계를 정의하고 모델간의 일관성 확보를 강조한다. 이러한 원칙을 정보공학에서는 병행분석(Parallel Decomposition), 상호작용분석(Interaction Analysis)이라는 용어로 표현하기도 했고, 요즘은 메타모델로 상이한 모델 간의 상호의존관계를 명시한다. 예컨대 미국 국방성은 `DoDAF Meta-Model(DM2)`를 정의해 국방성 내 모든 모델링 작업에서 반드시 준수해야 할 모델 간의 일관성 확보 요건을 밝히고 있다.
메타모델 기반의 모델 간 일관성 확보 없이는 요구분석 결과를 개발의 기초자료로 활용하기 어렵다. 국내 많은 SW전문가들이 요구분석의 성과에 대해 회의적인 생각을 가지고 있는 이유는 바로 메타모델 기반의 모델링을 배운 적도, 해본 적도 없어 실패한 경험이 쌓였기 때문이다. 최근 국내 S기업이 사내 모든 분석자를 올바른 기법으로 재교육하기 시작한 것은 매우 고무적인 일이다.
이와 함께 프로세스, 데이터 등 개별 모델링의 실무역량 배양이 필요하다. 모델링 실무의 현황을 보면 잘못된 관행이 SW산업 전체에 고착돼 있다. 기업 정보시스템은 프로세스 리엔지니어링을 통한 경영혁신이 IT투자의 투자대비효과(ROI)를 창출하는 원동력이다. 하지만 많은 정보시스템 구축 프로젝트에서 기업의 현행 프로세스를 근본적인 재설계 없이 그대로 전산화하는 관행이 지속되고 있다.
미국에서는 1950년대부터 기업의 정보시스템 구축·활용이 시작됐지만, 1990년대에 이르러서야 소위 3차 산업혁명으로 일컬어지는 정보혁명이 일어났다. 1980년대까지의 정보시스템 구축 방식이 1990년대 들어 크게 바뀜으로써 일어난 현상이다. 현행 프로세스를 그대로 전산화하던 방식에서, 현행 프로세스를 무시하고 완전히 재설계하는 방식으로의 전환이었다.
우리나라는 기업의 정보시스템 구축이 1990년대에 본격화해 미국보다 40년 늦게 출발했다. 미국이 40년이란 세월 끝에 IT 기반 경영혁신의 능력을 갖추게 된 것을 감안하면, 우리나라 기업들이 20년간의 컴퓨터 활용 경험이 쌓인 지금, IT를 경영혁신의 무기로 활용하는 능력을 확보하고자 하는 것이 결코 수치가 아니다. 이러한 변화를 위해서는 프로세스 모델링, 재설계, 시뮬레이션, 시스템구축, 변화관리, 거버넌스, 모니터링, 최적화 등 프로세스 생애주기 전반에 걸친 구체적인 역량의 배양이 필요하다.
한편 데이터 모델링 관행을 살펴보면, 기업경영에 필요한 수많은 개념의 표준 정의, 경영활동 상의 정책 및 규칙을 반영하는 데이터 값의 제약조건 명시 등 비즈니스정보의 개념설계가 충분히 완성되지 않은 상태에서 바로 DB스키마 설계로 들어가는 잘못된 절차를 밟고 있다.
사실 개념모델을 완성한 후 기계적인 알고리즘으로 DB스키마를 자동 생성하는 게 보편적인 방법이다. 국내 많은 SW전문가들이 한국 고유의 왜곡된 방식을 따름으로써 프로세스 혁신과 결합된 비즈니스 정보의 창의적 설계나 데이터 품질을 보장하는 데이터 제약조건의 치밀한 설계를 못하고 있는 실정이다.
심지어 정보시스템의 도메인을 아는 분석자들이 데이터모델링 역량이 없어 데이터설계만 전문으로 하는 업체에게 데이터모델링을 하청하는 사례까지 나오고 있다. 이는 우리나라 일부 SW전문기업의 요구분석 역량수준이 고객 관점에서 상당히 위험한 수위에 이르고 있음을 시사한다.
◇BA 사내 자격인증제 도입 필요=우리나라는 도메인, 모델링 기법, 구현기술의 지식과 실무경험을 모두 갖춘 비즈니스분석가(BA)의 양성체계가 미흡하다. BA는 본인의 전문 도메인에서, 프로세스, 데이터, 유스케이스 및 서비스 모델링을 혼자 완벽한 일관성이 확보되도록, 또한 실행코드로 전환하는 데 미비함이 없도록 수행할 수 있어야 한다.
BA 사내 자격인증제도의 확립으로 BA가 갖춰야 할 지식, 교육이수, 프로젝트 실무경험, 산출물 자산화 실적 등의 자격요건을 투명하게 명시하고, 엄격한 심사를 통해 자격을 부여해야 한다. 마이크로소프트의 시니어BA 봉급이 평균 11만 달러를 상회한다는 걸 봐도 SW기업들의 BA 중요성에 대한 인식도를 엿볼 수 있다.
이러한 자격인증이 효과를 가지려면 사내에 요구분석 활동의 표준방법론, 산출물템플릿, 활용 툴, 교육과정들이 확립돼야 한다. MS, 애플, 구글, IBM, 액센츄어 등 서진 기업의 해당 제도를 포괄적으로 벤치마킹할 필요가 있다.
정부의 SW산업 진흥정책도 국내 SW산업의 근원적인 취약요소인 요구분석 역량의 결핍을 해소할 수 있는 지원제도를 강화해야 한다. △요구분석 교육과 연구 프로그램의 지원 △중소기업과 공공연구기관의 요구분석 역량확보 지원 △정부 발주 프로젝트에서의 요구분석 기준과 요구분석 산출물의 감리 기준 강화 등이 바람직하다.
특히 교육면에서는 요구분석에 필요한 도메인 지식, 분석기법 활용능력과 구현기술 이해가 융합적으로 훈련될 수 있는 학제간 종합프로그램이 필요하다. 또한 대학교육의 강화 이전에 SW산업 재직자의 재교육이 선행돼야 한다. 선임 재직자가 구태의연한 방식을 못 벗어나면, 대학에서 선진방식을 배운 신입직원들이 프로젝트에 투입돼도 선임 팀원들의 방식을 따를 수 밖에 없다는 점을 유의해야 할 것이다.
KAIST 산업 및 시스템공학과/전산학과 박준성 교수 june.park@kaist.ac.kr