본문 바로가기

공부/컴퓨터

[inews24] 주먹구구식 기술개발, 기초 체력 저하의 악순환

반응형
http://www.inews24.com/php/news_view.php?g_serial=107335&g_menu=090334

























[SW산업을 살리자 - 2] 주먹구구식 기술개발, 기초 체력 저하의 악순환
김상범기자 ssanba@inews24.com
2004년 01월 18일
 

국내 SW산업이 경쟁력을 확보하지 못하고 있는 이유는 어디에서 비롯된 것일까. 제품 자체의 경쟁력이 떨어지고, CEO의 경영능력 부재도 원인으로 꼽힐 것이다. 제품을 만들어도 제값받고 팔 수 없는 왜곡된 시장구조와 소프트웨어에 대한 사용자들의 '공짜' 인식도 여전하고, 이를 제어하고 관리해야 할 법과 제도의 부실함도 지적의 대상이다.

'바로 이것이다'라고 한 두가지를 꼽기가 어려운 상황이다. 다양한 요인들이 복합적으로 얽혀있는 총체적인 부실 구조라고 할 수 밖에 없다.

이 가운데 우선 SW 자체의 질적인 경쟁력 부분에 청진기를 대본다. 가장 기본적이고 원초적인 경쟁력이기 때문이다.

우리의 현실을 짚어보고 문제를 진단하는 것은 바람직한 대안을 위한 첫걸음이다.

과연 우리나라 SW는 외국의 SW와 비교해 제품의 경쟁력을 갖추고 있는가. 이 부분은 우리나라 소프트웨어 개발 환경과 문화의 차이를 점검하는데서 시작된다.

◆ 세계 최고의 '코딩' 능력

"우리나라 개발자들의 개발능력은 세계 최고 수준이다."

흔히 하는 얘기다. 프로그램 개발 능력만큼은 어디에 내놔도 뒤지지 않을 것이라는 데 SW 업계는 대체로 공감한다.

하지만 '우리나라 SW의 경쟁력은 있는가'라는 부분에서는 선뜻 공감하지 못한다. 아니, 고개를 좌우로 흔들 수 밖에 없다. 세계 최고수준의 개발능력은 공감하면서도 세계 최고 수준의 제품에는 자신없어 하는 이유는 무엇인가.

지난해 국내 소프트웨어 업체 가운데 처음으로 해외 매출 1천만달러를 돌파하는 기록을 세웠던 핸디소프트. 미국 현지법인 핸디소프트글로벌 설립 5년만에 약 1천500만달러의 현지 매출을 올렸다.

이 회사가 해외에서 주력하고 있는 BPM(Business Process Management) 솔루션은 세계적인 시장 조사업체 가트너로부터 시장의 주요 제품으로 주목을 받기도 했다. 제품의 경쟁력을 인정받고 있다는 얘기다.

핸디소프트는 미국 현지법인 설립 초기, 현지화 전략에 따라 개발진들도 거의 현지인들도 꾸렸다. 그러나 미국 진출 5년이 지난 현재, 핸디소프트글로벌의 개발진 30여명은 거의 모두 한국인 개발자들로 구성돼 있다.

김규동 핸디소프트 사장은 "프로그램 개발 부분에서는 우리나라 개발자들이 월등하다는 것을 알게 됐다. 프로그램 생산성만 보면 미국 개발자들이 상대가 안된다"고 잘라 말했다. 김 사장은 또 "한때 인도의 유력 아웃소싱 업체에 소프트웨어 아웃소싱을 의뢰한 적도 있었지만 결국 그만두었다. 역시 기대했던 성능에 못미쳤기 때문이다"고 말했다.

이런 점을 들어 김 사장은 우리나라 소프트웨어 개발자들의 프로그램 개발능력은 '세계적'이라고 잘라 말한다.

그렇다면 미국에서의 성과는 우리나라 개발진들의 우수한 개발능력에서 비롯된 것일까.

