귀사의 소프트웨어, 진짜 ‘제품’ 맞습니까?
한국의 소프트웨어 산업은 뭔가 잘못돼 있다. 우리나라 경제규모는 세계 11위에 달하는데, 국내 소프트웨어 시장 규모는 전 세계의 1%에 불과하다. 또 소프트웨어는 국경의 제한을 덜 받는 제품임에도 불구하고 한국의 소프트웨어 제품 중 해외 시장에서 성공을 거둔 브랜드는 거의 없다.
글로벌 IT 기업들의 고위 임원들은 한국에 방문할 때마다 “한국의 개발자와 엔지니어의 수준이 매우 높다”고 이구동성으로 말한다. 하지만 그 수준 높다는 한국 개발자들이 만든 소프트웨어 제품의 수준은 높은 평가를 받지 못한다.
도대체 무엇이 문제일까. 정부는 ‘소프트웨어 중심사회’를 만들겠다고 요란법석을 떠는데, 수혜자가 돼야 할 소프트웨어 기업 대표들의 표정은 점점 울상이 된다.
문제의 원인에 대해 “한국의 소프트웨어들은 ‘제품’이 아니기 때문”이라고 주장하는 이가 있다. 박용규 아가도스 대표다.
박 대표는 페이스북 프로필에서 자신을 “SW시장 혁신을 위해 몸부림 치는 늙다리 스타트업”이라고 소개하고 있는 인물인데, 국내 소프트웨어 산업에 대해 쓴소리를 잘 하기로 유명하다. 페이스북을 통해 그의 주장을 흥미롭게 듣다가 직접 만나 이야기를 듣고 싶어졌다.
왜 우리 소프트웨어 기업들이 팔고 있는 것은 제품이 아닌지, 진짜 제품이 되기 위해서는 어떻게 해야하는지 그의 이야기를 들어봤다.
박 대표 주장의 핵심을 요약하면 “패키징을 했다고 해서 다 소프트웨어 제품이 되는 것은 아니다”라는 점이다. 그는 “커스터마이징을 한 후 컴파일을 다시 하지 않아야 제품”이라고 주장했다.
예를 들어 국내 소프트웨어 회사들은 공공기관에 납품을 할 때 GS인증을 받는다. GS인증을 받기 위해서는 일단 패키징이 돼야 한다. 일반적으로 이를 패키지 소프트웨어라고 부른다. 그러나 고객들이 이 제품을 그대로 이용하는 경우는 별로 없다. 이용회사의 업무 프로세스 등 환경에 맞춰 소프트웨어에 변경을 가한다. 이를 두고 커스터마이징(customizing)이라고 부른다.
박 대표에 따르면, 문제는 커스터마이징을 한 그 소프트웨어가 더 이상 GS인증을 받은 그 소프트웨어가 아니라는 점이다. GS인증을 받은 국내 소프트웨어는 커스터마이징을 한 후 다시 컴파일 해야 하는 경우가 많은데, 이는 기존 소프트웨어와 다른 새로운 소프트웨어로 봐야 한다는 것이다.
그는 소프트웨어 제품이란, 엔진과 속성으로 구성돼야 한다고 주장했다. 고객의 요구에 따라 기능을 1대 1로 개발하는 것은 제품이 될 수 없다는 것이다. 고객의 요구가 들어오면 코드를 새로 짜서 넣는 것이 아니라 속성화 해야 한다고 강조했다.
박 대표는 SAP를 예로 설명했다. 그의 이야기를 들어보자.
소프트웨어 제품의 교과서는 SAP입니다. SAP와 같은 소프트웨어 기업들을 보면 전체를 지배하는 엔진이 있습니다. SAP ERP는 이 엔진(플랫폼) 위에서 구동되며, 고객사들은 각사의 환경에 맞게 설정을 바꿔 이용할 수 있습니다. 설정을 바꿨다고 해서 다시 SAP ERP 소프트웨어를 컴파일 하지 않습니다.
이 이야기에 의문이 들었다. SAP ERP 구축 프로젝트를 보면 커스터마이징을 위해 수많은 개발자가 투입된다. 간단히 설정만 바꾸는 수준이 아니다. 이 때문에 대기업의 ERP 프로젝트는 수백억 원이 들어갈 때가 종종 있다. 그의 주장과 달리 SAP라고 별반 다르지 않은 것 아닐까?
그렇게 보는 것은 커스터마이징과 애드온(Add On)을 구별하지 않기 때문입니다. 커스터마이징은 소트웨어가 이미 제공하는 기능을 이용자 환경에 맞도록 변경하는 것이고, 애드온은 소프트웨어가 제공하지 못하는 기능을 추가로 개발하는 것입니다. 국내의 SAP ERP 프로젝트에서 하는 것은 커스터마이징이 아니라 애드온입니다.
여기서 중요한 것은 애드온을 했다고 하더라도 전체 ERP를 다시 컴파일하지 않아야 한다는 점입니다. SAP는 추가적인 기능을 개발해 기존 ERP 엔진에 붙일 수 있습니다. 이런 게 바로 소프트웨어 제품입니다.
이야기를 듣다 보니 또 하나 궁금한 점이 생겼다. 왜 꼭 제품이 돼야 할까? 제품이 좀 아니면 어떤가. 고객들에게 필요한 기능을 그 때 그 때 개발해 제공하는 것도 좋은 일 아닌가?
박 대표는 “제품이 아니면 사업적으로 지속가능하지 않다”고 말했다.
박 대표는 10여 년 전 고객관계관리(CRM) 소프트웨어 회사의 연구소장을 역임했다. 그 회사는 한 때 시장점유율 1위를 기록하는 등 성과를 냈다.
하지만, 지속가능하지 않았다. 인력을 기반으로 사업을 펼치다 보니 제품 비즈니스가 망가진 것이다. 새로운 고객사가 생길 때마다 인력을 투입해야 했다. 무작정 인력을 투입할 수 없기 때문에 고객사를 늘리는 데도 한계가 있었다. 또 고용한 인력을 그대로 둘 수 없기 때문에 억지로 프로젝트를 만들기도 해야 했다.
제가 CRM 소프트웨어를 할 때 시벨시스템즈(현재는 오라클에 피인수)라는 회사가 있었습니다. 그 회사 제품을 들여다보면 기능은 저희와 큰 차이가 없었어요. 차이는 하나였죠. 시벨은 플랫폼(엔진)을 기반으로 하고 있었고, 저희는 개발 프레임워크 위에서 기능을 하나하나 개발했습니다.
그러다 보니 시벨은 채널 비즈니스가 가능했고, 저희는 모든 고객사에 일일이 다 뛰어다녀야 했습니다. 저희도 일본과 미국 진출을 위해 노크해봤는데, 커스터마이징을 위해 사람을 투입해야 하는 문제 때문에 성공하지 못했습니다.
이는 국내 많은 소프트웨어 회사들이 가진 고질적 문제 중 하나다. 특히 이런 방식으로는 글로벌 비즈니스를 펼칠 수도 없다. 해외까지 인력을 파견할 수 없기 때문이다. 파견한다 해도 그 비용 때문에 수지타산이 맞지 않는다. 대부분의 국내 소프트웨어 기업들이 내수에 머물러 있는 이유다.
박 대표는 국내 소프트웨어 기업들이 제품이 아닌 SI 방식의 사업을 계속할 경우 클라우드 시대에 살아남지 못할 것이라고 예언했다.
SaaS(Software as a Service)와 ASP(임대형 애플리케이션)이 다른 점은 멀티태넌트입니다. SaaS는 하나의 프로그램으로 다양한 그룹의 사용자 요구를 다 받아들입니다. 반면 ASP는 하나의 프로그램이 하나의 고객밖에 수용하지 못합니다.
SaaS가 되기 위해서는 사용자들이 설정을 통해 각사에 맞는 커스터마이징을 할 수 있는 환경이 조성돼야 합니다. 즉, 제품만이 SaaS를 할 수 있습니다. ASP는 기존의 프로그램을 그대로 온라인 상에서 이용할 수 있도록 하는 것인데, 이는 클라우드가 아닙니다.
박 대표는 최근 ‘소프트웨어 제품화 지수’라는 것을 만들고 있다. 소프트웨어 업체들이 스스로 제품 비즈니스를 하고 있는지, SI 비즈니스를 하고 있는지 스스로 진단할 수 있도록 하는 일종의 설문조사다.
우리는 왜 SAP와 같은 소프트웨어 기업이 되지 못할까라는 생각에 오랫동안 그들을 연구했습니다. ‘소프트웨어 제품화 지수’는 그들이 도출하는 방법을 기반으로, 그 이상으로 가기 위해 필요한 것이 무엇인지 리스트를 만든 것입니다. 각 소프트웨어 기업들이 스스로 점수를 매겨볼 수 있습니다. 아마 상당수의 국내 기업들은 100점 만점에 10점도 안 나올 것 같습니다.
오래 전 국내 소프트웨어 기업 관계자로부터 “고객사가 10개, 제품도 10개”라는 농담을 들은 적이 있다. 물론 지금은 많이 개선됐다. 국내 소프트웨어 기업들도 제품의 중요성을 알고 있고, 제품 비즈니스를 펼치기 위해 노력하고 있다.
하지만 공공부문부터 SI식 개발을 우선시하기 때문에, 쉽지는 않은 숙제다. 분명한 것은 제품이 아니면 해외진출이 불가능하고, 좁은 한국 시장으로만은 소프트웨어 기업의 지속적 성장이 불가능하다는 점이다.
글. 바이라인 네트워크
<심재석 기자>shimsky@byline.network
용어 관련 의견인데, 기사 내의 용어 사용은 제품과 상품을 구분하지 못한 것으로 보이네요. SW는 S/I Project 형태로 구현하여 1개 기업에 납품을 한다해도 제품이라고 합니다. 정확히 표현하자면… SW가 단순한 제품화를 넘어서 상품화가 되어야 한다는 취지로 보이네요. SW가 상품화되어야 기업 경쟁력이 높아지는 것입니다. 제품과 상품은 다릅니다.
좋은 의견 고맙습니다. 상품은 말그대로 상업용 제품을 뜻하고 그렇게 통용되고 있다고 생각합니다. 국내 상용SW 패키지 역시 모두 말그대로 상(용)품이라 칭합니다. 반면 제품화지수에서 뜻한 제품이란 ‘상용’이든 ‘무료’이든 오픈소스이든, 동일 제품으로 다양한 시장의 요구에 반응하고 대응해 사용 할 수 있는 완성품의 의미를 갖습니다. 글로벌SW제품회사들이 국내 상용SW를 보고 ‘제품’이 아니라고, ‘제품화’가 미비하다고 단도직입적으로 평가를 하고 있기도 합니다. 말씀하신 SI 프로젝트 산출물 형태의 시스템을 납품하면서 제품이라 부르는 관행이 ‘제품화’라는 기회를 잃게 만드는 요인으로 작용하기도 하죠. SW의 품질적 관점에서 ‘그냥 정보시스템’이냐 ‘제품’이냐의 세그먼트로 나누고, 해당 SW를 비즈니스적으로 어떻게 활용하느냐의 관점에서 ‘상품’이란 세그먼트로 구분되는 것이라는 생각입니다. 고맙습니다..^^
저 또한 SW 품질 관련된 일 그리고 잠깐이지만 SW 상품화 방법론 연구 등을 한 적이 있습니다. 대한민국 SW 산업의 상당수가 수주 산업인데, 그 비율이 제가 느끼기에 적어도 80% 이상인 것 같습니다. 즉 대부분의 SW 기업이 시장에서 팔릴 수 있는 SW 개발을 위한 시장조사와 기획단계를 거쳐서 모두가 합의하는 제품을 개발하기 보다는, 그냥 기업 내에 기술적 권력을 가진 소수가 원하는 SW를 개발하고 이것을 가지고 그냥 소위 고객사의 아는 인맥과 연결해서 기업의 생존구조가 만들어지는 형태를 더 선호합니다. (이건 구조적으로 그렇습니다.)
그런데, 수주를 받은 개발 예산이 한정된 관계로 품질 투자없이 개발을 하는게 관행이 되었는데… 그들 스스로가 이런 안티품질 문화를 합리화시키고 있으니 이런 문화가 개선되기는 쉽지 않으며, 이런 것들이 대한민국 SW 산업의 기반 체질이 된지도 오래입니다. 안티 품질 문화에서는 1개의 제품 수준의 개발에서도 설계를 하지 않으며, 이런게 반복되다 보니 제품군 수준에서도 당연히 설계(즉, 군설계)를 하지 않습니다. 좋은 SW Component나 엔진을 기대하기에는 너무나도 거리가 먼 SW 개발 문화를 우리는 갖고 있어요. 이런 개발이 경영적으로도 아주 취약한 문화입니다. 한동안 SW 공학적 접근에서 재사용이라는 키워드가 유행이던 시대도 있었는데… SW 재사용 체계 구축은 SW 생산성 이슈이지 SW 품질 이슈가 아닙니다. SW를 재사용해서 제품 품질이 좋아지는게 아니라, 좋은 품질을 가진 SW를 재사용해야 하는 것입니다. 결국 SW 재사용이란 것은 어떠한 전제조건을 필요로 한다는 의미이며, 그 전제조건이 바로 SW 품질체계 구축이라는 뜻이지요.
대한민국의 SW 기업이 지금과 같은 안티품질 문화를 극복하려면 경영진부터 실무자까지 전방위로 생각을 바꾸기 위한 교육이 선행되어야 합니다. 제품 품질 경쟁력이란 것은 A and B and C and …와 같이 개발 프로세스에 어느 하나라도 잘못된 것이 있으면 달성할 수 없는 논리 영역에 있어요. 품질 마인드는 공짜이지만 이것을 쉽게 생각해서는 안된다는 뜻입니다. 기사에서는 영업적 측면의 이야기를 통해서 문제를 보았지만 저는 기업의 개발문화 측면에서 문제를 봤어요. 여기에 대해서는 참 이야기가 많아지네요. ^^; 아무튼 댓글을 통해서 저 또한 좋은 정보를 얻게되어 감사드립니다.