티맥스소프트는 왜 무너진 것인가? 노땅엔지니어의노트

대학2학년 프로그래밍언어 강의 첫시간에 교수님이 이런 이야기를 들여주셨습니다.
 
미국에서 공부를 할때 경험한 것인데 교수가 프로그래밍 리포팅을 내주면 미국의 학생들은 우선 먹거리를 잔뜩 사가지고 실습실에 죽치고 앉아 프로그램 설계부터 시작하는 반면 한국의 유학생들은 바로 컴퓨터 앞에 앉아 코딩부터 시작하여 두세시간만에 뚝딱 끝내고 휙 나가버린다.
그런데 나중에 결과물을 보면 미국학생들의 프로그램은 에러가 거의 없는데 한국유학생들이 개발해놓은 것은 에러투성였다.'
 
왜 프로그래밍 첫 시간에 이 얘기를 들려 주셨는지 우리는 쉽게 알수 있습니다.
 
 직장생활을 하면서 영국과 일본의 소프트웨어 엔지니어들과 함께 프로젝트를 했던 경험이 있습니다. 그들의 공통점은 PM과 전문 다큐먼트 작성자 및 전문 테스터가 별도로 있다는 것과 프로젝트 전(全) 과정의 소요시간분배를 보면   분석/설계 > 다큐먼트작성 > 테스트 > 코딩의 순서 입니다. 다큐먼트 작성은 설계가 끝나면 바로 시작하여 테스트가 끝날때가지 지속적으로 이루어집니다.

반면, 우리나라 프로젝트 참여자들의  시간분배를 보면  코딩 > 테스트 > 다큐먼트작성 > 분석/설계 순인데, 다큐먼트는 테스트가 끝난후 보고서작성 단계에서 시작하여 끝냅니다. 다큐먼트는 프로그램 소스를 보고 작성하며, 기계적으로 작성폼에 맞추어 발주자에 대한 제출목적으로 작성됩니다.
다큐먼트가 형식적이다보니 시스템특성과 운영자의 입장이 고려되지 않아 운영과정에서 별 도움이 되지 않기때문에 프로젝트가 끝난후 운영자들은 그 다큐먼트를 거의 참고하지 않습니다.
 
저도 요즘 프로그래밍을 할때면 연습장에 쓱쓱 다이어그램을 대충 그려보고 바로 코딩에 들어갑니다. 작성도중 중간중간 에러를 잡기위해 테스트를 하고 시시때때로 DB필드를 추가하기도 합니다.
그래서 몇년정도 지나 소스를 들여보면 마치 오래전 세련되지못했던 시절의 모습을 볼때처럼 창피함을 느끼곤합니다.
 
저는 전문프로그래머는 아닙니다. 그래서 전문프로그래머들은 저보다 훨씬 더 잘 하실것이고, 개발과정에 시간분배도  이제는 선진국 엔지니어들에 근접해 있을지도 모르겠습니다.
그러나 분명한 것은 우리나라는 소프트웨어에대한 인식이 매우 부족하고, 그 특성도 잘못 이해하고 있는것 같습니다.
소프트웨어는 제조업이나 건설, 토목분야의 상품 제작과정과 근본적으로 다릅니다. 따라서, 소프트웨어 제작을 제조업이나 건설업에서의 사고방식으로 바라보면 엄청난 오류를 범할수 밖에 없습니다.
예를들어, 건축물은 50%만 완성해도 그것이 가치가 있고, 어느정도 이용도 가능할수 있지만 소프트웨어는 100% 완성되지 않으면 값어치가 거의 없으며, 이용할수도 없습니다.
 
건축물은 시간이 지남에따라 상품이 완성되는 모습을 직접볼수 있지만 소프트웨어 개발은 최종적으로 테스트가 끝나 기능이 검증되기 전에는 상품성으로써의 가치가 거의 없습니다.
엄밀히 말하면 소프트웨어개발은 끝나봐야 결과를 말할수 있습니다.
그런데 우리나라는 제조업이나 건축업, 토목업의 마인드로 소프트웨어산업을 바라보는 경향이 너무 강합니다. 그리고 비즈니스에서도 그런 마인드를 가진 장사꾼들이 판을 칩니다.
 
