태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

개발자간 공유 문화 정착이 힘든 이유

2015.03.28 16:13 by 전규현


잠시 후 Google blogger로 이동됩니다.






소프트웨어를 개발하는데 있어서 가장 중요한 문화 하나는 '공유’ 문화라고 있다. 소프트웨어 개발 속도를 향상하고 비용을 절감하며 프로젝트 성공 확률을 높이는 중요 요소다. 뿐만 아니라 개발자들의 실력을 향상하고 개발자가 20, 30 계속 개발자로 일할 있도록 하는 기초 체력이기도 하다

 

하지만 우리나라에서 공유 문화를 제대로 갖추고 있는 회사를 찾아보기란 그리 쉽지 않다.  주변에는 소프트웨어 개발 문화에 관심을 가지고 있는 개발자가 많다. 특히 공유문화에 관심이 많아서 실천을 하려고 노력하는 경우도 많다. 하지만 그런 노력의 결과로 성공적으로 개발문화를 정착했다고 하는 소식은 들려오지 않는다. 이유는 무엇일까?

 

여러 가지 이유가 있겠지만 번째는 아직 공유에 노력을 하는 개발자들이 소수이기 때문이다

 

죄수 딜레마라고 들어본 적이 있는가

 

상황은 다음과 같다. 명의 사건 용의자가 체포되어 서로 다른 취조실에서 격리되어 심문을 받고 있다. 이들에게 자백여부에 따라 다음의 선택이 가능하다.

    하나가 배신하여 죄를 자백하면 자백한 사람은 즉시 풀어주고 나머지 명이 10년을 복역해야 한다.

    모두 서로를 배신하여 죄를 자백하면 모두 5년을 복역한다.

    모두 죄를 자백하지 않으면 모두 6개월을 복역한다.

 

죄수A 죄수B 침묵할 것으로 생각되는 경우 자백을 하는 것이 유리하다. 죄수B 자백할 것으로 되는 경우 자백이 유리하다. 따라서 죄수A 죄수B 어떤 선택을 하든지 자백을 선택한다.

죄수B 죄수A 동일한 상황이므로, 마찬가지로 죄수A 어떤 선택을 하든지 자백이 유리하다.

따라서 모두 자백을 하지 않는 것이 최선의 결과이지만 죄수 A, B 모두 자백을 선택하고 각각 5년씩 복역한다는 것이다.

 

이런 죄수딜레마를 게임으로 시뮬레이션을 해보면 죄수 둘이 서로 의논을 하게 하건, 죄수가 2명이 아니라 여러 명이건 상관없이 비슷한 결과가 나온다고 한다.

 

도로로 나가보자. 조금 막히는 교차로에서는 교차로 꼬리 물기가 아주 흔하다. 아무리 막히는 교차로라고 하더라도 꼬리물기를 하지 않으면 다같이 평균적으로 빨리 교차로를 빠져나갈 있다. 하지만 대중은 그런 선택을 하지 않는다. 다들 꼬리 물기를 하는 상황에서 나만 교통법규를 지키고 가만히 있으면 교차로를 가장 늦게 통과하게 것이다. 심지어는 주변의 차들에게 욕먹을 각오도 해야 한다. 꼬리 물기를 하는 차가 다수인 상황에서는 교통법규를 지키는 소수가 손해를 보게 되어 있다. 그래서 어쩔 없이 다같이 손해를 보는 경우를 선택하게 된다.

 

가족과 함께 괌의 리조트를 방문한 적이 있었다. 하지만 여기서 부끄러운 일을 목격했다수영장에는 충분한 선배드가 있는데 아침 9시쯤 수영장에 가보니 모든 선배드가 이미 임자가 있었다. 선배드에 타올을 하나씩 걸쳐 놓았지만 선배드에서 쉬고 있는 사람은 하나도 없었다 시간 나타난 선배드의 주인을 보니 모두 한국사람들이었다. 아침 일찍 일어나서 일단 선배드를 해놓고 아침식사를 하러 것이었다. 사실 선배드는 모든 사람이 충분히 만큼 많았다. 하지만 이용도 하지 않으면서 먼저 찜을 해놓으니 다른 사람들은 전혀 곳이 없게 것이었다. 한국에서는 이런 현상 이후로 수영장의 선배드 이용이 유료로 바뀐 것으로 알고 있다. 외국에서는 이로 인해 어떻게 바뀔지, 바뀌었는지 없다. 어쨌든 낯부끄러운 일이었지만 다음날 아침에는 아침식사를 하기 전에 선배드 개를 놓는 일에 동참하는 우리를 발견하게 되었다.

 

이렇듯 죄수딜레마는 어디에서나 나타난다. 약속을 지키면 다같이 이익이 되고 모두 약속을 지킨다는 확신이 없다면 약속은 순식간에 무너진다.

 

그럼, 규칙을 엄하게 적용하면 해결될 있지 않을까? 공유를 하지 않으면 벌칙을 주고 필요한 문서를 모두 만들지 않으면 승인을 하지 않아서 프로젝트의 다음 단계로 넘어가지 못하게 하면 해결할 있지 않을까? 이런 식으로 해결이 있었다면 우리나라의 대부분의 회사가 이미 공유문화가 정착되었을 것이다. 안타깝게도 엄격한 규칙적용은 그렇게 효과적이지 못하다.

 

첫째 만들어 놓은 규칙이 엄격하기만 공유 문화 정착에 효과적인 경우가 별로 없다. 왜냐면 엄격한 규칙을 만든 사람들이 대부분 공유문화를 체험해  적도 없는 사람들이기 때문이다대부분은 방법론에서 필요한 문서를 따와서 만들라고 하는데 대부분의 방법론은 공유문화와는 별로 상관이 없다. 게다가 방법론을 오해해서 오히려 복잡하게 적용하는 경우도 허다하다.

 

둘째 아무리 복잡한 규칙을 만들어도 개발자들은 요령껏 적응하고 피해 다니게 된다. 문서를 만들라고 하면 형식 면에서는 규칙을 충족하게 만들  있지만 진짜 필요한 내용이 들어 있는지 확인할 방법은 없다. 공유가 습관화되지 않은 대부분의 개발자들은 어쨌든 규칙만 준수하는 방법으로 진짜 공유는 피해 다니게 되어 있다.

 

셋째 나만 공유를 제대로 하게 경우 나만 손해를 있다는 생각을 의식적으로 또는 무의식적으로 하게 된다. 나중에 내가 없으면 유지보수가 어려워야 나의 가치가 올라간다고 생각한다. 전혀 틀린 얘기도 아니지만 다들 이렇게 생각하니 다같이 손해를 보는 것이다.

 

규칙을 통해서 공유문화를 만들어가는 것에는 찬성한다. 하지만 오히려 공유문화에 역행하는 규칙을 만드는 것이 일반적인 상황이라서 안타깝다. 개발자들이 공유에 익숙하지 않은 상황에서 너무 욕심을 내는 것도 된다. 현재 상황을 파악해서 공유문화를 만들어 있는 단계적인 접근이 필요하다. 개발자들이 소화할 있는 만큼의 규칙을 만들고 이것이 익숙해지는 것이 공유문화 발전 방향과 일치를 해야 한다. 이렇게 점점 규칙을 업그레이드 시켜나가면서 회사를 조금씩 바꿔나가야 한다. 물론 이런 과정을 통해서 다같이 이익이 것이라는 확신을 직원들에게 심어주어야 한다.

 

처음부터 과욕을 부리다가는 영원히 공유문화와는 멀어지게 된다그럼 비효율이 정착된 회사가 것이다.



이글은 ZDNet Korea에 기고한 칼럼입니다.

저작자 표시 비영리 변경 금지
신고

전규현 개발문화 공유, 문화

야근, “악의 균형”

2015.03.09 20:10 by 전규현


잠시 후 Google blogger로 이동됩니다.






어떤 경영자는 “우리 회사 개발실은 밤이나 주말이나 불이 켜져 있다”고 자랑을 한다. 6개월간 개발자들이 집에도 못 들어가면서 프로젝트를 하고 있는 것을 자랑스럽게 얘기하기도 한다. 오랜 야근으로 이혼에 이르게 된 개발자를 에피소드로 소개하기도 한다. 많은 경영자들은 야근이 개발자들의 열정을 대변해준다고 생각한다.


나도 수년간 자발적으로 하루에 14시간 이상 개발을 한 적이 있다. 단기간이거나 자발적이 초과근무는 효과가 있지만 장기적이거나 강요된 야근은 효과가 점점 떨어져서 마이너스 효과가 난다. 경영자들은 야근은 곧 열정의 결과라고 생각하곤 하지만 강요된 열정은 오래가지 못한다. 경영자의 희망사항일 뿐이다.


개발자의 야근은 우리나라 소프트웨어 산업의 큰 이슈다. 과도한 야근은 직업의 질을 떨어뜨리고 뛰어난 인재들을 소프트웨어 업계로 들어오는 것을 가로막고 있다. 또한 이미 소프트웨어 업계에서 일하는 인재들도 다른 업계로 떠나게 만들거나 개발 일을 때려 치우고 관리자나 다른 일을 찾게 만든다.


그럼 소프트웨어 업계에서도 유난히 더 야근이 많은 이유는 무엇일까? 일반적으로 다른 산업계의 야근의 첫 번째 이유는 “생산성”이 낮기 때문이다. 생산성이 낮기 때문에 임금이 낮다. 경영자는 부족한 생산성을 채우기 위해서 야근을 드라이브가 하고 근로자는 야근 수당을 받아 낮은 임금을 보충하기 위해서 야근을 한다. 자동차 공장에서는 야근을 하면 야근 수당이 나온다. 낮은 생산성에 따른 저임금은 야근과 주말근무를 통해서 보충한다. 이를 통해서 선진국과의 임금의 차이를 좁히는 “악의 균형”이다.


하지만 소프트웨어 업계에서는 야근을 한다고 야근 수당을 더 주는 경우는 드물다. 보통 개발자는 야근을 통해서 임금을 더 받는 것도 아니고 그냥 야간을 강요 받는 경우가 많다. 그래서 경영자는 야근을 통해 부족한 생산성을 야근을 통해서 보충했다고 생각할지 몰라도 개발자 입장에서는 아무런 이익도 없다. 소프트웨어는 자동차 공장과 달라서 야근에 따른 생산성 향상을 측정하기가 매우 어렵기 때문에 시간대로 야근 수당을 지급하기도 어렵다. 그래서 대부분은 야근 수당을 주지 않는다. 이러니 경영자 입장에서는 개발자의 야근을 아주 손쉬운 수단으로 생각한다.


이는 육체노동 산업과 지식 노동 산업의 차이 때문에 발생한다. 특히 소프트웨어는 창의적인 지식 산업이기 때문에 야근이 결정적으로 생산성을 올려 주지는 않는다. 그 이유는 여러 가지가 있다. 한 시간에 자동차를 한대 만들면 두 시간이면 두대를 만든다. 천재가 와서 열대는 못 만든다. 하지만 소프트웨어는 개발자에 따라서 수십배 이상의 차이를 보인다. 창의적인 아이디어와 예술적인 생각이 중요한 경우에는 수백배 차이가 날 수도 있다. 이렇게 소프트웨어는 뛰어난 인재가 더욱 높은 생산성을 발휘하는데 낮은 임금을 선호하는 많은 경영진 때문에 뛰어난 인재는 오히려 제대로 대접을 못 받는다. 


그럼 생산성이 낮은 이유는 무엇일까? 물론 생산성이 높은 회사도 있다. 평균적인 수치를 말하는 것이다.


무엇이 원인이고 무엇이 결과인지 알 수 없이 이미 악순환의 고리에 들어가 있는 회사가 많다. 경영진들이 소프트웨어에 대한 이해가 부족한 상태에서 단기적인 영업 드라이브 정책으로 촉박한 프로젝트에만 매달리면 장기적인 기술 로드맵이나 기술공유는 어려워지고 호떡집에 불 끄듯이 일단 개발을 해 놓으면 이렇게 뱉어 놓은 코드들은 회사의 미래를 더욱 복잡하게 만들고 생산성은 더욱 떨어지게 만든다. 그러면 또 야근에 매달리고, 우수한 인재는 회사를 떠나고 낮은 임금의 개발자들이 투입되면 생산성은 더욱 떨어지게 된다. 그러면 더욱 야근에 내몰리게 된다. 