김 사장은 "개발 능력은 뛰어나지만 문제는 설계 부분이다. 이 부분은 우리 개발자들이 많이 부족한 게 사실"이라고 평가했다. 그래서 핸디소프트글로벌의 개발인력은 설계 부분을 담당하는 현지인과 프로그램 개발을 담당하는 한국인 프로그래머로 구성돼 있다는 설명이다.

미국 시장에서 주목받기 시작한 핸디소프트 BPM 솔루션의 경쟁력은 미국인 설계자와 한국인 프로그래머의 조화를 통해 얻어낸 것이라는 얘기다.

국내 이미징 솔루션 시장에서 제품 경쟁력만으로도 글로벌 SW 기업을 위협하는 기업이 있다. 설립된지 7년된 얼라이언스시스템이 주인공. 금융권을 중심으로 이미징 솔루션 시장에서 외산 솔루션과 당당히 경쟁을 벌이고 있는 이 회사의 제품 경쟁력은 어디서 나오는 것일까.

이 회사 조성구 사장은 그 비결을 미국 현지법인에서 찾는다. 이 회사가 설립한 미국 현지법인은 국내 대부분의 기업들처럼 마케팅이나 영업을 위해 설립한 것이 아니다. 철저히 연구개발만을 담당하는 말 그대로 ‘현지연구소’다.

조 사장은 "경험이 많은 현지 개발자들 중심으로 구성된 미국 법인의 연구진들은 이미 미국 현지 전문컨설팅 업체들로부터 공인을 받았을 만큼 인정을 받고 있다. 이 개발진들이 우리 회사 솔루션의 경쟁력"이라고 말했다.

조 사장은 또 "이들은 지금 차세대 제품을 설계하고 있다. 무엇보다 장기적인 관점에서 제품을 설계하는 능력은 국내 개발자들이 따라가기 힘든 부분"이라고 강조했다.

소프트웨어 개발이라고 하면 우리는 흔히 프로그램 코딩을 떠올린다. '개발 = 코딩'이라는 인식이 강하다.

하지만 소프트웨어 개발은 크게 분류해도 설계와 디자인, 코딩 등으로 나눠진다. 각 영역을 담당하는 개발인력도 아키텍트, 소프트웨어 엔지니어, 프로그래머로 나뉜다.

이들의 조화로운 역할 분담을 통해 경쟁력있는 소프트웨어가 만들어진다. 그러나 우리 현실은 설계와 디자인이 거의 생략된 채 코딩에 쏠려있다.

우리가 세계 최고의 개발능력이라고 하는 것은 결국 '세계 최고의 코딩 능력'이라는 얘기다.

◆ 아키텍트가 부족한 현실

"미국에서 만난 사람들 명함을 쭉 깔아놓고 보니 가장 많은 직함이 '아키텍트'였다." 해외출장에서 돌아온 한 소프트웨어 업체 사장의 얘기다.

우리나라 소프트웨어 업체들이 미국 시장 진출을 위해 현지 기업들을 방문하면 만나는 사람들 가운데 상당수가 '아키텍트(Architect)'라는 직함을 가진 개발자들이라고 한다.

아키텍트도 칩 아키텍트, 테크니컬 아키텍트, 소프트웨어 아키텍트 등 다양하다.

아키텍트는 말 그대로 설계자란 뜻이다. 소프트웨어의 기본 구조를 설계하고 필요한 기술을 선정하는 일을 맡는다. 개발자들의 총 사령관인 셈이다.

하지만 우리는 아키텍트가 절대 부족하다. 이유는 소프트웨어 개발의 역사가 짧다는 점을 꼽을 수 있다. 아키텍트는 풍부한 프로그래머 경험을 바탕으로 하기 때문이다.

하지만 우리나라 프로그래머들이 나홀로 익혀, 나홀로 작업하는데 익숙하다는 점도 아키텍트가 자랄 토양을 부족하게 만드는 이유로 꼽을 수 있다.

먹고살기 힘든 우리나라 소프트웨어 개발업체들에게 아키텍트가 '그림의 떡'일 수 있다. 하지만 기본적으로 소프트웨어 개발문화가 프로그램 개발의 전단계를 소홀히 취급하는 것은 사실이다. 또한 대형 SI 업체의 경우에도 프로젝트를 진행하는 과정에서 아키텍트의 존재는 미미하다.

