소프트웨어(SW)는 창조의 산물이다. 한 개발자는 자신이 SW 개발직을 택한 이유를 ‘무에서 유를 창조하는 기쁨’이라고 말하기도 했다. 누군가의 창조적인 아이디어에 기반을 두고 뚝딱뚝딱 만들어지는 SW는 창조의 산물임에 틀림없다. 그럼에도 불구하고 이러한 개발과정을 체계화하는 ‘공학’은 매우 중요하다. 예술작품을 어떤 공식에 의해 만들어간다고 하면 이해가 가지 않겠지만 그 나름의 체계가 있다. 혼자만의 작업이 아니라 많은 이가 개발에 함께한다면 더욱 그렇다.
SW를 창조적인 산업으로 알려진 디자인과 비교해 보자. 대표 디자이너가 디자인의 방향을 설정하면 세부 작업은 여러 디자이너의 손에 의해 이뤄진다. 나름의 프로세스를 거쳐 창조의 산물이 완성되는 것이다.
SW 공학은 SW 개발에서 이러한 역할을 하는 학문이다. SW 산업에 필요한 여러 가지 동인을 구조화하고 정립해 더욱 발전적인 방향으로 향상하도록 지원하는 것이다. SW 공학은 어떻게 하면 빈틈 없이 더욱 완벽하게 좀 더 빨리 SW를 개발할 수 있을지 연구하게 되며, 생산성을 높이는 여러 방법론과 도구 등이 연구 대상이다. 요구공학, 아키텍처, 개발방법론, 테스팅, 프로세스 형상관리, 품질 등 여러 영역으로 나뉜다.
이상은 한국SW진흥원 단장은 “SW 공학은 기술, 인력, 관리체계 등 SW를 구성하는 요소를 목적에 따라 유기적인 체계로 구성하는 활동”이라며 “SW를 개발하기 위해 전 과정에 걸친 체계적이고 정량적인 접근방법을 의미하기도 한다”고 말했다.
◇공학 발전 시급하다=SW가 대용량화되면서 SW를 개발할 때 비용절감이나 생산성 향상 등의 문제를 해결하는 것이 산업 경쟁력의 핵심 과제가 됐다. 자동차나 선박 등에 들어가는 임베디드 SW는 SW가 시스템 전체에 영향을 끼치기 때문에 더욱 큰 문제다. 개발원가 중 SW가 차지하는 비중은 의료기기는 2002년 25%에 불과했던 것이 2006년에는 40%로 배가됐다. 자동차는 2002년 38%에서 2006년 52%로 증가했다. SW를 잘 다룰 수 있는 기업이 경쟁력을 가진다고 볼 수 있다. SW 공학은 제조업이나 서비스업에서 대량생산을 가능하게 하고 제품이나 서비스 차별화를 가져올 수 있게 하는 기술인 셈이다.
미국이나 독일 등 선진국이 정부 주도로 SW 개발 생산성을 향상하기 위해 SW 공학 연구소 등을 설립하는 이유다. 노키아는 2003년 첨단 SW 공학 기술인 SSPL 공학 기술을 도입한 바 있다. 이로써 2005년 이후 휴대폰 모델의 종류를 매년 55%씩 늘려 세계 휴대폰 시장의 주도권을 확보할 수 있었다.
SW 공학 기술 중 하나인 SW 프로덕트라인은 SW가 핵심이 되는 지식집약화를 통한 고부가가치 실현시키는 기술이다. 즉, 2차 산업 제품의 기능 차별화 및 고객 맞춤형 제품생산을 통해 자동차·조선·휴대폰·가전·금융·서비스 분야의 적용 제품 및 서비스에서 생산성 향상(39%), 품질 향상(52%), 제품 출시기간 단축(30%), 고객만족도 향상(39%), 비용 절감(45%) 달성할 수 있다. 3차 산업 역시, 서비스를 고객 지향적으로 고품질화할 수 있다.
이단형 KAIST 교수는 “SW 프로덕트라인은 우리나라가 BRICs에 추월당하지 않고, 향후 15년간 산업계 일자리 150만개, 고급 소프트웨어 일자리 50만개, 도합 200만개의 일자리 창출에 기여할 수 있는 기술”이라고 말했다.
◇무엇이 문제 = SW공학을 발전시키고자 해도 국내에는 기반이 없는 것이 사실이다.
무엇보다 SW공학 역량을 갖춘 전문인력 양성체제 기반이 취약하다. 국내 초·중·고 컴퓨터 교육은 양적·질적으로 모두 미흡하다.
SW 경쟁력 강화 추진위원회에 따르면, 중학생의 44%, 고등학생의 23%만이 컴퓨터 교육을 받고 있으며 교육내용도 문서작성 SW 등 응용 프로그램의 기능 습득 중심에 불과하다. 선진국은 다르다. 세계 각국은 초중고 컴퓨터 교육을 강화하는 한편 알고리듬, 프로그래밍 등 컴퓨터 기초과학 교육을 실시하고 있다. 인도는 초등학교 2학년부터 교육용 프로그래밍 언어(LOGO) 교육을 하며, 이스라엘은 컴퓨터 과학을 필수교과로 지정하고 프로그래밍 교육 강화하고 있다. 일본도 정보를 고등학교 필수과목으로 편성하고 대학 입시과목에 포함했다. 우리나라는 경쟁국 대비 컴퓨터 활용능력은 높으나, 컴퓨터 기초이해 및 프로그램 창작 등 컴퓨터 과학능력은 저조한 것으로 나타났다. 2010년부터 초중고 SW 교육이 알고리듬이나 프로그래밍 등의 컴퓨터 기초 과학 중심으로 개편될 예정이라고 해도 전문교사나 관련 교재, 실습설비 등의 제반 준비는 부족하다.
국내 주요대학 컴퓨터공학과의 SW공학 관련 수업시간은 미국의 SW공학 표준 커리큘럼 기준에 비해 70∼80% 수준에 불과한 것으로 나타났다. 취직을 위해 멀티미디어 시스템 등 응용과목은 많지만 기초과정이나 심화과목 수업시간은 부족하다는 것이다. 또 자동차·조선 등에 SW 융합과목을 신설하는 등 산업-SW 융합 전문인력 양성을 위한 교육체계 마련 필요한 것으로 보인다.
정부도 SW공학 관련 일부 R&D 등을 추진하고 있으나, 소규모 일회적 예산 투입으로 인해 도약의 계기가 되기에는 턱없이 부족하다.
◇해외에서는=미국은 미래 국가안보와 경쟁력을 확보할 수 있는 신뢰성 있는 SW기술 확보에 SW 정책의 우선순위를 두고 있다. 1960년대 SW 신뢰성 저하, 개발비 증대, 일정 지연 등 일명 ‘SW 위기’를 겪고 나서의 일이다. 국방성 주도로 CMU에 세계 최초로 SW공학연구소(SEI:Software Engineering Institute)가 설립된 것도 이후의 일이다. SW공학연구소는 세계적인 SW 프로세스 개선모델인 CMMI를 개발하고 보급하는 연구소로 자리 잡았다. 독일은 자국이 강점을 가지고 있는 자동차 등 제조업 경쟁우위를 미래에도 지속 확보하기 위해 관련 분야의 SW생산성 혁신을 추진하고 있다. 또 유럽은 미국과의 SW 품질 경쟁을 염두에 두고 1980년 후반부터 SW품질 제고를 위해 CMMI에 대응하는 국제표준 SW개발 프로세스 개선모델(SPICE) 개발을 추진했다. 일본도 제조업의 생산성 위기극복 및 국가 주요시스템의 오류개선 등을 위해 SW 생산성 향상과 품질확보를 국가적 과제로 선정하고 경제산업성 산하 SW공학센터(SEC)를 설립한 바 있다. 아일랜드에서 SW산업은 경제성장을 견인하고 있는 주력산업이다. 유럽 패키지 SW의 40%, 비즈니스 응용 SW의 60%를 생산하는 나라가 아일랜드다. 공학 연구도 남다르다. 산업개발청(IDA)은 SW R&D 지원프로그램인 ‘SW PAT’ 운영을 위해 CSE(Center for Software Engineering)를 설립한 바 있다.
문보경기자 okmun@etnews.co.kr
관련 통계자료 다운로드 한국SW진흥원의 SW공학률 분류체계