대한민국 소프트웨어업계의 대표주자임을 주장해오던 티맥스소프트가 워크아웃을 신청했습니다. 1500억이넘는 부채뿐만 아니라 부채가 계속 누적되고 있기때문입니다.

 
티맥스소프트를 이지경으로 몰고간 원인은 무엇일까?

여러가지가 거론되고 있는데 그중 핵심은 단연 '티맥스윈도'개발을 무리하게 밀어붙였기 때문이라고 생각합니다. 티맥스와 관련된 분들이 이 글을 읽으시면 무척 언짢으겠지만 저는 개인적으로 티맥스가 윈도우OS를 개발하여 마이크로소프트를 따라잡겠다는 제품개발 발표회를 거창하게 가졌다는 뉴스를 보는순간  그 원대한 계획이 일장춘몽으로 끝나리라 예상했었습니다. 아마도 저뿐만 아니라 많은 업계의 노땅엔지니어들이 그런 생각을 했으리라 생각합니다.
 
그렇게 생각한 가장 큰 이유는 티맥스가 MS의 윈도우를 너무 쉽게 생각하고, 평가절하하고 있는것같다는 생각에서 였습니다. 수백명의 뛰어난 프로그래머들만 있으면 단 몇년만에 MS의 아성을 무너뜨릴수 있다는 호언은 마치 영화 '300'에서 300명의 스파르타 정예군이 수십만명의 페르시아군대를 이기겠다고 하는것과 다르지 않습니다. 더우기 MS의 수만명의 윈도우개발자들은 스파르타 정예병들 만큼이나 뛰어난 인재들입니다.
 
소프트웨어개발을 건축업이나 토목공사처럼 비슷하게 지어놓으면 따라갈수 있다고 생각한다면 그것은 정말 소프트웨어를 잘 모르는데서 오는 분명한 오산입니다. 소프트웨어의 진정한 가치는 개발자의 마인드이고 기업의 마인드이며, 사용자들의 머릿속 깊히 자리잡은 인식에 달려있는 것입니다. 
 
소프트웨어개발에서 가장 중요한 것은 설계입니다. 더 중요한 것은  왜 그렇게 설계를 했느냐는 것이겠지요. 설계에는 고객의 니드(NEED)가 들어있고, 기술의 트랜드가 있고, 개발업체의 정신과 진정성이 뭍어있습니다. 그러니 설계를 하지않고 코딩부터해서 서둘러 모양만 비슷하게 만들었다고 훌륭한 제품이 탄생하는 것은 아니지요.
 
대한민국은 모든것을 너무 빨리끝내려 합니다. 혹자들은 그것을 우리민족의 민족성이라고도 합니다.
분명한것은 우리나라의 소프트웨어산업이 더이상 발전하지 못하고 오히려 추락하고 있는 것은 소프트웨어 발에서 중요한 단계를 모두 건너뛰고 결과만을 빨리빨리 만들어내려는 습성과도 무관하지 않다고 생각합니다.
 
소프트웨어제품은 몇몇사람의 쇼맨십과 번지르르한 마켓팅 전략만으로 성공할수 있는 그런 분야가 아닙니다.

이전글보기 : http://www.ittrend.co.kr/board/board/noddang_list.html?svc=commu

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://ittrendnoddang.egloos.com/tb/5349335 [도움말]