경영진들의 근거 없는 야근에 대한 믿음도 한몫 한다. 밤이나 주말에 사무실 순찰을 돌아서 개발자들이 자리에 없고 텅 비어 있으면 낮은 평가를 주거나 팀장을 문책하기도 한다. 이런 분위기를 만들면 개발자들은 어차피 야근을 해야 하는 상황이라면 낮에는 설렁설렁 체력을 비축하고 밤에 집중해서 일하기도 한다. 이렇게 개발자들을 평가하는 잘못된 잣대는 개발 문화를 더욱 꼬이게 만든다.


해결책은 악순환을 선순환으로 바꾸는 것이다. 이미 악순환의 고리에 깊숙이 빠진 회사는 빠져 나오기가 쉽지는 않다. 하지만 악순환의 결말은 뻔하기 때문에 빠져 나와야 살 수 있다. 악순환을 선순환으로 바꾸는 방법은 소프트웨어 문화를 바꾸고 소프트웨어 공학을 도입하는 것이다. 소프트웨어 문화나 소프트웨어 공학은 모두 소프트웨어를 빨리 개발하고 생산성을 높이는데 집중되어 있기 때문이다. 스펙을 제대로 쓰고, 설계를 하고, 소스코드 관리를 제대로 하고, 이슈관리를 하는 이유는 오직 하나, 소프트웨어를 빨리 개발하기 위한 것이다. 효과적인 개발 프로세스를 만들고 소스코드를 리뷰하는 목적도 생산성 증가다. 직원들간에 정보를 공유하고 전문적인 조직, 수평적인 조직을 만드는 이유도 생산성을 증가하기 위한 것이다.


생산성이 증가해야 임금도 오르고 야근도 줄어들고 신기술도 익히고 창의력을 발휘할 여가 생긴다. 그러면 우수한 인재가 더 많이 유입되고 생산성은 더욱 오르는 선순환이 될 것이다. 여기서 전제조건은 경영진이 소프트웨어를 이해하려고 노력하고 소프트웨어 문화와 소프트웨어 공학에 투자를 해야 한다는 것이다.


물론 현재 회사의 수행 능력을 고려하여 적절한 변화와 혁신을 꾸준히 추진해도 수년이 걸리는 일다. 그래도 포기를 할 수는 없다. 포기는 곧 미래를 포기하는 것과 같기 때문이다. 


이글은 ZDNet Korea에 기고한 칼럼입니다. 




저작자 표시 비영리 변경 금지
신고

전규현 개발문화 문화, 야근

  1. 원인을 개발자 외부 요인으로 돌리는데 개발자 스스로가 야근 근무 수당을 강하게 주장하지 않기 때문이죠. 청소아주머니 택시 화물도 주장하는 뎀 말이죠.

  2. Blog Icon
    야근하다가

    저도 지난 20 년 가까이 야근을 꾸준히 해 왔는데요.
    낮에는 무언가로 계속 바빠서 (인터럽트가 생겨서) 코딩에 집중을 못하고
    남들 퇴근하고 난 저녁 이후에는 인터럽트가 없이 코딩에 집중할 수 있어서
    야근을 계속 해 온 것 같습니다.

  3. Blog Icon
    webstar

    낮에는 인터럽트, 야간이나 되야 집중 가능 - 저도 여기에 한표인데요.
    개발자는 아닙니다.

    온갖 고민은 혼자 해서 그랬는지, 쓸데없는 회의로 인해 처리 안된 건 들 때문이었는지.
    인력이 부족한 것이었는지, 효율적으로 관리를 못한 것인지.
    저녁을 먹고 좀 밀린 고객 대응 작업과 풀어야할 문제와 대응안과 자기 계발용 서칭까지 하다보면 밤12시는 그냥 넘는 생활을 수년간 하다보니, 지속적으로 더 떨어지는 효율성과 지긋지긋한 어깨결림이 다시 생각나는 군요.
    다음날 상황과 맞지않는 사내 발표가 있는 날은 한숨에 한숨을 쉬다가 날을 새곤 했었죠.
    그리고 상사와 싸우지 않으려면 할말은 여전히 못한채, 무엇이 현실인지 알 수 없이 그냥 발표내용은 깨지고, 좀 된 IT회사도 그랬습니다.
    정말 재미있게 일할 수 있었을텐데, 근 시안적인 생각과 옛날 생각에 각주구검을 뛰어넘는 적당한 실력이 없었다고 생각합니다.그럼에도 불구하고 Win 했어야 하는 건데요~~

    지금은 떠났기 때문에 좀 홀가분하지만, 일 자체는 재미 있었죠~~

혼자만 알고 있는 개발자들

2015.01.16 22:48 by 전규현


잠시 후 Google blogger로 이동됩니다.






많은 회사 개발자를 만나면서 느끼는 우리나라 소프트웨어 회사들의 가장 큰 문제 중 하나는 개발자간에 정보와 지식의 공유가 잘 안 되는 것이다. 회사가 크던 작던 거의 모든 회사가 동맥경화에 걸린 것처럼 정보와 지식이 공유되고 유통되지 않고 몇 사람만 알고 있다. 회사가 크면 클수록 이런 현상은 더욱 심해진다. 

 
꽤 오래 전 어떤 개발자가 개발을 하면서 특정 라이브러리의 호환성 때문에 한 일주일 고생을 한 적이 있다. 인터넷도 검색하고 여러 시도를 해 보았지만 잘 해결이 안돼 여러 개발자가 고생을 하고 있었다. 수시로 사무실 통로에 서로 모여서 이와 관련된 짧은 토론을 여러차례 하면서 회사 내의 이슈가 되고 있었다. 
 
그렇게 며칠이 지날 때쯤 한 개발자가 말하길 이것은 자신이 수개월전에 이미 시도를 해보고 다 조사를 해본 것이라고 한다. 그리고 이것은 불가능하다는 것의 증거를 가지고 있다고 했다. 진작에 이것 때문에 고생하고 있다는 것을 알았지만 개발자들이 일주일이 지나도 해결을 못하자 자랑스럽게 얘기를 해주는 것이었다. 회사가 크고 서로 사무실이 달랐다면 이 조차도 전달이 안되었을 것이다. 그나마 회사가 작으니까 나중에라도 얘기를 해줄 수 있었다. 
 
이런 얘기를 들을 경우 개발자들은 그 개발자를 어떻게 생각할까? 남들이 모르는 것을 알고 있다고 존경심을 가질까? 아니면 왜 미리 알려주지 않았나 서운해할까? 아니면 이런 정보가 공유가 잘 안 되는 회사의 문화, 프로세스와 시스템을 탓할까? 
 
이런 개발자는 회사의 중요한 사람일까? 없어야 하는 사람일까? 내 생각은 이렇게 중요한 정보를 본인만 알고 있고 고의로 공유를 안하는 개발자는 해고감이다. 개발자는 개발에 관련된 내용을 적절히 충분히 기록하고 공유를 해야 한다. 이것은 말은 쉽지만 매우 어려운 일이다. 개발 과정에서 효율적이고 자연스럽게 정보와 기록을 남기고 공유를 해야 한다. 
 
이런 현상이 비단 개발자 탓만은 아니다. 공유가 잘 안되는 문화를 가진 회사에 입사를 해서 다른 사람과 자연스럽게 동화된 것 뿐이다. 공유를 할 마땅한 방법이 없기도 하고, 혼자서 열심히 공유를 하려고 해도 대부분의 개발자들이 자신의 업무에 바빠서 공유된 정보에는 관심도 없는 경우가 많다. 국내 많은 소프트웨어 회사들이 이와 비슷하다. 공유를 위해서 애쓰지만 대부분 성공적이지 않다. 공유에 실패하는 회사는 다음과 같은 특징이 있다. 
 
첫째, 소수의 인원만 정보 공유에 애쓴다. 경영진을 비롯해서 대부분의 개발자는 공유에 별로 관심이 없다. 공유가 왜 중요한지 인식을 못하기도 한다. 개발자 혼자 공유 문화의 전도사처럼 나서지만 누구 하나 인정해주지도 않고 본인도 금방 지치게 된다. 
 
둘째, 공유를 위한 시스템이 없거나 부족하다. 공유를 한다고 문서를 만들어도 문서가 버전관리도 안되고 여기저기 굴러다니고 정보를 찾기도 어렵다. 좋고 비싼 시스템이 있어도 제대로 사용하지 않는다. 이럴 때 비싼 시스템은 오히려 적절한 공유에 방해가 되기도 한다. 
 
셋째, 개발과는 별도로 문서를 따로 만든다. 문서를 만들어도 많이 만든다. 게다가 문서를 만드는데 엄격한 규칙이 있다. 대부분의 대기업이 여기에 해당한다. 경영진이 공유의 의지를 가지고 밀어붙이는 경우도 대부분 이렇게 된다. 하지만 이렇게 별도로 문서를 많이 만든다고 공유가 잘되는 것은 아니다. 엄격한 프로세스로 비효율적으로 많은 문서를 만들기도 하고 이를 형식적으로 지키기도 하지만 이것으로 공유에 성공했다고 볼 수는 없다. 
 
정작 중요한 정보는 공유가 안된다. 이런 회사의 특징은 대부분의 문서가 서로 정보가 안맞고 계속 업데이트가 안되서 쓸모가 없다. 게다가 쓸모 없는 문서와 쓸모 있는 문서가 섞여 있어서 올바른 정보를 구분하기 어렵다. 
 
넷째, 기존의 지식을 문서로 만들려고 애쓰다가 실패한다. 기존의 지식과 정보를 모두 끄집어내서 문서화 하는 일은 거의 불가능한 일이다. 일할 당시 그때가 아니면 문서화는 어렵다. 하루가 지나면 기억 속의 정보는 50%가 사라지고 일주일이 지나면 90%가 사라진다. 지금이 아니면 나중에는 문서화 할 수 없다. 밀린 일기는 포기하고 오늘 일기부터라도 쓰는 것이 좋다. 
 
다섯째, 항상 너무 바쁘다. 특히 고참일수록 더 바쁘다. 신입사원은 제대로 일하려면 수개월이 걸린다. 그러다 보니 고참이 더 바빠서 공유에는 신경 쓸 시간이 없는 악순환이 계속된다. 
 
반대로 공유에 성공한 회사는 다음과 같은 특징이 있다. 
 
첫째, 경영진을 비롯한 모든 개발자가 공유에 힘쓴다. 공유가 얼마나 중요한지 모두 잘 알고 있고 공유에 문화적으로 시스템적으로 투자를 한다. 
 
둘째, 적절한 시스템이 구축되어 있다. 대부분 이슈관리시스템, Wiki등의 시스템이 잘 구축되어 있고 회사의 거의 모든 정보와 지식이 잘 저장되어 있다. 뿐만 아니라 휘발성 커뮤니케이션 수단인 전화, 메신저, 이메일 등은 보조수단으로 사용되며 중요 정보는 대부분 시스템을 통해서 전달되고 공유된다. 
 
셋째, 문서는 최소로 만든다. 불필요한 문서를 만들지 않고, 꼭 필요한 문서 몇 개만 만든다. 문서의 형식도 꽤 자유롭다. 개발자들이 토론하면서 노트에 그린 그림을 사진을 찍어서 올리기도 하고, 온라인 그리기 도구를 쓰기도 하고 상황에 맞게 자유로운 도구를 활용한다. 
 
넷째, 공유가 습관화 되어있다. 항상 일하는 과정에서 자연스럽게 공유를 한다. 별도로 문서를 만든다고 많은 시간을 소비하지 않는다. 자유롭게 필요한 만큼 알아서 효율적으로 공유를 한다. 항상 노트를 하고 즉각 정리해서 이슈관리시스템이나 Wiki에 등록하는 것이 일상화 되어 있다. 개발자가 수시로 하는 작은 조사, 개발도 모두 문서화되고 공식적으로 진행된다. 
 
다섯째, 리뷰가 활성화 되어 있다. 모든 정보는 문서로 공유하기는 어렵다. 토론도 많이 하고 리뷰도 자주 있다. 리뷰과정을 거쳐서 문서는 꼼꼼히 검토가 되고 여러 직원들의 전문적인 의견이 반영된다. 고참일수록 리뷰에 많이 참석하며 자신의 경험과 지식을 리뷰를 통해서 전수한다. 
 
공유는 소프트웨어에서는 가장 중요한 기업 문화이다. 소프트웨어가 창의적인 지식산업이기 때문에 더욱 그렇다. 하지만 대부분의 회사는 위에서 언급한 공유에 실패하는 증상들이 보이고 있다. 그렇다고 이제부터 공유를 열심히 하자고 마음만 먹는다고 공유가 잘되는 것은 아니다. 복잡한 프로세스를 도입하는 것보다 공유 문화 정착이 열 배는 어려운 일이다. 
 
경영진의 의지가 가장 중요하지만 의지만 가지고 밀어붙이다가는 프로세스만 복잡해지는 함정에 빠지기가 매우 쉽다. 문화란 그만큼 바뀌거나 도입하기 어려운 것이다.