대형 SI업체의 한 프로젝트 팀장은 "명목상으로는 아키텍트가 있다. 하지만 현실은 솔루션 공급업체들이나 개발자들의 관리, 감독을 맡는 PM 수준이라고 보는 것이 맞을 것"이라고 말했다.

소프트웨어는 살아있는 제품이다. 한번 개발을 완료했다고 완제품으로 영원히 지속되지 않는다. 계속 기능이 추가되고 변경돼야 상품으로서 가치를 인정받을 수 있다. 버전업 되지 않는 소프트웨어는 생명력이 없다.

이런 점에서 소프트웨어 개발은 기초 설계가 매우 중요하다. 그리고 설계가 튼튼한 제품을 만들기 위해 아키텍트라는 전문영역이 필요한 것이다.

하지만 우리나라 SW 개발 환경은 어떤가. 무엇을 만들 것인가만 정해지면 바로 개발작업에 들어간다. 이른바 코딩작업에 들어가는 것이다. 설계는 없다. 기능만 충족시키면 오케이다.

기초 설계를 튼튼히 하는 작업은 꽤 지리한 시간이다. 전체 소프트웨어 개발 시간은 늦어진다. 하지만 개발 완료후 유지보수나 기능 보강작업은 훨씬 빨라지고 쉬어진다.

하우리는 지난해 8월 바이러스 백신 엔진을 콤포넌트 기반으로 다시 설계했다. 처음엔 지리한 작업과 자신만의 노하우를 살리지 못할 것이라는 개발자들의 우려때문에 쉽지 않았다고 한다.

하지만 어렵사리 엔진을 재설계한 이후 제품 경쟁력만큼은 한층 강화됐다고 평가하고 있다.

권석철 하우리 사장은 "새로운 바이러스가 나오면 각 OS별로 담당자들이 나와 백신을 개발하고 컴파일해서 플랫폼별로 다시 설치하고 해야 했다. 20여명이 총 출동해야 했다. 하지만 지금은 다르다. 3~4명의 인력만 있어도 된다. 콤포넌트 기반의 엔진 재설계 덕분이다. 처음엔 힘들었지만 재설계의 덕을 톡톡히 보고 있다"고 전한다.

아키텍트는 장기적으로 개발자(프로그래머)들의 미래 진로를 튼튼히 한다는 점에서도 필요하다. 프로그래머가 성장해 올라갈 수 있는 업무영역이 관리자외에 없다면 우리는 기껏해야 4~5년 경력이 최고인 나홀로 프로그래머만 잔뜩 양산할 수 밖에 없을지도 모른다.

◆ 문제는 '커뮤니케이션의 부재'

설계능력의 부족은 소프트웨어 역사가 짧기때문이라고 넘길 수 있다. 시간이 해결해 줄 수도 있다는 얘기다. 하지만 우리나라 개발 문화에서는 시간이 해결해 줄 수 있을지 의문이다.

보험설계사 K씨(35). 대학을 졸업하고 대기업에서 약 7년을 프로그래머로 일했던 K씨는 프로그래머로써 더 이상의 비전이 없다는 결론을 내리고 1년전 보험설계사로 인생의 방향을 틀었다.

새로운 일에 만족하고 있다는 K씨. 하지만 그가 완전히 프로그램 작성에서 손을 놓은 것은 아니다. 그는 지금도 가끔 전 직장으로 달려가 프로그램 개발에 손을 댄다.

"그만두기 직전에 개발해 놓은 프로그램에 문제가 생기거나, 새로운 기능을 추가할 일이 생기면 연락이 오죠. 전화로 설명해주기도 하지만 직접 달려가는 경우도 종종 있어요. 제가 그래도 회계 시스템 쪽에서는 전문가 소리를 들었거든요."

K씨는 이 얘기를 들려주며 은근히 자긍심을 드러냈지만, 사실 K씨의 이야기는 우리나라 SW 개발 문화의 부실한 단면을 고스란히 보여주는 사례다.

