실시간 뉴스



[김홍선의 보안이야기]소프트웨어를 안 하는 이유-3


정보보안 인력에 대해서 (4)

지난 회에 이어서 '소프트웨어를 안 하는 이유'를 계속해서 논의한다.

다섯째, 소프트웨어는 여러 형태의 색깔을 지니고 있다.

지난 8월 ‘한국 소프트웨어 세계화 프로그램 (KSGP, Korea Software Globalization Program)’이라는 행사에 초대되어 패널 토론에 참여한 적이 있다. 토론 전 한국의 소프트웨어 산업 현황과 문제점에 대한 기조 연설이 있었고 여러 가지 정책적 제안들이 제시되었다. 그런데, 막상 토론에 임하려고 하니 망설여졌다. 소프트웨어는 여러 가지 종류가 있는데, 짧은 발표 시간에 어디에 초점을 맞추어야 한다는 말인가?

다행히 같은 패널리스트였던 한국정보산업연합회 신재철 회장이 고민을 풀어 주었다. “소프트웨어는 크게 패키지 소프트웨어, 비즈니스 소프트웨어, 임베디드 소프트웨어로 나누어 보아야 합니다. 모두 소프트웨어라는 용어로 부르지만 그 성격은 다릅니다. 예를 들어, 패키지 소프트웨어는 벤처 성격이 강하고, 비즈니스 소프트웨어는 프로젝트 성으로 진행해야 합니다. 이렇게 성격이 다른 분야를 소프트웨어라는 하나의 영역으로 간주해서 정책을 수립하면 혼선이 생깁니다.” 다행히 내가 그 다음 차례라서 그의 분류 기준에 따라 의견을 발표할 수 있었다. 이와 같이 우리는 소프트웨어의 정체성을 너무 단순하게 정해 버리는 오류를 범한다.

학부에서 전자공학을 전공할 당시 반도체, 통신, 컴퓨터, 로보트 등 여러 갈림길이 있었다. 하나의 학과에 소속되어 있었지만 어느 분야를 택하느냐에 따라 완전히 다른 인생을 걷게 된다. 그 분야를 위해 준비해야 하는 기초 학문도 다르다. 이를테면 반도체는 전자회로 물리학 화학을, 통신은 수학과 정보이론을, 컴퓨터는 소프트웨어 구조와 논리 설계가 기초 과목이다. 물론 기술적 기반은 같지만 보다 깊이 있게 들어가면 확연히 다른 것이다. 마치 의학을 전공해도 정형외과, 내과, 소아과, 안과 등으로 구분되는 것과 같다.

패키지 소프트웨어, 비즈니스 소프트웨어, 임베디드 소프트웨어

소프트웨어도 예외가 아니다. 우리가 소프트웨어를 벤처 산업이라고 칭할 때 그 대상은 소프트웨어 기반의 패키지와 상용 서비스를 일컫는다. 예를 들어 마이크로소프트, 오라클, SAP는 운영체제, 데이터베이스, ERP 분야에서 각각 시장을 선점해서 창출해 내었다. 결국 자신들의 제품을 실제 표준(De Facto Standard)으로 만드는데 성공했고, 이를 바탕으로 확고한 독점적 위치를 점했다.

안철수연구소의 V3도 바이러스 백신 분야에서 국내 시장을 창출해냈다. Google은 검색 서비스 시장에서 독점적 우위를 점하고 있다. 우리 나라가 세계적으로 뛰어난 온라인 게임도 그렇다. 패키지와 상용 서비스에 사용되는 소프트웨어는 창의력과 통찰력, 기술력을 바탕으로 성공을 위한 부단한 노력과 열정을 특성으로 한다. 벤처의 특성은 'High Risk, High Return'이다. 한 마디로 성공한 기업의 뒤편에는 실패하여 쓸쓸히 퇴장한 무수한 기업들이 있는 것이다.

비즈니스 소프트웨어(Businss Software)는 업무와 밀접한 연관을 지닌다. 기업이 IT를 도입하는 이유는 생산성을 높이거나 비용을 줄이거나 둘 중 하나를 목적으로 한다. 이런 목적을 위해 우선 기존 업무를 분석해서 어떻게 해야 가장 효율성을 높일 수 있는 지 혁신적인 프로세스를 구상한다.

그 구현 수단으로 IT 자원과 소프트웨어를 활용하게 된다. 물론 패키지를 도입하여 사용한다. 허나 업무별로, 고객별로 특성이 다르기 때문에 시스템 통합 (System Integration)의 과정이 수반된다. 자연히 이런 소프트웨어는 경영정보시스템(MIS), 업무 컨설팅, 시스템 통합(System Integration)을 바탕으로 한다. 구축 과정에서 패키지 소프트웨어의 도입, 기존 레거시 시스템(Legacy System)과의 유연한 통합이 받쳐주어야 한다.

임베디드 소프트웨어(Embedded Software)는 IT 기기가 일반화되면서 더욱 사용하기 편리하고 지능적인 기능을 가미하는 수단으로 부각하고 있다. 오늘날 우리 주위에서 볼 수 있는 많은 상품과 서비스에서 소프트웨어의 비중은 급증하고 있다.

융합(convergence)이라는 개념은 한 마디로 여러 개의 하드웨어와 콘텐츠를 접합시키는 인프라다. 그 매개의 역할을 유연한 특성의 소프트웨어가 담당하는 것은 전혀 놀랍지 않다. 임베디드 소프트웨어는 (1) 시스템 소프트웨어와 각종 유틸리티를 하드웨어에 접합시키는 ‘내재화(embed)’와 (2) 원가를 줄이기 위한 소프트웨어의 ‘재사용성(reusability)’에 초점을 맞추어야 한다.