이글은 ZDNet Korea에 기고한 칼럼입니다.

저작자 표시 비영리 변경 금지
신고

전규현 개발문화 Wiki, 공유, 문화

  1. Blog Icon
    최정한

    좋은 글이네요.

  2. Blog Icon
    진창훈

    그래서 개발자는 자신의 블로그를 운영해야 합니다. 아무도 보지않을 사내 문서보다는 구글에서 검색되는 블로그를 운영하고, 거기에 상세한 내용을 적어놓으면 언젠가는 쓰이게 될테니까요.

美 SW 힘은 평등한 호칭 문화에서 생겼다

2014.04.06 12:28 by 전규현


잠시 후 Google blogger로 이동됩니다.





필자는 지금까지 소프트웨어 조직에는 수평적이고 자율적인 문화가 필요하다고 했다. 하지만 수직적이고 상명하복 식 조직문화를 없애고 평등한 토론에서 오는 창의적이고 효율적인 개발문화를 만들고 싶어도 넘기 힘든 큰 장애물이 있다. 


바로 '직급'을 부르는 호칭이다. 

한국은 아주 옛날부터 이름 대신 직급을 부르는 것이 전통이다. 부장님, 과장님이라고 불러야지 이름을 부르는 행위는 아주 무례한 것이고 조직문화에서는 용납이 안 되는 행위다. 호칭은 오래 이어져 온 전통이며 쉽게 바꾸지 못하는 고착된 문화다. 

직급을 부르는 호칭은 조직에서 상하관계를 명확하게 하고 상명하복 문화에서 쉽게 벗어나지 못하게 하는 강력한 수단이다. 차장과 부장은 권위의 수준이 다르고 차장에서 부장으로 진급했는데 이를 모르고 차장이라고 부르면 기분 나빠하는 사람도 있고 부르는 사람도 민망해진다. 가끔은 오랜만에 만난 옛날 동료의 직급을 몰라서 뭐라고 불러야 할지 애매한 경우도 많다. 

이런 수직적인 조직문화에서는 '대리'와 '부장'이 어떻게 똑같은 관계에서 평등하게 토론을 할 수 있겠는가? 호칭은 사람에 대한 인식과 사고를 지배하고 알게 모르게 행동과 말하는 것을 통제한다. 

부장의 얘기가 틀렸어도 눈치를 보며 쉽게 지적하기 어렵다. 설령 자신의 생각이 맞는다고 확신해도 위계질서를 무시할 수 없고 괜히 얘기했다가 나중에 불이익을 당하지 않을까 걱정하여 자연스럽게 자기 검열을 하게 된다. 그러다 보니 좋은 아이디어가 있어도 괜히 얘기했다가 일만 많아지고 면박이나 받지 않을까 걱정해서 가만히 있게 된다. 그래서 '가만히 있으면 중간이라도 간다'라는 생각이 지배를 하게 된다. 

복잡도가 소프트웨어보다 낮은 산업들, 특히 전통적인 굴뚝산업에서는 상명하복과 위계질서가 더 효율적인 경우도 많다. 하지만 인류 역사상 가장 복잡한 지식산업이라는 소프트웨어 산업에서는 상명하복으로는 효율적인 개발을 하기 어렵다. 자유로운 사고와 창의력과 혁신이 없이는 살아남기 힘든 소프트웨어 산업에서는 무엇보다도 평등한 토론 문화가 필수적이다. 

전통적으로 직급보다 이름을 부르는 미국이 소프트웨어 강국이 되는데 이런 호칭 문화가 일조를 했다고 생각한다. 신입사원이 사장의 이름을 부를 수 있고 자유롭게 의견을 얘기할 수 있는 토론 문화는 어릴 때부터 훈련이 되어 있다. 물론 모든 회사가 다 그렇다는 것은 아니고 사회 전반적인 문화가 그렇다는 것이다. 

필자는 수평조직 문화를 정착하기 위해서 호칭 문화를 획기적으로 바꾼 몇몇 우리나라 회사를 알고 있다. 

A사는 모든 직원이 서로 '영어이름'을 부른다. 서로 존칭은 하지만 극존칭은 사용하지 않는다. 말단 사원이 최고 경영자인 사장에게 그냥 '빌(Bill)' 또는 '스티브(steve)' 이렇게 부른다. 

문서나 회의록을 작성할 때도 "Bill이 이렇게 말했다"라고 작성을 한다.

 

수직적인 조직 문화에서 문서에 사장님을 언급할 때 이름을 그냥 쓰기가 몹시 꺼려진다. '사장님'이라고 써야 할지, '홍길동 사장님'이라고 써야 할지 고민이 된다. 이렇게 주제에 집중하지 못하고 신경을 쓰는 것 자체가 호칭에 지배를 받고 영향을 받고 있다는 증거다. 많은 기업은 문서나 대화에서 최고 경영자의 호칭을 CM 등 직급의 약자나 이름의 이니셜을 쓰기도 한다. 여기에는 최고위층 이름은 직접 언급할 수 없다는 금기도 작용하기도 한다. 조선시대에는 왕의 이름에 들어간 한자는 민간에서는 절대로 쓸 수가 없다. 이만큼 우리는 옛날부터 호칭에 민감하다. 

직원들끼리 영어 이름을 부르는 A사는 조직문화가 사뭇 다르다. 호칭 자체가 모든 것을 평등하게 바꾸는 것은 아니지만 평등한 조직문화를 만드는데 일조한다. 

회의나 토론 시간에 위계질서는 없고 자유롭게 발언하며 면박을 주지 않는다. 사장이나 말단 개발자나 똑같은 위치에서 의견을 얘기한다. 제3자가 이 광경을 보고 있으면 누가 사원이고 과장, 부장인지 알 수가 없다. 각자 자신의 전문성과 경험에 기반 하에 자유롭게 의견을 얘기한다. 이런 환경에서 창의적이고 혁신적인 아이디어가 나온다. 

빠른 의사 결정도 장점이다. 회사가 직급에 의해서 돌아가는 것이 아니라 각자의 역할이 있을 뿐이다. 팀장이 있기는 하지만 모든 사람들이 다 평등하다. 자신이 맡은 일이 있을 뿐이다. 결재도 한 두 단계로 끝난다. 길어야 팀장, 사장, 이렇게 두 단계다. 결재판을 들고 돌아다니면서 결재를 받는 경우도 일부 있지만 많은 경우 구두나 이메일로 승인이 떨어진다. 사전에 시스템이나 이메일로 내용이 충분히 공유가 되어 있어서 최종 결정은 신속하다. 

이런 환경에서는 위에서 시키는 일만 하는 수동적인 직원은 매우 적고 능동적이고 자율적인 문화가 퍼져나간다. 나의 위에 줄줄이 상사들이 있어서 시키는 일을 잘하고 눈치를 봐야 하는 상황이 아니고 자신이 알아서 일해야 하는 분위기가 자리를 잡는다. 성과가 안 좋은 것은 자신의 책임이다. 

물론 호칭만 바꾼다고 이런 문화가 저절로 정착되는 것은 아니다. 경영진의 의지가 가장 중요하다. 호칭을 바꾸려는 목적이 무엇인가? 수평적인 문화를 만들기 위한 것이다. 영어이름을 사용하는 호칭 문화는 수평적인 문화를 만들기 위한 강력한 수단 중 하나다. 

하지만 호칭만 바꾸고 권위의식이 여전하다면 별 효과가 없을 것이다. 권위 의식을 타파하고 상명하복 전통을 없애고 자율적이고 수평적인 문화를 만들기 위해서 다각적으로 노력해야 한다. 호칭문화는 그 시작이 될 수 있다.


이글은 ZDNet Korea에 기고한 칼럼입니다.



저작자 표시 비영리 변경 금지
신고

전규현 개발문화 문화, 호칭

  1. 평등한 호칭 문화는 어려서부터 길러진거겠죠 커서 임의로 만들어진 호칭 문화는 기본적으로 몸에 베어 있는 호칭에 대한 문화를 바꿀 수가 없는 듯 하니 아쉽네요

  2. Blog Icon
    scott yoon

    상하 관계가 명확한 한국 , 유교사회에서 평등한 호칭 문화가 정착이 될수 있을까요 ?
    아무래도 노력해도 , 시간이 지나도 이루어 지기 힘든 문화로 생각이 됩니다.
    한국에서 장유유서,유교문화가 없어지지 않는한, 평등한 호칭 문화는 요원한것이겠지요.

생각은 쉽게 바뀌지 않는다.

2012.10.15 06:28 by 전규현


잠시 후 Google blogger로 이동됩니다.






많은 회사에서 경영자, 개발자들이 소프웨어를 좀더 효과적으로 개발하기 위해서 다양한 시도를 한다.

문서를 작성하고 소스코드를 관리하고 이슈를 관리하고 프로젝트 관리 기법을 도입한다. 이런 외형적인 시도를 해도 생각은 쉽게 바뀌지 않는다. 특히 경영자들의 마인드가 잘 바뀌지 않는다. 소프트웨어 개발을 제대로 이해하지 못했기 때문이다.


실리콘 밸리와 우리나라에서 소프트웨어를 개발할 때 가장 큰 차이를 보이는 것이 있다.


스펙을 바꾸는 것이 얼마나 큰 일인지에 대한 생각이다. 실리콘밸리에서는 스펙을 바꾸는 일이 개발팀에 엄청나게 큰 부담을 주고 일정과 비용이 영향을 주는지 경영진을 비롯한 모든 직원들이 알고 있기 때문에 스펙을 쉽게 바꾸려고 하지 않는다. 그렇기 때문에 스펙을 작성할 때 철저히 리뷰를 한다. 리뷰를 소홀히 하다가 나중에 빠진 거나 잘못된 것을 바꾸기가 쉽지 않기 때문이다. 그래서 스펙이 제대로 적히고 잘 검토가 되고 프로젝트에서 매우 중요한 역할을 한다.


그런데 우리나라에서는 스펙을 바꾸는 것이 얼마나 큰일인지 잘 인식하지 못한다. 경영자뿐만 아니라 개발자도 그런 경우가 많다. 어차피 주먹구구식으로 개발하기 때문에 스펙 변경을 대수롭지 않게 생각하거나 자포자기식 개발자도 많다. 그래서 스펙을 작성하기 않기도 하거나 대충 작성하다 마는 경우가 많다.


교육을 하고 설득을 하고 귀가 아프도록 얘기를 해도 피부로 느끼기 전에는 생각이 잘 바뀌지 않는다. 이는 방법론에 따라서 다른 얘기는 아니다. 이미 스펙이 결정된 후에는 어떠한 방법론에서도 스펙 변경은 큰 일이다. 


물론 스펙 변경이 불가능한 것이 아니다. 비용 증가를 감수하고도 변경해야 할 이유가 있으면 합리적이고 적절한 절치를 통해서 변경해야 한다.


보통의 경영진은 프로젝트 진행 도중에 이런 저런 요구를 하고 싶게 마련이다. 프로젝트에 관여해서 영향력을 행사하고 싶은 욕구가 있는 경우도 있다. 이럴 때 요구사항을 잘 받아주는 개발자가 우리나라에서는 더 높은 평가를 받곤하지만 회사 전체적으로는 손해가 되는 일이다. 정말 급한 요구사항이 아니라면 다음 버전으로 미루면 되는 일이다. 


소프트웨어 개발에서 스펙을 함부로 바꾸면 안된다는 것만 깨달으면 소프트웨어 공학의 80%는 터득한 것이다. 거의 대부분의 다른 문화는 다 여기서 파생된다. 안타까운 것은 외워서 되는 것이 아니라는 것이다.


image by sirwiseowl


저작자 표시 비영리 변경 금지
신고

전규현 개발문화 문화, 스펙

  1. Blog Icon
    임덕규

    책 잘 보고 있습니다. 취업 준비생으로서 포트폴리오를 위하여 진행 중인 개인 프로젝트에 소스 관리 프로그램인 git과 github, 그리고 간단한 스펙 흉내등을 통하여 최대한 효율적인 작업을 진행하려 노력하고 있습니다.

    git의 사용으로 인한 성공적입니다. 물론 제 나름대로의 사용으로서는 아주 만족스런 사용이라 실무와의 갭을 실감 할 수 없어 아쉽습니다.

    좋은 내용 감사합니다.

  2. 안녕하세요. 임덕규님
    잘하고 계시네요. git 사용법은 간단하지만 제대로 쓰려면 경험이 좀 필요합니다. Tag와 Branch도 활용하고 책에 어느 정도 소개가 되어 있으니 참조하세요. 간단한 소프트웨어는 스펙도 간단하게 작성할 수 있습니다. 이슈관리시스템을 이용해도 됩니다.
    실무에서는 스펙의 규모가 크기 때문에 얘기가 완전히 달라집니다. 이것은 실무에서 직접 배우는 것이 좋습니다. 그래도 이렇게 마음가짐을 가지고 경험을 하고 있으면 도움이 많이 될 겁니다.
    문제는 왠만한 회사를 가면 또 주먹구구식 환경이기 때문에 문제가 되죠. 꾸준히 노력하세요.

    감사합니다.