나홀로 작업에 익숙한 개발자들이 회사를 떠나게 되면 그 프로그램은 사실상 더 이상의 업그레이드나 수정이 불가능해진다.

K씨가 회사를 그만두고 나오면서 후임자에게 넘겨준 것은 소프트웨어의 소스코드와 데이터 구조를 정의해놓은 워드파일 하나가 전부다.

후임자는 문제가 생기거나, 기능을 수정해야 할 때마다 소스코드를 모두 프린터로 출력해 한줄한줄 해독하는 작업을 벌여야 한다. 그러다 막히면 결국 K씨에게 SOS를 칠 수 밖에 없다.

소프트웨어는 살아있는 제품이며 지속적인 관리가 필요하다. 기초적인 설계를 충분히 해야 하는 것은 물론 각 개발 과정마다 꼼꼼한 문서작업을 통해 미래를 대비해야 한다. 하지만 우리 개발문화는 결과만을 중시한다.

K씨의 사례는 그래도 개발자와 연락이 돼 계속 손을 볼 수 있는 경우다. 다른 많은 경우 한번 개발자가 떠나면 후임자는 아예 프로그램을 새로 개발하는 편이 편하다는 게 일반적인 인식이다.

우리나라 프로그래머의 1세대로 꼽히는 안철수 사장은 우리나라 개발문화의 문제점으로 '커뮤니케이션의 부재'를 꼽았다.

안 사장은 "개발자만 작업해서 되는 것이 아니라 마케팅, 영업, 고객 지원, 기술 지원을 비롯하여, 고객과도 직접 의사소통을 하면서 일을 해나가야 되는 세상이다. 따라서 현대 사회에서는 커뮤니케이션 스킬이 필수적이지만, 대학교를 졸업하고 바로 회사에 들어오는 사람들 가운데는 본인이 생각하는 바를 정확히 말로 표현하지 못하고, 다른 사람이 말하는 것들을 정확하게 알아듣지 못하는 경우가 생각보다 많다"고 지적한다.

안 사장은 또 "여러 사람들과 같이 팀으로 일해본 경험이 부족하다 보니, 팀 작업을 할 때 어떤 일을 어떻게 분담해서 하는지, 개발 이외의 다른 분야 사람들과 어떻게 일을 나누어 해야 하는지에 대한 훈련이 되어 있지 않아서 프로젝트 진행에 난항을 겪는다"며 "개발자들이 일정 수준의 단계를 뛰어 넘어 성장하기 위해서는, 즉 코더를 벗어나기 위해서는 공동으로 진행하는 큰 프로젝트의 경험이 필수적"이라고 말했다.

◆ '현실 탓'으로만 돌려야 하는 현실

설계능력과 커뮤니케이션의 부족. 이는 우리나라 소프트웨어 기업 거의 대부분이 겪고 있는 문제다.

특히 커뮤니케이션의 부족은 우리나라 소프트웨어의 경쟁력을 저하시키는 기본적인 요인으로 작용한다.

대형 SI기업의 K과장(38). 지난해 그는 모두 4개의 프로젝트를 관리했다. 그는 우리나라 SW 업체들의 문제를 '기본이 안돼 있다'는 말로 요약했다.

그는 "이메일 솔루션이 필요해 제안서를 요청했는데 달랑 제품 소개서 한 장 보내더라. 자재설비업체들마저도 대단히 정제된 제안서 템플릿을 갖고 있는데 정말 비교되더라. 정말 한심한 수준이다"고 개탄했다.

K 과장은 "어찌어찌해 제안서를 받아 프로젝트에 들어가도 답답한 것은 마찬가지다. 프로젝트를 하면서 문서작업은 전혀 없다. 문서작업을 하라고 하면 마지못해 시늉만 낸다. 개발을 끝내놓고 매뉴얼을 만드는 것도 일일이 목차를 정해줘야 겨우 정리하는 수준"이라고 꼬집었다.