정리해서 말하면 패키지와 상용 서비스는 ‘창의력과 벤처성’, 비즈니스 소프트웨어는 ‘업무 프로세스에 대한 통찰력’, 임베디드 소프트웨어는 ‘통합과 원가 절감’이 중심 사상이다. 모두가 소프트웨어라고 부르고 있고, 실제로 그에 관련한 기본 기술 역량, 즉 skill set은 대동소이하지만, 어느 분야이냐에 따라 성격이 전혀 다르다. 당연히 그에 적합한 인력의 프로필과 역량, 개발 프로세스는 다를 수 밖에 없다. 그러므로 소프트웨어에 대해 논하려면 먼저 명확한 분류부터 정해 놓고 진행해야 한다. 그렇지 않을 경우, 정성스레 마련한 대책이라 하더라도 실효성이 떨어지게 된다.

이렇게 소프트웨어에 대한 확고한 개념 정립의 미흡함으로 인해 일관성과 통일성이 떨어지고 있다. 방향성이 흔들리면 제대로 된 공감대를 얻기가 어렵다. 이러한 개념의 혼란은 소프트웨어 인력이나 산업 주체들이 정확한 진단을 하지 못하는 원인이 되고 있다. 몇 가지 예를 들어 본다.

(1) 패키지 소프트웨어 패키지 소프트웨어를 만드는 회사는 패키징(packaging)을 하는 것이 최우선 과제다. 패키지화를 통해 다량 배포하고 이에 비례하는 수익의 성장 곡선을 그릴 수 있게 된다. 그런데 우리 나라에서는 패키지화를 방해하는 요소가 많다. 우선 고객들이 자신들의 업무에 맞추어 특화, 즉 커스터마이즈(customize) 해 주기를 원한다. 이와 같이 패키지 소프트웨어가 비즈니스 소프트웨어 형태로, 즉 SI 방식으로 진행되면 패키지화는 물 건너 간다.

심할 경우 고객별로 소스 코드 버전이 다르게 되고 이력 관리도 어려워진다. 패키지가 통일이 되어 있지 않으니 개발과 유지 보수가 구분이 되지 않는다. 개발한 엔지니어가 나가면 유지 보수에 애를 먹는 것은 당연하다. 수익성에 대한 기대가 허물어지는 순간 더 이상 벤처가 아니다. 신기술 투자의 여력을 상실하고 유지 보수와 고객 지원의 늪에서 빠져 나오지 못한다.

(2) 비즈니스 소프트웨어

IT를 도입하는 근본적인 목적은 혁신(innovation)을 통해 효율성을 제고하려 함이다. 필요할 경우 기존 업무 프로세스를 고쳐야 한다. 그러나 오히려 그 반대로 되는 경우가 허다하다. 혁신은 오고 간데 없고 문서로 하던 업무를 컴퓨터를 통해 한다는 것 밖에 차이가 없게 된다. 오히려 IT 시스템에 데이터를 입력하느라 시간만 더 들게 된다.

특히 사용성 측면에서는 주문이 많다. 하드웨어 제품을 살 때 그렇게 요구 사항이 많으면 아무도 그를 위해 물건을 만들어 주지 않는다. 그러나 소프트웨어는 “몇 줄만 바꾸면 안 돼? 어차피 사람이 하는 건데..”라는 인식이 강하다. 그런데, 소프트웨어는 단 몇 줄 때문에 전체 구조나 품질에서 차이가 생길 수 있다는 것은 전혀 생각하지 않는다. 물론 고객의 요구 사항을 적극 반영해야 하지만 역으로 자신의 잘못된 편견과 비합리적 프로세스도 바꾸겠다는 의지가 수반되어야 한다.

(3) 임베디드 소프트웨어

하드웨어 업체에서 소프트웨어는 단순 비용으로 처리한다. 예를 들어, 다른 사업 부서에서 동일한 오픈 소스 기반의 시스템 소프트웨어를 사용하고 있어도 그 소프트웨어를 협력해서 개발하지 않는다. 왜냐 하면 나의 목표는 하드웨어를 만드는 것에 있기 때문이다. 이러한 사고 방식으로는 재사용(reuse)에 의한 원가 절감의 매력을 느낄 수가 없다.

소프트웨어는 필요할 때 프로젝트 방식으로 구현하면 된다는 인식이 강하다. 정보시스템을 구축하는 것과 임베디드 소프트웨어를 개발하는 것을 동일하게 생각한다. 소프트웨어의 생동감을 느낄 수 없다면, 하드웨어 위주의 비즈니스 모델도 한계가 있기 마련이다. 앞으로는 모든 사업이 소프트웨어 사업이다.

특성별로 소프트웨어를 바라보는 관점이 필요하다. 컴퓨터를 두들기면서 프로그램을 짜고 있다고 해서 모두 같은 소프트웨어 인력으로 보면 안 된다. 자신이 하려는 소프트웨어에 대해 정확하게 인식부터 하는 것이 순서다. 그렇지 않을 경우 인력 양성이 주먹구구식이 된다. 체계화되지 않은 프로세스는 소프트웨어 인력들이 비전을 잃고 방황하는 이유 중의 하나다. 소프트웨어는 다양한 색깔과 특성을 가지고 있다는 점에 인식을 같이 했으면 한다.

/김홍선 안철수연구소 대표이사 column_phil_kim@inews24.com







alert

댓글 쓰기 제목 [김홍선의 보안이야기]소프트웨어를 안 하는 이유-3

댓글-

첫 번째 댓글을 작성해 보세요.

로딩중
포토뉴스