우리나라 소프트웨어 회사에는 ???이 없다.

2011.07.30 23:59 by 전규현


잠시 후 Google blogger로 이동됩니다.





우리나라 소프트웨어 회사에는 없는 것이 참 많다.

물론 있는 것도 많다. 머리 좋고 충성심 높은 개발자도 있고, 기반시스템도 갖추고 있는 경우도 종종 있다. 또한 뛰어난 요소기술을 갖추고 있는 경우도 많다.

프로세스와 시스템은 갖추려고 상당히 노력을 하고 있어서 효과를 보는 경우도 간혹 있지만 이 또한 거의 대부분 수박 겉핧기 식에 머무른다. 아주 초보적인 기능만 쓰거나 잘못 사용하는 경우가 많다. 

하지만 대부분의 회사가 거의 갖추고 있지 못한 것들이 있다. 이런 것들을 넘지 못하면 글로벌 소프트웨어 회사로 가는 길은 멀게만 느껴진다.


1. 개발문화가 없다.

소프트웨어 개발을 정해진 프로세스대로 딱딱 진행해서 잘되면 참 좋겠다. 하지만 절대로 그렇게 되지 않는다. 물론 프로세스를 따르지만 프로세스에 모든 것을 다 담을 수는 없다. 모든 절차를 프로세스화 하면 오히려 효율이 떨어진다. 아니 개발을 거의 못할 것이다. 
프로세스는 최소화하고 나머지는 개발 문화로 커버를 하는 것이다. 
개발문화 중에서 가장 중요한 것은 공유와 협업의 문화이다. 물론 많은 개발자들이 공유와 협업을 하고 있다고 생각할지도 모르겠다. 하지만 그 수준에서는 정말 많은 차이가 난다. 
또한 회사내에서 정말 자리잡기 어려운 문화이다. 개발자들 하나하나가 습관을 바꿔야 하는 어려운 난관이 가로막고 있다. 처음에는 강제화를 해야 하는데 무엇을 강제화 해야 하는 지가 문제이다.
공유와 협업 관련된 키워드를 몇가지를 들면 다음과 같은 것들이 있다.

SRS review, SRS sign, Architecture review, Code review, Coding convension, Doxygen, Component, Interface, Wiki, Bug track, Engineering Onepager, Broken tree, Common library

공유와 협업의 문화가 자리를 잡으면 위에 언급한 모든 것들이 확연하게 바뀌게 된다. 하나하나가 엄청난 항목이므로 자세한 설명은 생략한다.


2. 개발자들의 롤모델이 없다.
 
소프트웨어 개발자들은 3,4년만 지나도 위가 잘 안 보인다. 개발자로서 계속 일을 할 수 있을지 확신이 안 선다. 개발을 계속 하고 싶기는 한데 20년이 지나도 개발을 계속 하고 있는 고참을 본 적이 없어서 그 모습이 잘 그려지지 않는다. 사실 아주 드물게 관리직을 포기하고 개발직에 머물고 있는 고참들이 있지만 그 모습이 그렇게 우러러 보이지 않는다.
그래서 개발자 10년에 관리는 전혀 안하고 개발에만 매진하는 개발자를 찾기는 매우 어렵다. 그렇게 관리와 개발 양다리에서 헤매다가 대부분은 관리로 넘어가던가 업계를 떠나게 된다.
하지만 소프트웨어 개발자라는 자리는 코딩만 놓고 보면 5년짜리 개발자나 20년짜리 개발자나 타이핑 속도가 별반 차이가 나지 않는다. 하지만 아키텍처나 회사의 전략을 바라보는 시각은 엄청난 차이가 난다. 하지만 우리나라에서는 그런 개발자를 키워내지 못하기 때문에 롤모델도 없고 개발자는 방황하고 하는 악순환이 계속되고 있다.


3. CTO가 없다. 

소프트웨어 회사의 꽃은 CTO다. 하지만 거의 모은 우리나라 소프트웨어 회사에는 CTO가 없다. 가끔 직함이 CTO인 경우는 있지만 거의 대부분 진짜 CTO는 아니다. 다른 일을 하는데 직함만 CTO인 경우이다.
CTO가 없다면 회사의 중요한 기술적인 결정을 할 수 있는 최고 책임자가 없다는 뜻이다. 따라서 중요한 기술적인 결정이 영업적인 입장에서 결정되는 경우가 많아진다. 고참 개발자들이 가끔 저항을 해보기도 하지만 우리나라에서는 직급에서 눌리는 것을 극복하기는 쉽지 않다.
또한 CTO급이 아니라면 고참 개발자들의 시각도 최고 수준에는 못 미치기 때문에 제대로 결정을 못하고 설득력도 떨어지게 된다. 
소프트웨어 업계에서 20년 이상은 개발자로 꾸준히 제대로 성장해야 CTO급이라고 할 수 있는데 우리나라에는 그런 개발자가 거의 없는 것도 한 이유이다.
당분간은 좋은 CTO를 구하고 싶어도 쉽게 구하지 못할 것이다.


4. 마케팅이 없다.
 
대부분은 치밀한 계획보다는 번뜩이는 아이디어로 시작을 해서 초기에 성공을 거두었기 때문에 마케팅에 대해서는 거의 모르고 오로지 개발자들의 마법에 의존해서 소프트웨어를 개발하곤 한다. 
어느 정도 커지기 시작하면 마케팅에도 관심을 가져야 하는데 대부분의 소프트웨어 회사에는 개발과 영업만 존재하게 된다.
마케팅도 경험을 가진 마케팅 전문가가 부족하기 때문에 왠만한 대기업을 제외하고는 마케터를 구경하기 어렵다. 마케팅에 관심이 있는 회사 주먹구구 방법밖에 모르기 때문에 별효과를 못 보거나 개발자가 알아서 개발해 줄 때보다 못한 경우도 많다.

하나하나가 워낙 갈길이 멀고 무거운 주제들이라서 마음이 무겁지만 천천히 고쳐나가야 할 것들이다.

 * 이 포스트는 blogkorea [블코채널 : 꿈꾸는 소프트웨어 개발자 세상] 에 링크 되어있습니다.
image by 
Suzie Katz
저작자 표시 비영리 변경 금지
신고

전규현 개발문화 공유, 문화, 협업

  1. Blog Icon
    정현철

    진짜 좋은 글 인거 같습니다.
    주위에 다른 개발자 분들한테도 알려 봐야겠네요

    경력은 얼마 안됬지만 왠지 개발문화가 없다는것에 진짜 공감이 갑니다. ^^

  2. 정말 슬픈 현실이네요. 이런 것을 공감하는 세대, 나 자신이 결국은 이런 현실을 개선 할 수 있겠지요. 열심히 해야 겠습니다.

  3. 1. 항목에 대해 강한 공감을 표현하고 싶습니다. 최근에 조인한 스타트업에서 공유에 기반한 개발과 더불어 코드 리뷰를 수행하려고 했으나, 수많은 마찰 끝에 각자 개발하는 영역을 나누기로 했습니다. 습관을 바꾼다는 것이 얼마나 힘든 일인지, 무엇보다 본인 스스로 변화하고자 하는 의지가 없이는 불가능하다는 것을 깨달았습니다.

  4. 안녕하세요. gsong님

    현재 결정의 비용은 미래에 10배, 100배로 치르게 되어 있습니다. 습관을 바꾸기 어렵기 때문에 처음에는 강제화가 필요합니다. 하지만 대부분의 경영자들은 개발자들의 그럴듯한 핑계를 꺽기가 어렵습니다.

    조금씩이라도 변화해보는 것이 좋겠습니다.

  5. Blog Icon

    비밀댓글입니다

문서화 딜레마

2010.11.11 17:22 by 전규현


잠시 후 Google blogger로 이동됩니다.






우리나라 소프트웨어 회사 중에서 문서를 제대로 작성하고 있는 곳을 찾기란 그리 쉬운 일이 아닙니다.

제대로 작성한다는 의미는 꼭 필요한 만큼 적절히 효과적으로 작성하는 것입니다.

대부분의 소프트웨어 회사는 변변한 문서 하나 없이 개발을 하고 있고 반대로 소수의 회사는 불필요한 문서를 잔뜩 만들어서 오히려 효율성을 떨어뜨리고 있습니다.

물론 제대로 하고 있는 회사도 있지만 그 수는 극히 적습니다.

대부분의 여러분들도 겪은 현상이거나 앞으로 겪을 것입니다. 변변한 문서하나 제대로 만들지 않고 소프트웨어를 개발하고 있는 회사는 구멍가게 이상의 규모로 성장하기 어렵습니다. 회사의 규모가 커지면서 문서가 부족하면 커뮤니케이션 비용이 기하급수로 증가하기 시작합니다. 회사가 작았을 때 숨어있던 문제들이 마구 터져 나오기 시작합니다.

이미 문제가 되기 시작한 이후에 문서를 만들어보자는 결심을 하기도 합니다. 하지만 이미 제품을 다 개발한 이후에 유지보수하는 제품의 문서를 제대로 만드는 것은 거의 불가능합니다.

문서의 주목적은 소프트웨어를 제대로 개발하기 위한 것이지 유지보수를 위한 것이 아닙니다. 유지보수 단계에서 문서를 만들면 문서에 많은 내용이 빠지게 되고 의욕도 떨어지게 됩니다.

하지만 문제는 또 다른 곳에 있습니다. 그동안 제대로 문서를 만들지 않고 개발을 해온 개발자들이 문서를 만들자고 결심만 했다고 해서 문서를 작성하는 실력이 갑자기 생기지는 않습니다.

즉, 문서를 만드는 실력이 부족하다는 겁니다.

본인들은 문서를 잘 작성할 줄 아는데 바빠서 만들지 못한다고 합니다. 그래서 시간만 있다면 문서를 언제든지 만들 수 있다고 합니다. 이렇게 말하는 것자체가 문서를 제대로 만들어 본적도 없고 문서를 만들지도 모른다는 반증입니다. 왜냐하면 바쁠 수록 문서를 적절히 잘 만들어야 프로젝트 시간이 단축되기 때문입니다.

그러다보니 제대로 된 문서도 없이 유지보수가 뒤죽박죽이 되어서 항상 고참 개발자들이 유지보수에 매달려야 해서 계속 바쁘게 되고 그러다보니 문서를 제대로 만드는 실력을 향상할 기회는 또 없게 됩니다. 새로운 프로젝트를 시작해도 또 과거의 방식으로 문서도 제대로 없이 개발을 하게 됩니다.

개발자들이 코딩을 잘하는 이유는 수년에 결쳐서 코딩을 계속 해 왔기 때문입니다. 철저히 훈련이 잘 되어 있습니다. 다들 실력차이는 나지만 코딩을 못하는 개발자는 개발자도 아니죠. 

그렇듯 문서도 계속 작성을 해봐야 잘하게 됩니다. 처음부터 기가막히게 멋진 문서를 만들 필요는 없습니다. 항상 기록을 남기는 습관을 들이는 것도 문서를 잘 작성하는 실력을 키우는데 좋은 도움이 됩니다.

물론 프로젝트에서 필요한 문서는 단순히 글을 잘 작성한다고 되는 것도 아닙니다. 하지만 글을 쓰는 습관이 출발점입니다.  그리고 프로젝트에서 필요한 문서는 원래 선배들이 제대로 작성을 해 왔다면 문서를 리뷰할 때 참석해서 문서 작성 방법을 배울 수 있습니다. 하지만 안타깝게도 선배에서 문서 작성법을 배울 수 있는 회사는 우리나라에 그렇게 많지 않습니다. 대부분은 스스로 해 나가야 합니다. 이에 관련된 책들의 도움을 받는 것도 방법 중 하나 입니다.

명심할 것은 욕심을 부리지 않는 것입니다. 너무 많은 내용을 완벽하게 적으려고 하면 오히려 금방 질려서 포기하게 됩니다. 또한 바쁘니까 나중에 몰아서 만든다는 생각도 버려야 합니다. 문서는 지금 이순간이 아니면 만들 수 없습니다.  지금 필요한 만큼만 적당히 적게 만들어야 합니다.