K 과장은 그러면서도 "어떠한 기능을 만들어내는 코딩 작업만큼은 진짜 우리나라 개발자들이 훌륭하다. 혀들 내두를 정도다. 하지만 그게 전부다. 솔직히 이러다 나중에 문제가 생기면 소스 뽑아서 일일이 체크해야 할 생각에 암담할 때가 많다"고 한숨을 쉬었다.

K과장은 "우리나라 소프트웨어 기업들은 대부분 개발자 출신이나 대기업 임원 출신들이 CEO다. 이들이 구조적인 개발 문화에 관심이 없는 것 같다. 또 워낙 영세한 기업들이 많아 프로젝트 따내는 데 급급하다보니 그런데 신경쓸 여력이 없고 결국 악순환이 계속되는 것 같다"고 진단했다.

모로가도 서울만 가면된다. 결과만 제대로 나오면 된다는 생각은 중간 과정을 생략 또는 무시해버리는 우리의 개발 문화의 씁슬한 단면이다.

이러한 개발문화는 제품 개발이후 사후서비스의 부실로 곧바로 이어진다는 점에서도 심각하다. 사후서비스의 부실은 다시 기업의 장기적인 생존과도 직결되기 때문이다.

제품 개발인력만 있지 사후서비스 인력은 없다. 프로젝트에 개발인력 투입하고 나면 기존 고객의 사후서비스는 엄두도 못낸다.

사후서비스 문제는 매뉴얼이 부실하다는 데서 단적으로 드러난다. 매뉴얼을 달라고 하면 A4용지 서너장이 전부인 경우도 있다.

웹 솔루션 개발업체인 A사는 일본 시장 진출시 매뉴얼 때문에 큰 곤욕을 치렀다. 제품에 자신은 있다고 믿었지만, 일본 기업은 제품을 검토하는데 거의 1년여의 시간을 끌었다. 매뉴얼을 보고 하나하나 모두 실제 실행해보면서 한달에 한번씩 장문의 검토 보고서를 보내왔다.

어느 부분에서 매뉴얼대로 작업이 안되고, 어떤 부분은 매뉴얼에서 찾을 수 없었다는 내용이 빼곡이 찬 보고서를 받아 매뉴얼을 수정하고 제품을 손보면서 혀를 내둘러야 했다. 결국 일본어 매뉴얼은 한글 매뉴얼의 3배 가까이 두툼해졌고, 그 와중에 제품의 기능도 탄탄해질 수 있었다고 쓴 웃음을 지었다.

품질관리나 매뉴얼 작성도 우리는 대개 개발자들이 직접 한다. 이 때문에 소비자의 관점에서 생각하는 서비스 정신이 부족할 수 밖에 없다. 외국의 기업들은 품질관리나 매뉴얼 작성을 개발자가 아닌 별도의 인력이 담당한다.

프로그램을 전혀 모르는 최종 사용자를 데려다 매뉴얼을 보면서 소프트웨어를 이용하게 해 본다. 그렇게 해서 최종 매뉴얼이 통과된다. 우리 현실에서는 꿈같은 이야기일 수밖에 없다.

소프트웨어 개발 이후가 중요한 것은 사후서비스 부분의 매출이 소프트웨어 기업의 중요한 매출원이자, 안정적인 매출 확보의 원동력이기 때문이다.

유지보수 매출이 안정화됐다는 것은 기업이 안정적인 기반을 다졌다는 말과 같다. 하지만 우리 소프트웨어 업체들 가운데 이런 기업은 거의 찾아보기가 어렵다. 그만큼 SW산업의 기초 체력이 부실하다는 얘기다.

하지만 CEO든 개발자든 모두 '현실때문에...'만 되뇌이고 있다.

CEO는 '당장 먹고 살기 힘든데...', 개발자는 '하고 싶지만 일이 너무 많아서...'

반응형

'공부 > 컴퓨터' 카테고리의 다른 글

RSS를 아시나요?  (0) 2004.02.06
[PHPSCHOOL] JAVA  (0) 2004.02.05
[옥제환의 Inter-Tainment] 관리, 염두에 두고 있나요?  (0) 2004.02.01
[PHPSCHOOL] 떠나며...  (0) 2004.01.30
인터넷 사용 환경 분석.  (0) 2004.01.29