덧글

  • uriel 2010/07/02 15:08 # 답글

    제목과 티맥스의 내용이 일치하진 않네요.

    티맥스 윈도우의 퀄리티 문제는 설계 기간 자체는 문제가 없는데, (코딩 안하고 설계 한 기간이 절반은 넘었습니다) 윗 선에서 있는 사람이 설계만 좋아하고 테스트를 제대로 안해서입니다. 일정 관리에서 테스트 부분이 무시됐죠.

    티맥스의 다른 부분들은 테스트가 잘 된 팀들도 많은데 같은 회사의 해당 경험도 제대로 못 사용 한 것은 해당 관리자의 가장 큰 잘못입니다.
  • JOSH 2010/07/02 16:22 #

    혹시 티맥스 내부 분이신가요..

    사실 저도 본문을 쓰신 노땅엔지니어님의 의견에 전적으로 동감하는건 아닙니다.

    티맥스OS는 결과(발표된 중간의 내용들)를 보게 되면,
    큰 사업 하나를 사회나 업계를 속여먹으려는 사기성 기획으로 세우고,
    개발 내용 자체도 이미 모든사람들이 추측하듯 리눅스의 Wine 기반 호환기능에,
    오픈오피스의 UI를 커스터마이징해 붙이려는 날림과 사이비 였다고 생각되기 때문에
    일반적인 평범한 프로젝트들과 비교되는건... 일반 개발프로젝트들을 모독하는 거라 생각됩니다.

    그렇다 하더라도 위 글이 왜 의미가 있냐하면...
    사업이나 개발이나 추진하는 과정은 매한가지 이니까요.

    경영자들이 정상적인 판단력을 가지고 기획-설계된 내용을 곱씹었다면,
    이렇게 이상한 프로젝트를 과연 승인했을지?

    처음에 저런 기획이 아니었다면, 멀쩡한 기획과 설계가 있었는데
    개발자들이 임의로 저렇게 개발을 진행하였다면 (그럴리 없었겠죠)
    그걸 왜 언론발표 등 큰 마일스톤이 있음에도 불구하고
    사전에 관리를 못하고 발표되게 했는지?

    이런 것들이 본문에 있는 것 처럼
    정상적인 설계를 안하고 진행한 프로젝트의 결과물이
    버그투성이인 것과 마찬가지라고 봅니다.
  • uriel 2010/07/02 22:23 #

    조금 더 말을 해 보면 코어 퇴직자입니다. 저야 못받은 돈이 천만원이 넘는데 회사에 대한 감정이 좋을 리는 없죠.

    티맥스는 정말로... 보통의 소프트웨어 회사의 상식으로 판단하기엔 이상(?)한 회사입니다. 윈도우를 시작 한 이유는 일단 커널을 만든 다음에 다음 버전의 커널을 실제로 무언가 팔릴만한 제품을 만들려고 했었습니다. 모바일/데스크탑/서버 셋 중에서 대부분의 내부 개발자들이 모바일로 가자고 이야기를 했었는데 오너가 독단적으로 데스크탑으로 결정했습니다.

    구조는.. wine의 호환 기능을 붙였으면 안정성이나 속도가 훨씬 편했을 겁니다. 개발 기간도 한 3개월이면 충분하고요. 여기 윈도우매니저 담당하셨던 개발자 분은 정말 수퍼맨이라 bash shell prompt 밖에 없는 OS에다가 X를 전부 라이브러리 포팅까지 포함해서 올리는데 딱 1주일 걸린 분입니다. firefox까지 돌리는데 1달 걸리더군요. 이게 앞에서 말했던 처음 커널을 만든 지 얼마 안된 때의 일입니다.

    티맥스 윈도의 가장 큰 문제는 내부적으로도 계속 변하는 마일스톤에 그걸 중간에서 컨트롤 못한 중간 관리자들 등이라고 개인적으로 봅니다.

    오픈 소스의 경우는... 아래단에서 위 단으로 갈 수록 오픈 소스가 섞여 있는 비중이 늘어났습니다. 그래서 *나중에 배포 시점에* 어느 layer 이후로는 open 할 계획이 내부적으로 검토되긴 했습니다만, 지금 와서는 의미가 없죠. GPL의 경우 어느 시점에 소스 공개의 의무가 생기는지 고려 해 보시지요.

    P.S. 아래의 나인테일님의 의견에 어느 정도 동감합니다.
  • =_=.... 2010/07/02 23:11 # 삭제

    uriel // 추앙할 분이네요..;;
  • 지나가다 2010/07/02 18:11 # 삭제 답글

    회계로 보자면 티맥스 OS 이전, 판교 발표 이후부터 막장이었습니다.

    무한히 불어나는 단기채무는 더 이상의 분석을 할 이유를 없앨만큼 강력했고요.
  • 나인테일 2010/07/02 19:03 # 답글

    저는 오히려 티맥스 윈도우는 빵꾸난 재정을 가리기 위한 연막에 지나지 않았다고 봅니다.
  • ff 2010/07/02 19:57 # 삭제 답글

    티맥스는 그렇다 치고,

    그럼 티맥스에서 병 걸려도 참으면서, 집에도 못 들어가고 일한 사람들은 어떻게 되는 거냐.

    참...
  • akpil 2010/07/02 21:16 # 답글

    티맥스 윈도는 멋 모르는 사람들을 대상으로 투자 받아서 한탕 해 먹기 위한 거대한 사기극이었죠.
  • dex 2010/07/02 21:24 # 삭제 답글

    모든 것의 바탕에는 "단가 후려치기"가 있는 듯...
    단가를 쥐어짜면, 결국 코딩>>테스트,설계,문서 가 될 수 밖에 없는지라.
  • 꼬마네꼬 2010/07/02 23:08 # 답글

    티맥스에 아주 잠깐 몸을 담았던 제 생각으로, 티맥스의 몰락의 가장 큰 이유는 크게 세 가지입니다.
    1. 박교수의 허영심. (+ 쓴 소리 하는 사람은 일단 내치고 단소리 하는 사람만 측근에 두는 성격.)
    2. DB
    3. 윈도우
    (그런데, 결국 2번과 3번은 1번과 귀결 되는 문제입니다. 자기 잘난 줄만 아는 CEO가 회사를 어떻게 잘 말아먹나 하는 표본이지요.)

    사실 지금 당장의 상황은 윈도우로 인한 타격보다는 DB(티베로)와 해외 영업에서 말아먹은 적자 폭이 크기 때문일 겁니다. JEUS라는, 그 하나의 유지보수 비용만으로도 상당한 매출이 가능한 회사를 말아먹는 것은 단기간 개발 된 윈도우보다 꾸준한 적자를 보여준 DB가 컷겠죠. (Release까지 7년이 걸렸습니다.) 물론 그 DB가 없었다면 윈도우가 더 큰 공헌을 했겠지만, 뭐 그래도 한 1~2년은 더 버텼겟지요... (그리고 그때까진 나 월급은 받고 일할 수 있게 해줬겠지...)

    아이러니한 것은, 티맥스 소프트의 몰락에 결정타를 날려준 티맥스 코어는 삼성SDS에 인수 되어, 적어도 당분간은 안정적인 노선을 기대할 수 있다는 것 입니다. (티맥스 데이터도 워크아웃 신청하지 않았다고 합니다.)

    박교수가 편애하는 사람들 위주로 컨트롤 타워가 생성 되고, 작년 말에 그 컨트롤 타워가 역할을 하지 못하면서 조직적으로 붕괴 되면서 더 큰 재앙을 초래했다고 생각합니다. 너무 단기간에 사람을 많이 뽑아서 회사 구조를 유지하기 힘들기도 했군요.


    덧붙이자면, 티맥스 윈도우는 제가 퇴사하기 전까지 가시적인 성과는 있었습니다. 단순한 사기극이라고 몰아붙일 정도는 아니었죠... 하지만 미들웨어 한 두개 만들어 놓고, 모양이 그럴싸할 것 같아서 4대 프레임워크 운운하고 이것저것 좀 가져다 붙이다가, OS!!하면서 눈 반짝이며 개돌하는 미친 교수가 답이 없었을 뿐입니다.
  • highseek 2010/07/03 00:05 # 답글

    1. 전문 프로그래머라고 해봐야 별 거 없습니다. 국내에서는요.

    2. 우리나라 소프트웨어 업계의 가장 큰 문제 중 하나가, 분업 시스템이 없다시피 합니다. 요구사항 분석 및 설계 파트, 문서 작성 팀, 개발 파트, 테스터 등을 나누어 진행해야 하는데, 우리나라는 개발자들이 죄다 하죠. 그러다보니 일은 밀리지, 대기업에서 전화 와서는 꼭 하는 말이 "당장 오늘 안에 해결해달라"지..-_- 그러다보니 설계고 문서고 뭐고 뒷전. 일단 당장 돌아가게 막코딩 해놓고 나중에 땜빵처리하고.. 주먹구구가 따로 없죠. 또 문서 만들어야 돼, 테스트케이스 작성해야 돼, 모듈검증 해야돼, 대기업에 데모 해야돼.. 개발 외의 것에 뺏기는 시간이 너무 많아요. 하루에 진득하게 앉아서 코딩할 수 있는 시간 별로 없습니다.

    3. 또 큰 문제가 테스터인데, 우리나라에는 전문 QA가 없다시피 합니다. QA라면 원래 요구사항과 개발 컨셉을 보고 나름대로 검증계획을 수립해서 개발 전에 먼저 테스트케이스와 테스트 데이터 다 만들어놓고, 개발 완료되면 프론트엔드, 백엔드 테스트 등 다양하고 꼼꼼하게 해야겠습니다만, 우리나라에선 뭐 개발자들이 자기들이 만든 모듈 가지고 자기들이 테스트케이스 다 만들고 검증데이터까지 다 넣고 어떻게 테스트해야 한다는 것까지 일일이 다 작성해서 QA 주면, QA는 그냥 짜준거 돌려만보는..OTL
  • 배후세력 2010/08/04 19:19 # 삭제 답글

    티맥 퇴직자입니다. 소프트 연구실 중간관리자였고 7년인가 8년인가 있었어요.
    티맥의 문제는 소프트웨어 업계의 문제와 썩 맞지는 않아 보여요. 아주 특별한 회사였어요.

    왜 망하게 되었느냐. 제 생각엔 박교수의 허영심이 정답입니다. 저는 처음부터 일관되게 OS 개발에 부정적이었고, 그것은 설령 완성된다고 해도 매출을 만들 수 없었기 때문이었죠. 완성 자체도 불가능에 가까워요. 단지 OS의 완성이 문제가 아니니까요. 위의 퇴직자 분은 놀랍게도 윈도 매니저를 만들어 냈다고 감탄하시지만, 그건 티맥윈도의 스펙이 전체가 아닙니다. 티맥 윈도의 상품성은 박교수 말대로 Window 바이너리의 100% 호환이 이루어져야 발생하거든요. 린도우즈나 리엑트OS 혹은 와인 처럼 윈도우 클론 OS가 스펙이에요. 심지어 코엑스의 발표자료에는 Mac 100% 호환 스펙도 들어있더군요. (그날 정말 관계자로서 줄담배피느라 힘들었습니다요) 스펙은 달성 불가능이라고 봐요. MS도 자기네 호환성 다 못 맞춥니다.
    게다가 오피스에 브라우저까지 개발한다뇨. 그나마 구색을 맞추기에 좋은 오픈오피스에 웹킷까지 다 걷어내는 스펙이었어요. 왜?

    이건 저도 아직 이해할 수 없는 일이예요. 왜 박교수는 없는 OS가 완성되었다고 하였는가. 기술적 파산 지경을 지나고 있는 회사에서 추가 투자를 감행하며 불필요한 인력을 분기당 몇백명씩 추가 채용하였는가. 왜 그는 힘들여 만든 회사를 교회로 바꾸어갔는가. 왜 그는 불가능한 초메가 프로젝트를 계속 터뜨렸는가. 왜 회계상 안되는 코스닥 상장을 외쳤는가. 저는 박교수의 허풍이 언제부터 거짓말이 된 건지 알 도리가 없습니다.

    그래서 티맥의 파멸의 원인은 프로그래머가 아닌 경영자 층에서 시작되었습니다. 그리고 티맥에는 제법 괜찮은 QA팀이 있었어요. 그럼에도 불구하고 티맥의 잘 팔리는 소프트웨어조차 상당히 구렸죠.

    요약하자면 티맥은 좋은 소프트웨어를 만드는 회사는 아니었고, 예외적으로 그나마 괜찮은 놈이 두셋 있었고, 그들로 아주 잘먹고 잘살만했으나, 경영자들이 과대망상적인 개발계획과 자금 계획, 투자계획. 비젼을 실제로 집행하면서 급속도로 망했습니다.
  • 전 티맥 개발자 2011/06/24 17:12 # 삭제 답글

    "허영"이란 단어가 가장 적합한지는 모르겠으나, 배후세력님의 세번째 단락에서 나열한 예시에서 알 수 있듯이, 그냥 상식적으로 이해되지 않는 부분들이 많았고, 그것들은 소프트웨어 개발이라는 측면에서 제공하는 문제점들을 압도했다고 봅니다.
댓글 입력 영역