* 이 포스트는 blogkorea [블코채널 : 꿈꾸는 소프트웨어 개발자 세상] 에 링크 되어있습니다.
Image by Damon Duncan
저작자 표시 비영리 변경 금지
신고

전규현 개발문화 문서, 문화

  1. 문서화 정말 어렵더라구요. 4년차만에 처음으로 개발하기 전에 설계하면서 문서부터 만들고 있는 중인데, 이 정도밖에 안됐나 하는 자괴감이 들더라구요. 갑자기 또 속상해지네. 크크크. 10년차 되서 스펙때문에 또 좌절하면 어쩌죠. 스펙까지 익숙해지려면 보통 몇년 걸리나요? 빌 조이같은 천재들 말고요.

  2. 안녕하세요. 김재호님
    스펙은 가장 작성하기 어려운 문서입니다.
    요구사항 분석 능력이 있어야 하고, Domain도 잘 알아야 하고, 문서도 잘 작성해야 합니다.
    제대로 적는데는 기본적으로 3~4년은 걸리고 10년이 지나고 20년이 지나도 꾸준히 실력이 증가하는 소프트웨어를 개발하는데 있어서 가장 어려운 분야입니다.
    빌조이 같은 천재라고 해도 결코 처음부터 스펙을 잘 적을 수는 없습니다.
    문제는 스펙을 적는 방법을 배우기가 어려운 거죠.

  3. Blog Icon
    godway

    이에 관련된 책들의 도움을 받아야 한다고 하셨는데 혹시 좋은 책을 추천해 주시는 것은 가능하신지요?

  4. 안녕하세요. godway님
    우리나라 책중에서는 제가 쓴 "소프트웨어 개발의 모든 것"을 추천합니다. 그리고 외국책 중에서는 Requirement Engineering으로 검색을 해보시는 것이 좋겠습니다.
    책을 보는 것은 도움이 되기는 하지만 책만 보고 제대로 작성하는데는 매우 오랜 시간이 걸립니다.

  5. 소프트웨어 개발의 모든 것, CodeCraft, 조엘온 소프트웨어 등등을 읽으면서,

    "스펙 문서 만드세요."

    라는 말을 볼 때마다, 그렇지요 옳은 말씀이지요 하면서 읽었습니다.

    실제로 실천하려 하니 참으로 어렵다는 생각을 많이 해 봤습니다.



    문서를 여러개를 짧게 만들어야 하는지, 길게 하나로 만들어야 하는지...

    여기에는 이것이 들어가도 되지만, 저기에는 이것이 들어가면 안되는지...

    이것들 고민하는 것이 일이고 실력이라는 생각 역시 들었습니다.


    하지만 전에 한 번 분석 설계 구현의 순서로 만들기를 실험해 봤을 때,

    시간이 확실히 줄어들었던 기억이 있어서

    이젠 꼭 지키려고 노력합니다.


    정말

    "건강하게 살려면, 나쁜 것들 드시지 마시고, 운동 열심히 하세요"만큼이나 어려운 일이 문서화인듯 합니다.

  6. 안녕하세요. 주의사신님
    문서는 쪼개나 합치나 같은 겁니다.
    관리가 편하려면 하나의 문서로 만드는 것이 좋지만, 한 섹션이 너무 크면 문서를 나눠도 좋습니다.
    단 문서를 나눌 경우에는 문서에 Link를 걸어야 하는데 Link된 문서는 바로 열어 볼 수 있도록 회사의 문서관리시스템이나 소스코드관리시스템에 등록해서 그 Link를 추가해야 합니다.
    좋은 경험을 가지고 계시네요.
    꾸준히 계속 적어나가면 매번 실력이 늘어가는 것을 느낄 수 있을 겁니다.

  7. Blog Icon
    Jake

    안녕하세요, 전규현님 오랜만입니다.
    문서를 만들겠다고 달려드는 데서 부터 문서화 작업이 힘들어 지는 것이 아닌가 생각합니다. 요즘 인기있는 지속적 통합이나 지속적 배포같은 부분에서 말하듯이 문서화도 짧게 지속적으로 문서를 만들어 나가야 하지 않을까 생각합니다. 시스템 만들어 놓고 테스트 시작하거나, 통합을 시작하거나 하면 큰 문제가 생기니 짧게 짧게 작은 양에 대한 작업을 하자는 것처럼 문서화도 그 때 그 때 노트 형식으로 적어 놓으면서 발전 시켜 나가는 방법도 나쁘지 않은것 같습니다.

  8. 안녕하세요. Jake님
    과유불급이라고 생각합니다.
    그래도 여전히 문서 만들기를 지극히 싫어 합니다.
    그래서 최근에 Agile에서는 문서를 안만들어 되는 것으로 착각하고 혹 하기는 합니다.
    문서를 만드는 방법이 다를 뿐이죠.

  9. 문서는 만드는것보다도 계속 업데이트하는게 중요한것 같더군요..
    실제로 버전이 올라가다 보면 문서와 소스내용이 틀려 낭패보는 경우도 가끔 있구요..
    저술하신 "소프트웨어 개발의 모든것"을 봤지만 제가 말씀드린 경우의 해결책은 못 본것 같은데요..(기억을 못하는지도..)

    문서의 버전업을 어떤 형식으로 진행할 수 있는지 방안이 있으시면 조언 부탁드립니다.
    또 문서없이 wiki만 사용하는 경우 문제점이 있을까요? (요즘 문서의 버전문제때문에 wiki를 검토중이라서요..)

    언제나 좋은 글 감사합니다..

  10. 안녕하세요. 무혹님
    그래서 문서는 최대한 적게 만들어야 합니다.
    제 책에서도 문서의 업데이트에 대한 내용이 있습니다.
    책의 내용을 보면 이와 관련된 내용이 몇가지 있습니다.
    문서는 업데이트가 어렵기 때문에 꼭 필요한 문서만 만들고 SRS는 꼭 업데이트 하라고 하고 있습니다.
    또한 설계문서는 완벽하게 업데이트하기 어렵다고 설명하고 있습니다.
    설계문서는 구현을 하기 위해 필요한 것이기 때문에 나중에 변경되는 것은 모두 업데이트 하기 어렵습니다.
    그래서 Doxygen이나 JavaDoc을 잘 이용할 것을 설명하고 있습니다.

    설계에서는 그렇기 때문에 인터페이스를 최대한으로 깔끔하고 간단하게 만드는 것이 좋습니다. 너무 얽히섥히 섞인 인터페이스는 나중에 바뀌더라도 관리가 잘 안됩니다.

  11. Blog Icon
    csj

    약간 다른 이야기 이기는 합니다만..
    대체로 글 잘 쓰시는 분들이 코딩 역시 잘 하시더군요

    후배들 코딩 스타일을 글 쓰는 유형에 비교하면 다음 3가지로 간추려 지는데..
    -시인 타입: 이해하기 힘들다. 잘 돌아간다.
    -이면지 제작자: 이해하기 힘들다. 잘 안 돌아간다.
    -기자 타입: 이해하기 쉽다. 잘 돌아간다.

    요새는 코딩하기 전 과제 계획서 또는 일정표 등 문서 부터 써 보라고 합니다.
    글을 쓰는 모습을 보면 이 사람이 코딩을 어떻게 하겠다 대충 알 것 같더군요
    더불어 우리가 수학 논문을 많이 쓰기 때문에 증명 숙제 한거나, 쓴 논문을 보면 이 녀석이 위 중 어느 타입이구나 감이 오더군요.

  12. csj님 안녕하세요.
    전적으로 동감합니다. Coding도 하나의 언어잖아요. ^^

  13. 안녕하세요 ~ 좋은 글 잘 봤습니다
    저는 컴퓨터와는 전혀 관련이 없지만 말씀하신 내용은 학생부터 나이든 할아버지 할머니까지 도움이 되는 거 같아요

    뭐 개인적으로는 연구노트를 꾸준히 제 때에 쓰고, 제 때에 다시 살펴보는 게 얼마나 어려운 지 느끼고 있네욤 ㅡ _ㅡ;;

  14. 안녕하세요. Playing님
    세상만사 다 비슷한가 봅니다.

  15. 한번 작성이 아니라 계속 업데이트 해야 하고
    그걸 여러 사람과 공유/동기화 하는게 가장 힘든걸 보면
    Trac 등에서 위키로 문서화 하는 추세가 바람직 할수 밖에 없는것 같아요.

  16. 안녕하세요. 구차니님
    Word로 작성을 하던 Wiki를 이용하든지 큰 상관은 없을 것 같습니다. 중요한 것은 문서를 작성하는 것이고 그 내용이 더 중요하다고 생각합니다. 어디에 적느냐는 서로 장단점이 있는 것 같습니다.

    내용이 중요하다는 의미는 설계문서를 작성할 때 UML을 이용하느냐 Doc로 작성하느냐 노트에 연필로 작성하느냐보다는 "설계"자체를 잘 하냐가 더 중요하듯이 어차피 내용을 잘 모르면 어떠한 툴을 가져와도 의미 없는 문서가 됩니다.

    그래서 선배들이 작성한 문서를 리뷰에 참석해서 꾸준히 배워나가는 것이 문서에 무엇을 적어야 하는지 배우고 또 어떻게 적어야 하는지 어떻게 리뷰를 해야 하는지 익힐 수 있습니다.

    또, 무엇은 적을 필요가 없는지도 자연스럽게 배우게 됩니다.

    현재 그런 환경이 아니라면 누군가가 먼저 시작을 해야겠죠. 항상 선구자는 힘든 법입니다. ^^

  17. Blog Icon
    csj

    선구자는 힘들다는 말, 무척 공감이 갑니다.

    "내가 무엇을 해 보겠다" 할 때 대부분 반응은 "왜 귀찮게 그런 걸 하냐"가 대다수 더군요

    가끔은 왜 이걸 해야 하는지 설득하는게 더 힘들 때도 있습니다.

    여하튼 최근에 작은 프로젝트 팀장이 되어 이것 저것 해 보려고 하다보니 고민이 많네요.

  18. 그런 경우는 무엇을 하고 무엇은 지금은 무리인지를 판단하는게 중요합니다.
    사실 이런 판단이 가장 어려운 판단 중에서 하나입니다.
    그럴때 주변의 선배나 전문가에게 물어보는 것이 가장 좋습니다.
    본인 스스로 판단하는 능력이 생기려면 이러한 경험을 모두 해 본 후 일겁니다.
    참 힘들죠~

  19. Blog Icon
    철이

    현재 3명이 작은 프로젝트를 진행 하고 있습니다.

    문서화.. 참 힘들네요.. ㅠ

  20. 안녕하세요. 철이님
    혹시 문서화를 왜 하려고 하시나요?
    문서를 작성하면 프로젝트의 기간이 줄어든다는 것을 믿고 계시나요?
    이것을 경험을 통해서 알고 있지 않으면 문서를 만들기 정말 어렵습니다.
    대부분은 몇번 문서를 만들다가 프로젝트 시간만 더 걸리고 문서가 사장되기 일쑤입니다.
    이런 경우는 필요없는 문서를 만들거나 문서를 잘못 만들기 때문인 경우가 많습니다.
    그래서 제 책에서는 설계 문서보다더 스펙(SRS)문서를 만들라고 권하고 있습니다. 또한 뒤늦게 만드는 문서는 필요없고 프로젝트를 더 지연시키므로 만들지 말라고 하고 있습니다.
    또 중요한 것은 문서는 가능하면 적게 만드는 것이 가장 좋습니다.

스마트폰 앱스토어가 진짜 대박이 아닌 이유

2010.02.09 13:58 by 전규현


잠시 후 Google blogger로 이동됩니다.





요즘 스마트폰이 IT 이슈의 정점에 있어서 스마트폰 관련 글을 계속 올리게 됩니다.
개발자의 한사람으로서 스마트폰의 급속한 확대는 좋은 징조임이 분명합니다. 하지만 종종 스마트폰 어플리케이션을 만들어서 앱스토어에 올리면 쉽게 대박을 맞을 수 있을 것 같은 기사들이 눈에 띕니다.


물론 거품을 경고하는 기사들이 많은 것은 사실이지만 좋은 것만 보인다고 대박 기사가 더 눈에 들어오는 것은 사실입니다. 개발자들은 "실패담은 내 이야기는 아닐거야"라고 자신에게는 관대한 판단을 내기는 것이 일반적입니다.

이런 종류의 기사들을 읽어보면 전문가들이 말을 인용하는 칼럼형식의 기사는 좀 나은데 기자들이 직접 작성하는 누구나 혼자서 쉽게 소프트웨어를 개발해서 성공할 수 있다는 식의 기사가 많습니다. 그래서 현 상황을 좀 냉정하게 바라보고자 합니다.

긍정적인 측면

확실히 앱스토어가 개발자들에게는 기회의 땅입니다. 어플리케이션을 만들기만 하면 바로 전세계 소비자와 바로 만날 수 있는 기회를 제공했습니다. 마케팅을 얼마나 잘하느냐는 다른 이슈이지만, 어마어마한 마케팅 비용을 들이지 않고도 일단 소비자와 접할 수 있다는 것은 엄청난 기회입니다. 정말 좋은 소프트웨어가 마케팅 비용이 없어서 사라지는 것을 막을 수 있습니다.

또한 스마트폰 앱 시장은 계속 커지고 있고 잠재 고객은 점점 늘어가고 있습니다. 
That's it.

부정적인 측명

기회는 균등합니다. 나에게 기회인 것은 전세계 모든 개발자들에게 동일한 기회입니다. 초창기를 제외하고는 소비자와 쉽게 자신의 어플리케이션을 보여줄 수 있는 것이 그리 매력적인 조건이 아닐 겁니다. 정말 좋은 소프트웨어가 아니면 이 장점이 큰 장점이 아닙니다. 또한 스마트폰 앱 시장이 점점 커지면서 메이저 소프트웨어 업체들이 뛰어들 준비를 하고 있습니다. 기존의 시장과 별반 다를바 없는 치열한 전투장이 될 겁니다.

시장은 그렇다 치고, 개발자 입장에서 바라보도록 하죠.

스마트폰이라고 해서 소프트웨어를 개발하기 더 쉬워진 것은 아닙니다. 잘 만들어진 Framework를 보면 개발이 더 쉬운 것처럼 착시현상을 일으키기도 하지만, 이것이 소프트웨어 개발 전체 프로세스에 미치는 영향은 5%도 되지 않습니다. OOP 컨셉이 없는 개발자들은 오히려 뒤죽박죽을 만들어 버리기 일쑤입니다. SDK를 이용한 코딩보다도 스펙을 제대로 정하고 설계를 하고 테스트를 하는게 비중이 더 높습니다. 이는 기존의 다른 소프트웨어를 개발하는 것과 별단 다르지 않습니다. 즉, 기존에 소프트웨어를 잘 개발하던 개발자나 회사가 이또한 잘 할겁니다.

스마트폰 앱이라고 해서 한번 만들고 끝나는 것이 아닙니다. 일반적으로 소프트웨어는 유지보수 비용이 개발비용의 2~5배 정도 들어간다고 합니다. 그래서 한번 만들어놓은 앱을 꾸준히 유지보수를 해야 하는데, 개인이 이를 감당하기에는 어려움이 있을 수 밖에 없습니다. 진짜 전업으로 매달려야 합니다. 또한 버그 관리, 소스관리, 스펙 관리가 그렇게 쉽지 않습니다. 기존의 소프트웨어 회사들도 크나 작으나 이들을 잘 해내지 못하는 것이 현실입니다. 그렇다고 혼자 개발을 한다고 이 이슈가 사라지지 않습니다. 진짜 혼자 다 해야 합니다.

또, 어쩌다 꽤 인기있는 앱을 만들어서 중박정도를 했다고 해도 꾸준히 매출을 유지하기 위해서 업그레이드와 새로운 제품을 계속 만들어내야 합니다. 앱 개발이 전업이 되었다는 얘기는 꾸준히 수익을 창출해야 한다는 얘기입니다. 회사라면 크나 작으나 나름 각 분야의 전문가들이 힘을 합쳐서 일하기 때문에 진짜 자신이 잘하는 분야에 집중할 수 있어서 꾸준히 발전해 나가는 것이 혼자 북치고 장구치고 하는 것보다는 유리합니다. 자칫하면 수주대토(守株待兎)가 될 수 있습니다.

소프트웨어 개발이라는 것의 대부분은 팀으로 일을 했을 때 더 잘 할 수 있는 것들인데, 혼자서 한다는 것은 한계에 부딪히게 됩니다.  아이디어의 한계, 기술의 한계가 그겁니다. 물론 혼자 일하는 것을 좋아하는 개발자들중에서는 팀웍을 이뤄서 제대로 일하는 방법을 모르기 때문인 경우도 있습니다. 어떠한 경우라도 혼자서 1인회사를 해나가는 것은 쉽지 않은 결정입니다.

이미 소프트웨어 개발에 상당한 공력을 가지고 있는 개발자 몇명을 제외하고는 아무리 좋은 아이디어로 좋은 앱을 개발했다고 하더라도 혼자 개발하는 것은 스스로의 성장에도 지장을 줄 수 있습니다. 물론 이런 시도는 도전의식과 비즈니스 경험을 쌓을 수 있어도 소프트웨어 개발자로서의 경험은 상대적으로 놓치게 됩니다. 자칫 평생 혼자 개발해야 편한 개발자가 될 수도 있습니다. 실패에서 얻는 것도 있지만 잃는 것도 크다는 것을 명심해야 합니다.

소프트웨어 개발자로서 사회에 첫발을 디뎠다면 아무리 대학때 소프트웨어를 좀 개발해 봤어도 조직에서 팀을 이뤄서 개발하는 방법과 그 문화를 어느정도 익히는 것이 필요합니다. 물론 좋은 환경의 소프트웨어 회사라야 하겠죠. 그리고 나서도 확신이 선다면 시도해볼 수 있는 도전이라고 생각은 합니다. 하지만 결코 기존의 소프트웨어 환경에 비하여 성공확률이 더 높아졌다고 생각해서는 안됩니다. 이또한 노력하는 사람에게 더 많은 기회를 제공할 겁니다. 자신의 성공확률에서 바뀐 것은 아무것도 없습니다.

이 상황을 너무 부풀려서도 너무 축소해서도 안됩니다. 확실히 기회가 생긴 것은 맞습니다. 하지만 냉철한 가슴으로 생각하고 도전해야 합니다. 또, 이를 이용해서 부추기는 선정적인 기사는 좀 줄어야 하겠습니다.

* 이 포스트는 blogkorea [블코채널 : 꿈꾸는 소프트웨어 개발자 세상] 에 링크 되어있습니다.
image by Mykl Roventine
저작자 표시 비영리 변경 금지
신고

전규현 소프트웨어이야기 개발자, 대박, 문화, 버그관리, 소스관리, 스마트폰, 스펙, , 앱스토어, 유지보수, 중박

  1. Blog Icon
    지니랜드

    수구대토 -> 수주대토 로 수정해주세요

  2. 감사합니다. 블로그 글은 종종 오타가 생기더군요. 좀더 꼼꼼히 적어야 하는데요...

  3. Blog Icon
    ㅎㅎㅎ

    제 생각엔 스마트폰 초창기(아이폰으로 인해 시장이 커지는)라서
    거품에 있고 사람들이 스마트폰에 대한 환상을 가지고 있는 것같습니다.
    손바닥만한 화면으로는 분명 한계가 있는데요...
    결국 단지 개인의 필요에 따라 몇몇 특정한 기능으로만 사용하게 될거고
    꼭 이동시 사용해야하는 사람만 사용할텐데
    꼭 만능기기인것처럼 여겨지는 분위기네요.
    PMP있지만 돌아다니며 영화보는 사람 별로 없고요
    네비있지만 네비들고 다니며 걸어가는 사람 없습니다.
    전화기로 엠피스리 들을수있지만
    따로 엠피스리를 가지고 다니는 사람들이 대부분이죠.
    만능기기는 불편하고 이동기기도 또한 불편하죠.
    이동하며 사무를 볼 수있다지만
    이동하면서 까지 사무보고 싶은 사람이 몇이나 있겠어요.
    오히려 전화기능과 카메라기능을 첨가하고
    터치기능을 넣은 OS를 가진 스펙이 강화된
    타블렛식으로 LCD를 뒤집을수있는
    10인치내의 화면을 가진 노트북이 나오면
    스마트폰 시장은 죽을 것같네요.ㅣ

  4. 제 생각은 좀 다릅니다.

    스마트폰의 파급효과는 생각보다 클 것 같습니다. 지금은 거품이라고 얘기하지만 거품이 꺼지면 실체가 보일겁니다.
    지금은 인터넷 없는 세상 생각하기 힘들죠? 스마트폰은 인터넷을 들고다니게 되는 세상입니다. 한단계 업그레이드 되는 겁니다. 기존에도 이동중에 인터넷을 사용할 수 있었지만, 편리함이 다르죠.
    스마트폰이 화면이 작기는 하지만 새로운 UX가 불편함을 감소시킬 것이고, 자연스럽게 생활속으로 파고들 것으로 예상하고 있습니다.
    인터넷(웹)이 나오고나서 일상 생활속을 들어오는데까지는 6,7년이 걸렸습니다. 스마트폰이 나온지는 꽤 됐지만, 전 아이폰과 안드로이드 폰이 나오고 완전히 생활속으로 들어오는데, 3,4년이면 충분하리라고 봅니다. 그사이에 사람들을 편리하게 해주는 앱들이 쏟아져 나오겠죠.

    누가 옳든 간에 이쪽 밥 먹고 사는 사람들은 남들보다 빨리 알아채야 겠죠. 버스 떠난 다음에 손흔들면 안되니까요... 일반 사용자라면 자신이 좋은 것 그냥 선택하면 될거구요. ^^

  5. 저도 '현혹'의 성격이 짙은 글을 보면 비판적인 시각으로 바라보려 하고 있습니다.
    이슈에 대해 여과 하지 않고 우르르 몰렸다, 우르르 파했다~ 하는 것만 봐도 매우 급변하는 IT정세와,불안정한 시국을 그대로 나타내주는 것이니까요. 이런 정세에 본질을 파악하기란 매우 어렵겠지만.. 지금 우리에게 필요한 것은 비판적인 시각이 아닐까 합니다. 예를들어.. 전규현님이 말씀하신 것처럼 요즘 모바일 쪽의 구인란을 보면 모바일 개발 경험이 有인 사람에 국한되어 있더군요. 참 안타까운 일입니다. 매우 좁게 시장이 형성되는 것도 문제이고, 장기적인 안목이 아닌 '언 발에 오줌누기 식'의 인력들만 채용하고 있으니까요. 본질을 따져서 설계와 구조에 중점을 둔다면 당연히 OO나 OOP관련 경험,또는 공학방법론을 사용해봤던 인재 위주로 형성이 되어야 하는 것이 맞다고 봅니다. 그 밑에 코딩할 인재들도 필요한 것이구요.
    이 단면에서 돈만 되면 한다는 식의 불안정한 정세를 다시 한번 엿볼 수 있었습니다.
    (요즘 스마트폰 애플을 취미삼아 해 보고 있습니다.--단지 취미입니다. 주업은 아니죠. 전에 GUI방식의 소프트웨어를 개발한 경험이 있다면, 예전 방식과 매우 닮아 있다는 것을 느끼고 맙니다.)

    팀과 인력조화에 대해서도 한가지 문제점을 제시하자면.. 서로 잘 아는 팀을 만들 수 없는 문화가 한 몫하는 것 같습니다. 회사마다 계약 체제가 다르고 관리제도가 다르니 문화가 다를 수밖에 없고, 하청구조가 이미 뿌리박힌 데다가 같은 회사사람이 누군지도 모른 체 프로젝트가 진행되고 있는 곳도 상당히 많습니다. 어떤 회사는 갑 측에 같은 비용으로 50만 제공해주어도 되지만, 어떤 회사는 같은 비용에 200을 요구하는 곳이 있더군요.

    얼마 전에 선임연구원으로 혼자 들어갔었던 프로젝트가 바로 이것과 비슷했습니다. 돈을 더 많이 주니 더 많은 아웃풋을 내야 한다는 묵시적, 강제적 계약조건이더군요. 설계,구조.. 전혀 신경을 안 쓰고 제품의 품질과는 전혀 상관없이 높은 비용(그렇게 높지도 않지만)을 주니 설계 제외하고 더 많은 아웃풋을 내라..라는 SI특유의 병폐를 또 다시 한번 경험했습니다.(아웃풋에 계약조건으로 차등을 주니 사실상 팀웍이란 잠점을 발휘할 수도 없을뿐더러 활용할 수도 없는 문화가 되어버립니다.)

    사실 노하우있는 기술자를 쓰는 이유는
    소프트웨어가 필요한 곳에 경험과 노하우,설계,구조론,방법론을 오히려 배우기 위한 것으로 생각합니다. 그것이 경험 있는 기술자들을 쓰는 이유가 아닐까 합니다.
    5년 차가 10장찍어내고 10년 차가 같은 시간에 20장을 찍어내라는 식이니..원..(이런 곳 정말 많습니다.) 상식적으로 매우 미달인것이죠.

    전 지금 병원에 입원해 있는데도.. 규현님의 글은 읽어 봅니다.:)

  6. moova님 안녕하세요.

    병원에 입원해계시고 수술이 필요하신 것 같은데 쾌차하시기 바랍니다.
    우리나라의 대부분의 회사에서는 고급개발자를 키울지도 모르고 구분할줄도 모르고 고급개발자가 무슨 일을 하는지도 모릅니다. 그만큼 낙후되어 있습니다.

    소프트웨어 개발에 있어서 무슨일이 싼일이고 어떤게 비싼 일인지 구분도 못합니다. 그래서 비용과 시간이 더 많이 들며서도 날밤까면서 일해도 좋은 제품이 안나오죠.

    또 무엇이 필요한 문서인지 어떤 것은 형식적이고 필요가 없는 것인지도 구분하지 못합니다. 이는 프로젝트마다 달라서 선임급(고급)개발자가 이런 것들을 프로젝트 성격에 맞게 합리적으로 결정해야 하는데 그렇게 하지도 못하게 하는 것이 현실입니다.

    moova님도 고생이 많겠습니다. moova님 글들을 보면 어떤 생각과 경험을 가지고 있는지 알 수 있거든요. 저는 언제나 미래에 기회가 되어서 제 블로그를 찾아주시는 분들 중에서 뛰어난 분들과 일해보는 것을 꿈꿔 보곤 합니다.

    감사합니다. 다시 한번 쾌차를 기원합니다.

  7. 스마트 폰이 상당부분 생활을 바꾸긴 하겠지만, 그렇다고 해서 삶을 스마트하게 바꾸어 줄꺼라고 생각하지는 않습니다. 상당 부분 거품도 있고 허세도 있기 때문이죠.

    문득 지하철에서 보이는 아이폰 유저들을 보면
    "게임", "동영상" 정도 밖에 안보이더군요.
    일부 헤비유저일 것으로 예측되는 증권이나 금융 개발쪽 분들이 눈에 띄지 않는 걸지는 모르겠지만
    결국에는 PMP + PSP + NDS 를 통합한 그 이상도 그 이하도 아닌 딱 게임기+휴대폰 이라는 느낌이 강합니다.
    단지 인터넷이 될뿐이고, 외부에서도 편하게 할수 있을 가능성이 있기 때문에 사용자들이 끌리는거겠죠

    솔찍히 말해서 저도 쓸모는 없지만 가지고는 싶습니다.
    '필요'하지도 않고 '용도'도 정해지지 않았지만 가지고는 싶습니다.
    아마도 이러한 경우에 단지 새로 나온 스마트 폰이고 다들 아이폰 아이폰 하니까 얼리어탑터 기분으로
    대세(?)를 따라 나도 스마트하게 스마트폰! 하는게 아닐까 생각이 됩니다.

    결론만 말하자면, 지금보다 상당부분 거품이 심하게 끼어있고, 비록 어느정도 삶을 변화 시킬지라도 생각보다 큰 변화를 일으키지는 못할것이라는 겁니다. 원더키디가 나올때까지 10년도 채 안남았고, SF영화에서 그리던 2000년은 차들 대신에 무빙워크 에 서서 다니는 그런 환상적인 세상이었는데 실질적으로 변한 삶의 패턴은 극히 드물듯이 말이죠.

  8. 구차니님 안녕하세요.

    현재 거품이 꺼지고 좀 차분해져야 실체가 나올 것 같습니다.
    "알고 봤더니 별거 아니더라"라는 말도 많이 나오겠죠. 그러면서 서서히 생활속으로 들어와서 조금씩 생활패턴을 바꾸겠죠. 이게 뭐 엄청난 변화냐? 라고 할 수도 있어도 지금도 인터넷(특히 웹) 없이도 사는 사람이 엄청나게 많지만 많은 사람은 인터넷 없는 세상은 상상하기 힘듭니다.
    처음에 웹이 나왔을 때 되는게 없었습니다. 이걸로 뭐를 할 수 있을지 제대로 상상한 사람도 별로 없었습니다. 그때는 기껏해야 회사 소개하는 홈페이지와 인터넷 신문정도 였습니다. (여담이지만 95년에 제가 세계 최초 상용 Webmail 시스템을 만든 사람이지만 이를 기억하는 사람은 아무도 없습니다. 세계최초 별거 아닙니다. - -; 저는 별로 크게 성공하지도 못했구요. 제가 만든 Webmail을 컨셉과 원형을 따라서 만든 D사는 크게 성공했죠)

    94년에 웹이 처음 나왔을 때는 이것이 생활을 바꿀 것이라고 생각한 사람은 극소수였습니다. 그런데 스마트폰은 얼마 되지도 않았는데 난리네요. 그래서 거품이 꺼져야 한다는 얘기입니다. 반대급부로 이쪽 개발에 종사하는 개발자들은 거품이 더 좋은 기회가 되기도 합니다만...

    스마트폰이 바꾸는 생활의 변화를 가져오는 것의 주역은 하드웨어가 아닌 소프트웨어라고 생각합니다. 얼마나 좋은 소프트웨어가 더 많이 나오냐에 따라서 결론이 달라질 것 같습니다. 이는 소프트웨어 개발자들이 몫이겠죠. 구차니님 같은 분들이 바꾸는 것이라고 생각합니다.

    설령 기대에 못미칠 수는 있어도 소프트웨어 개발자라면 과소평가보다는 창조자의 마인드로 동참하는 것이 필요하다고 생가가합니다.

  9. 스마트폰에 대해서 갖는 부정적인 시각은, 사용자가 아닌 개발자의 시선에서 바라봐서가 아닌가 싶습니다.
    제가 느끼는 스마트폰은 저에게 있어서는 혁명이었습니다.
    96년부터 PC통신 하이텔을 통해서 커뮤니티에 입문했는데요, 그 이후로 제 삶속에는 항상 인터넷이 있었습니다.
    어딜가도 컴퓨터가 있으면, PC통신에 접속하고, 그 이후에는 인터넷에 접속해서 현재 저의 동호회, 카페, 홈페이지, 블로그 등을 보며 실시간으로 글을 게시하고, 댓글놀이를 즐겨왔는데요, 스마트폰은 이런 소셜 네트워크에 한층 가깝게 다가갈 수 있도록 해주는 중요한 역할을 해주고 있거든요.
    인터넷이 연결되어 있지 않았을 때의 불안감이나 답답함을 한번에 해결해주고 있습니다.

    집전화가 있고, 공중전화가 있지만, 누구나 휴대폰을 가지고 다니듯이, 요즘 우리 생활에 있어서 인터넷이 그렇게 변하고 있습니다. 스마트폰은 걸어다니는 인터넷 기능때문에 중요한 것이죠.
    다만 인터넷 기능이 필요하지 않으신 분들께서, 스마트폰을 필요해서 자발적으로가 아닌 뜬다고 하니까 공부하시려는 분들께서 부정적인 시각으로 말씀해주시는 것 같은데요, 크게... 변화를 줄 것 같아요.

    자다가 일어나서 갑자기 말이 많았습니다. 또 놀러올겠습니다. ^^

  10. Blog Icon
    샘성맨

    회사를 그만두고 앱 개발 창업을 준비하고 있는 사람으로서 research 도중 오랜만에 좋은 글을 발견한것 같아 기쁩니다.
    진입장벽이 낮은 앱 개발은 정말 개발자의 한사람으로서 전업으로 뛰어들기전에 가장 생각이 많아지는 부분입니다. 그리고 유지보수얘기를 쓰셨던데, 시장조사도중 많은 대다수 앱개발자들이 개발은 해놓고 테스트 및 유지보수같은건 신경쓰지 않는걸 볼 수 있더군요. 정말 공감가는 부분입니다. 이런 부분을 고려한 비즈니스 모델도 생각중입니다. 그리고 혼자개발하는것에 대한 한계성 또한 매우 공감갑니다. 몇몇의 인재와 함께하면 좋겠는데, 우리나라같이 대기업만 밝히는 분위기에서 벤처에 누가 쉽게 열정을 쏟으려고 할까요 솔직히 아직 회사를 그만둔건 아닌데(저도 분위기상 대기업을 왔습니다만..), 이 부분에 대해서 상당히 두렵네요. 하지만, 돈만을 위한 개발이 아닌 첫사랑을 다시 만나 연애하는 기분으로서 다시 개발을 시작한다면 어느정도의 생활은 가능할꺼라 점점 확신이 듭니다. 그 첫사랑을 지금 시대흐름이 아니면 다신 볼 수 없을것도 잘 알고 있습니다. 또한 스마트 TV 라는 블루오션시장도 보이고요. 아직 절망보다는 희망이 많아보입니다. 첫걸음부터 큰걸음을 내딪지말고 3번의 시련을 각오하고 희망을 향해 몸을 던지렵니다.

  11. 안녕하세요. 샘성맨님
    도전은 항상 아름답니다. ^^ 도전이 소프트웨어 발전의 힘입니다.
    혼자 소프트웨어를 개발하는데는 많은 어려움이 따릅니다.
    앱센터를 이용하면 도움이 좀 될 수 있을 것 같습니다.
    앞으로 도전하시는데 도움이 필요하면 부담없이 연락주세요.
    도움을 드릴 수 있으면 기쁘겠습니다.

Peer Review의 방해꾼들

2009.04.02 23:10 by 전규현


잠시 후 Google blogger로 이동됩니다.




Peer Review가 정말 중요하다고들 다들 생각할 것 같지만, 실상은 그렇지 않습니다.
Peer Review의 중요성을 알고 있는 사람은 정말 많은 경험과 깨달음을 얻은 사람이고 대부분은 Peer Review의 중요성을 모르거나 심지어는 노골적으로 또는 은연 중에 방해를 합니다.

Peer Review는 (이미 언급했지만), 소프트웨어의 결함을 줄이고 개발 비용과 시간을 절약하며, 개발자들 간의 정보와 지식을 공유하고, 개발자들을 성장시키며, 개발자들의 사기를 높여줍니다.

그런데, 결함을 줄이고, 비용과 시간을 절약하며, 지식을 공유하는 것을 싫어하는 개발자들이 의외로 꽤 많습니다. 공유를 통해서 자신만 알고 있는 지식이 빠져나가면 자신의 가치가 줄어들 것으로 생각하며 심각한 버그를 만들어서 자신만이 멋지게 해결하는 모습을 보고 싶어하고, 프로젝트의 일정을 항상 궁지로 몰아 넣고 자신이 이를 해결할 수 있는 유일한 사람인척 행동하는 많은 개발자들이 있습니다. 이러한 행동이 자신의 가치를 높여주고 자리를 보존해 준다고 생각합니다. 하지만 그 말로는 뻔하죠. 본인도 성장하지 못할 뿐더러 동료와 후배의 성장도 방해하고, 결국 실력은 부족한데 영향력만 유지하려고 하는 "정치꾼 개발자"로 전락하고 맙니다. 

회사들은 알고도 또는 모르고 이러한 개발자들에게 인질로 잡혀서 끌려다니곤 합니다.

Peer Review를 시행하면 이러한 개발자들의 방해에 부딪혀서 좌절하기 일쑤이며 이런 개발자들에게 동조한 관리자들도 방해자 노릇을 톡톡히 해냅니다. 프로젝트의 지연을 Peer Review의 탓으로 돌리기 일쑤이며 Peer Review의 성과를 평가절하 합니다. 또 영업부서가 고객이 Peer Review를 반대하기도 합니다.

이러한 방해꾼들을 극복할 의지가 회사에 없다면 Peer Review는 그림의 떡입니다. 즉 회사가 정말로 Peer Review의 필요성을 모르는 상태이거나 아직 이를 시행할 외적인 준비나 성숙도가 떨어진다고 볼 수 있습니다. 준비를 조금 더 해야겠죠? 

그럼 다음에는 Peer Review를 시행하기에 앞서서 준비가 되어야 할 것들에 대해서 알아보겠습니다. 

이미지출처 : Microsoft Office Online
* 이 포스트는 blogkorea [블코채널 : 꿈꾸는 소프트웨어 개발자 세상] 에 링크 되어있습니다.  
저작자 표시 비영리 변경 금지
신고

전규현 개발문화 Peer Review, 개발자, 공유, 리뷰, 문화, 방해, 성장

  1. Blog Icon
    ~_~

    아무런 문서화도 로직설명도 끝나지 않은채 버그리포트를 시키고 수정하라고 시키는 사람도 있다는거...

  2. 별의별 사람이 다 있죠.

  3. Blog Icon
    아름드리

    제가 있던 회사에도 자신이 만든 프로그램의 소스 코드를 암호화 수준까지 작성해서 아무도 안 보여주는 사람이 있더군요. 이런 사람 얘기는 웹을 통해서 간혹 봤지만 실제로 보니 대책이 안 서더군요.

  4. 아름드리님 반갑습니다.
    이런 개발자들을 어떻게 해야 하는지는 제 블로그의 여러 글들에서 언급을 해 놨습니다. ^^

고객중심의 서비스 마인드가 소프트웨어 산업을 망친다.

2008.12.05 11:36 by 전규현


잠시 후 Google blogger로 이동됩니다.





부제 : Global mind를 가져라.

우리나라의 Customer Service(A/S) 정신은 정말로 환타스틱합니다.

TV가 고장나서 전화하면 수리기사가 바로 달려와서 고쳐주고 갑니다.
핸드폰이 고장나서 서비스센터에 가면 바로 고쳐줍니다.
뭐든지 바로바로 해결이 되죠. 

하지만 미국에서는 좀 다릅니다. 노트북이 고장나면 바로 해결이 안됩니다. 서비스센터에 맡겨도 서비스센터는 단순히 포장만해서 수리공장으로 보내는 경우가 대부분이고 오래 걸리면 한달이 걸리기도 하고 재수 좋으면 그보다는 빨리 받아 볼 수 있죠.
미국은 땅덩어리가 워낙 커서 가 도시마다 전문서비스기사를 둘 수도 없습니다.
부른다고 쪼르륵 달려갈 수도 없습니다. 비행기타고 몇시간 날아가서 차 랜트해서 또 한참 가야지만 고객을 만날 수 있거든요. 또 고객이 비행기타고 핸드폰 수리하러 갈 수는 없죠.
소프트웨어도 마찬가지입니다. 고객이 소프트웨어를 구매하고 나서 수시로 개발사의 엔지니어를 불러서 이거 봐줘라, 저거 봐줘라, 이렇게 바꿔달라, 이런 요청을 할 수 없습니다.
물론 Enterprise Solution들은 유지보수 계약을 맺고 서비스를 받지요. 그 종류도 다양하고 서비스도 시스템화 되어 있지요. 물론 그 대가를 지불해야 하구요.
엔지니어를 부르는 것은 매우 비싸지요. 그리고 유지보수 건으로 개발자를 부른다는 것은 상상하기 힘들죠.
하지만 우리나라에서는 장애 시 사과 차원에서 개발자가 가서 인사를 해야 하는 어처구니 없는 경우도 있더군요. 문제를 만든 사람이 와서 사과를 하라는 거죠.
미국에서는 이러한 환경이 제품을 만드는 마인드부터 달라지는 것 같습니다.
일단 미국 어디에 파나, 전세계 어디에 파나 컨셉은 거의 같구요. 제품은 문제 생기면 쪼르륵 달려가서 해결해야 하는 형태로 만들지는 안죠. 제품의 품질을 떠나서 마인드가 다르니 접근을 다르게 합니다. 제품의 기능이나 UI에 그러한 마인드가 묻어나고, 개발 문서도 제대로 만들고, White paper도 만들죠. 문제가 생겼는데, 거의 모든 정보가 개발자의 머리 속에 있으면 안되거든요.
물론 고객도 이거 저거 바꿔달라는 요구는 잘 못하죠. 요구가 있다고 해서 다음 버전에 꼭 넣어 달라고 강요도 못하고 그건 개발사가 알아서 할 일이죠.

우리나라의 경우는 사정이 좀 다릅니다. 전국 어디서나 부르면 개발자나 Technical Support Engineer가 달려갈 수 있죠. 오랫동안 그런 서비스에 익숙해져서 고객은 아무 때가 개발사의 Engineer를 부르고, 제품의 기능이나 업그레이드 일정도 좌지우지 합니다. 개발자를 제 종 부리듯 하는 고객도 있습니다. 또 유지보수 댓가는 제대로 받기가 어렵죠. 개발사는 단기적인 이익에 쫓겨서 어쩔 수 없이 고객의 요구를 들어주다 보면 장기적으로 제품의 경쟁력이 떨어지게 됩니다. 그러다보니 이런 환경에 적응된 제품을 생각하고 만드는 경우가 많아지는 것 같습니다. 당연히 Global mind가 떨어지지요.

또 아이러니 한 것은 이러한 고객이라도 외국 제품을 쓰면서는 국내 소프트웨어 회사 대하듯 못한다는 겁니다.

컨설팅을 하면서 만나본 많은 회사들은 국내에서는 꽤 많은 매출을 일으켰는데, 외국에는 팔기가 어려운 제품을 많이 봤습니다. 설치는 꼭 엔지니어가 가서 해줘야 하고, 주기적으로 점검도 해줘야 하고, 고객마다 커스트마이징을 해야 하기 때문에 외국에 팔 경우 그 나라에 서비스조직을 상당히 갖춰야 하는 경우가 많습니다. 국내에서는 커스트마이징을 경쟁력으로 내세워서 외국제품과 경쟁했는데, 그로 인해서 더 큰시장으로는 못나가는 거죠. 

결국 마인드를 바꿔야만 됩니다.
고작 이 작은 땅덩어리에서 경쟁해서는 구멍가게 밖에 되지 못합니다. 좀 큰 구멍가게는 매출액이 몇백억씩 되기도 하지만, 유지보수에 발목을 잡혀서 수익이 악화되고 회사가 고꾸라지기도 합니다. 구멍가게를 알차게 꾸려가든가,그렇지 않다면 Global하게 경쟁할 수 있는 마인드를 가지고 소프트웨어를 개발해야 합니다.

우리나라에서
처음부터 글로벌 마인드를 가지고 시작하는 제품이 좀더 많아지면 좋겠습니다.
이러한 글로벌 마인드를 가진 개발자와 회사가 많아지면 좋겠습니다.
작더라도 전세계 사람들이 사용하는 제품이 많아지면 좋겠습니다.
고객이 부른다고 쪼르륵 달려가지 않아도 되는 제품이 많아지면 좋겠습니다.
고객서비스가 비싼 상품이라고 인식하는 고객이 많아지면 좋겠습니다.
개발자 불러다가 이거 저거 고쳐달라고 해도 된다는 인식이 적어지면 좋겠습니다.
우리나라 개발자들이 많은 수많은 제품이 세계를 호령하는 날이 오면 좋겠습니다.


저작자 표시 비영리 변경 금지
신고

전규현 개발문화 문화, 소프트웨어, 소프트웨어 개발

  1. 실제로 이런 마인드로 힘들어져 가는 회사를 겪어봐서 그런지 더욱 와닿는 글이네요.

  2. JasonPA님 반갑습니다.
    이런 현상을 조삼모사라고 합니다.
    당장의 이익을 위해서 미래에 큰 손해를 보는 것이지요. 회사의 비전과 제품의 로드맵에 따라서 이익이 안되는 요구나 고객들은 과감히 포기할 수 있어야 하는데, 우리나라의 많은 소프트웨어 회사들은 비전과 로드맵이 부족하기 때문에 사실 포기할 수 있는 기준도 애매한 경우가 많더군요.

  3. Blog Icon
    한인철

    전적으로 동감합니다.
    아직까지도, 소프트웨어에 제 값 안주고, 하드웨어의 서비스처럼 생각하는 동네도 있습니다.
    슬픈 현실입니다.

    어제 밤에 우연히 이곳을 발견했습니다.
    도움되는 글이 많아서, 오늘 하루를 몽땅 투자해서 처음부터 읽고 있습니다.
    좋은 글 감사합니다.

  4. 한인철님 반갑습니다.
    소프트웨어엔지니어이신가요? 좋은 의견 많이 주세요.
    감사합니다.

  5. 이건 우리나라의 특수성에서도 기인하는 것 같습니다.

    미수다였나? 어디선가 외국인이 우리나라 오면 신기해하는 것중 하나가 "어디를 가도 사람 없는 곳이 없다."라는 것이었습니다.

    인구밀도가 워낙 높아서, 아파트를 선호하고, 인구밀도가 높으니 네트워크를 설치할 때도 비용이 상대적으로 저렴하죠. 그러니 초고속 인터넷 보급률도 높았죠. 소프트웨어 산업도 비슷한 맥락이 아닐까 합니다. 인력은 넘쳐나니(업무능력은 논외), 손쉬운 대안이 되는 것이고, 개발자는 개발자 나름대로 자기 노하우를 다 쏟아놓으면 토사구팽될까 두려워하고. 뭐, 이런 것 아닐까요?

  6. nulonge님 안녕하세요.
    동감입니다. 그래서 개발자들이 죽어나죠. 고객들은 좋지만 결국 고객도 손해보고 다 같이 손해보는 것인데 말입니다.

블로그 호스팅을 Google Blogger로 이전합니다.

최근에 블로그에 보안 문제가 발생하여 좀더 안정적으로 블로그를 운영하기 위해서 Google Blogger로 이전합니다. 기존에 http://allofsoftware.net 과 http://www.allofsoftware.net..

한국어(한글) 코드 이야기 (8)

유니코드에 대해서 좀더 알아보기 전에 한국어 코드(문자세트)와 인코딩에 대해서 좀더 알아보자. 1991년에 유니코드가 탄생한 후에 유니코드는 점점 많은 개발자들이 사용하기 시작해서 영역을 넓혀가고 있다. 물론 언젠가는 유니코..

유니코드 영토 전쟁의 승리자는? (7)

이번에는 유니코드의 코드 체계에 대해서 간단하게 알아보고자 한다. 소프트웨어 국제화를 필요로 하는 개발자라면 자주는 아니지만 유니코드 내부 코드 체계를 알아야 할 때가 있다. 다양한 플랫폼에서 개발을 할 때 폰트 등과 관련하..

유니코드는 어떻게 탄생했을까? (6)

소프트웨어 국제화를 이해하기 위해서는 유니코드에 대해서 필수적으로 잘 알아야 한다. 유니코드란 말을 들어보지 않은 개발자는 없지만 관련 용어가 매우 많아서 종종 헷갈린다. 게다가 유니코드가 탄생한지 20년도 더 넘었지만 아직..

직원을 잠재적인 도둑 취급하는 회사

필자는 몇 년 전 A그룹에 강연을 하러 갔다가 곤란한 일을 겪은 적이 있다. 한국 대부분의 대기업이 그렇듯이 보안이 매우 엄격한 회사였다. 나는 직원들의 안내대로 메모리, 외장하드를 모두 빼놓고 회사로 들어갔다. 하지만 강연..

외국에서 팔리는 소프트웨어의 아키텍처 디자인 원칙 (5)

김과장은 그 동안 한국어만 지원하는 소프트웨어 A를 개발해 왔는데 최근에 사장님이 A의 일본어 버전을 만들라고 했다. 그리고 개발 기간도 한달 밖에 주어지지 않았다. 그래서 기존 소스코드를 복사해서 한국어가 들어 있는 모든 ..

소프트웨어 개발자 성장에 꼭 필요한 리뷰

우리나라 개발자들은 프로그래밍은 잘 하는데 대접을 못 받는다는 얘기가 있다. 또, 머리는 좋은데 환경이 나쁘다는 얘기도 있다. 젊은 개발자들은 외국의 개발자들에 전혀 뒤지지 않는데 나이를 먹을수록 실력이 떨어진다는 얘기도 있..

외국에 출시한 소프트웨어가 날짜 때문에 낭패 본 사연 (4)

10년차 개발자인 김과장(가상의 인물)은 최근에 소프트웨어를 영어를 지원하도록 만들었다. 어플리케이션에서 표시되는 모든 메시지(메뉴, 버튼, 다이얼로그 등)를 영어로 번역했다. 그렇게 해서 영어버전을 출시했는데 얼마 안 가서..

독일어 버전 소프트웨어란 말이 잘못된 이유 (3)

본 시리즈는 차례대로 읽으면 소프트웨어 국제화가 전체적으로 이해가 되어서 소프트웨어 개발자에게 도움이 되는 방향으로 진행하려고 하고 있다. 개발자마다 지식과 경험이 천차만별이라서 초급 개발자를 기준으로 작성하고 있다. 경영자..

소프트웨어를 외국에 출시 하면서 흔히 빠지는 함정 (2)

우리나라 소프트웨어 중에서 외국에서 크게 성공했다고 하는 소프트웨어가 있는가? 온라인 게임을 제외하고는 거의 없다. 사실 게임은 국제화, 지역화를 잘 못하더라도 큰 흉이 안 된다. 하지만 그 외의 많은 소프트웨어들은 제품이든..

티스토리 툴바