실리콘밸리에서 20년 글로벌 소프트웨어 회사에서의 경험과 한국에서의 20년 정부,학계,산업계를 컨설팅한 경험을 바탕으로 소프트웨어 업계가 필요로 하는 "소프트웨어 지혜"를 얘기합니다. 기사는 제한없이 퍼가셔도 됩니다.
2014년 5월 27일 화요일
인재가 중요한가, 시스템이 중요한가?
저서 "글로벌 소프트웨어를 말하다"의 18장
부처님의 가르침의 방법에서 천재들에게는 규율을 강조하지 않았다. 많은 고승들의 경우에 술도 마시고 고기도 먹고 규율에 전혀 구애받지 않았다. 하지만 일반 대중들에게는 오계, 십계와 같은 규율을 지키게 했다. 소프트웨어도 천재들의 경우에는 시스템이 없어도 일할 수 있다. 하지만 보통 사람들은 시스템의 도움 없이 일한다는 것은 불가능하다. 이렇게 인재와 시스템은 독립적인 실체가 아니고 둘 사이에는 상관관계가 존재한다.
인재도 당연히 한 종류가 아니고 다양한 종류의 인재가 있다. 기업교육 전문기업 휴넷이 발표한 7가지 인재형을 보자.
1. 위기와 변화에 강한 인재
2. 가시적이고 단기적 성과를 내는 인재
3. 글로벌 이슈에 밝은 인재
4. 조직적인 리더십을 갖춘 인재
5. 인문학적 소양을 갖춘 인재
6. 스마트워킹 등 유연한 실무능력을 갖춘 인재
7. 끊임없이 학습하는 인재이다
인재의 종류에 따라 교육해야 하는 것이 다르고 또 성장경로가 다를 수 밖에 없다.
그럼 시스템의 종류는 무엇이 있는가? 아래 그림에서 보자. 많은 시스템들이 있다. 모든 회사에 공통된 시스템도 있고 소프트웨어 회사에 특화된 시스템도 있다. 모든 회사가 모든 시스템이 필요한 것은 아니다. 벤처 회사는 한 두개의 시스템으로 시작해서 글로벌 대기업이 되면서는 많은 시스템이 필요하게 된다. 중간 규모의 회사는 자기에 맞게 적절히 시용해야 한다. 여기에 표준되는 답은 없다. 소프트웨어 회사도 모두 다르기 때문에 일률적으로 정할 수는 없다. 마치 살림살이를 마련해 가는 것과 같다. 혼자 살 때와 신혼 때가 다르고 가족이 생기면서 또 다르다. 사는 장소에 따라 다르고 모든 사람의 살림살이가 다르다.
경험의 법칙(Rule of Thumb)은 ‘시스템은 비타민처럼 사용하라’ 라고 말한다. 필요할 때 필요한 양만큼만 사용해야 한다. 미리 앞서서 사용해도 안되고, 모자라도 안되고, 과도하게 사용해도 안된다. 사람에 따라 섭취해야 하는 비타민 종류도 달라지고 먹는 양도 달라져야 한다. 즉 회사에서는 인재의 역량에 따라 사용해야 하는 시스템 종류가 달라지는 것이다. 모짜르트 같은 천재들에게 형식을 맞추라고 하는 것은 비효율적이다. 그렇다고 아무한테나 자유를 주는 것은 더 큰 문제다. 통상적인 소프트웨어 회사의 성장 경로에서 보면 순서적으로 소스관리시스템, 이슈관리시스템, 빌드시스템, 테스트 관리시스템, 프로젝트 관리시스템 같은 정도로 중요하다. 하지만 하나의 정답은 없다. 필자가 가장 많이 본 오답은 지식관리시스템(KMS)이다. 필요의 원인을 잘못 생각하기도 하고 방법을 모르기도 해서 필요 없는 KMS를 설치하는 경우를 많이 보았다. 물론 컨설팅업체나 판매업체들은 항상 미사여구를 동원한다. 속지 않는 것이 역량이다. 잘못 설치된 시스템은 두고두고 괴롭힌다. 설치해 놓았으니 강제로 사용하게 규칙을 만든다. 그리고 합리화를 한다. 그러다 보면 악순환이 계속되어 비효율성만 커진다. 그래서 시스템은 잘 모르면 빨리 설치하는 것보다 천천히 심사숙고 하는 것이 안전하다. 독약인지 약인지 모를 때는 먹지 말라.
위에서 말한 7가지 인재 중에 ‘가시적이고 단기적 성과를 내는 인재’가 많은 회사와 ‘조직적인 리더십을 갖춘 인재’가 많은 회사와는 사용해야 하는 시스템이 다르다. 체계적인 관리시스템을 도입할 지 안할 지의 결정이 달라질 수 있다. 시스템은 사람이 할 수 없는 부분을 보충해서 시너지 효과를 낼 수 있게 사용하는 것이기 때문에 회사마다 다르게 사용해야 한다. 한의학에서도 사람마다 사상체질이 다르기 때문에 먹어야 하는 음식도 다르고 약도 다르다.
모든 시스템은 돈도 들지만 항상 비효율성이라는 간접비용을 유발한다. 회사의 직원 역량 수준이 낮으면 시스템이 해야 할 일이 더 많아 진다. 비효율성이 더 발생할 수 밖에 없지만 회사로서는 최선이다. 반대로 천재들에게 시스템의 제약 아래서 움직이게 만든다면 재능의 낭비이다. 구글이나 삼성이 시용한다고 우리도 똑같이 했다가는 100% 망한다. 회사의 규모도 다르고 인재의 역량도 다르고 만드는 제품이 다르다. 순수 소프트웨어를 만드는 회사와 임베디드 시스템을 만드는 회사는 시용하는 시스템이 다르다. 회사의 역량을 최대로 높이기 위해서는 인력의 역량을 잘 파악하고 조화롭게 사용하기 위한 다양한 시스템 사용 전략이 필요하다.
개발과정의 여기저기에서 체크리스트를 사용하는 회사들을 많이 본다. 얼마나 답답했으면 지식 산업이라는 소프트웨어에서 체크리스트를 사용할까 이해는 가지만 다시 생각해 볼 일이다. 체크리스트는 시스템을 안전하게 움직이기 위해 사용하는 극단적인 방법이다. 예를 들어 아침에 출근해서 시스템이 작동하고 있나를 항목 하나씩 체크하면서 확인한다. 마치 능력 없는 의사가 생각 없이 많은 검사에 의존하는 것과 같다. 그런 방식은 최소 한도의 확인은 할 수 있지만 예외가 생긴 경우에 대응을 할 수 없다. 원리를 이해하고 응용 능력이 뛰어난 사람은 어떤 경우에도 대응할 수 있기 때문에 체크리스트 같은 것이 필요 없다. 체크리스트는 초급 인력들이 방향을 잡지 못하는 경우에 한 걸음씩 나갈 수 있도록 길을 정해 버린 것이다. 체크리스트가 많은 회사는 스스로 역량이 낮다는 것을 인정하는 것이다. 같은 맥락으로 세세한 내용의 템플릿이나 프로세스를 많이 가지고 있는 회사도 마찬가지이다.
사지선다형에 익숙한 사람과 주관식 문제에 익숙한 사람과는 가져야 하는 시스템이 다르다. 또 할 수 있는 일의 종류도 다르다. 다 나름대로 쓸 데가 있다. 위의 그림 중에 소프트웨어 공학도구라는 부분이 있는데 설계가 잘 되어 있는지 체크리스트를 이용해서 평가하는 방법도 있고 스펙을 적기 위해 항목을 하나씩 채워 가는 도구도 있다. 이런 체크리스트 기반의 시스템들은 다 최하 수준의 인력들을 기준으로 만든 시스템들이다. 자신이 존경 받기를 원한다면 개나 소나 할 수 있는 체크리스트 시스템이나 템플릿 위주의 개발은 지양해야 한다. 지식 산업이라는 것을 다시 한번 명심하기 바란다.
사회에는 여러 종류의 사람이 필요하듯이 회사에도 여러 종류의 사람들이 필요하다. 유일하게 회사에 필요 없는 인력은 자신이 옳다고 시스템을 무시하고 회사의 규칙을 따르지 않는 사람이다. 설령 경영진의 착오에 의해 잘못된 시스템이 설치되더라도 악법도 법이니 고치기 전까지는 일단은 따라야 한다. 준법정신은 미래에 개선을 하기 위해 매우 중요한 문화이다. 정말 싫다면 불량아로 남아 있지 말고 회사를 떠나면 된다. 시스템을 무시하고 각자 자기 생각대로 한다면 미래에 개선도 할 수 없는 최악의 무정부상태가 된다.
인력과 시스템은 서로 보충적인 관계이다. 훌륭한 인재는 시스템이 덜 중요하지 않지만 초급 인력은 시스템의 도움을 많이 받아야 한다. 작은 회사에서는 인력이 시스템보다 더 중요하다. 큰 회사에서는 인력과 시스템이 다 같이 중요하다. 아무리 인재들이 모여 있다고 해도 시스템이 없이 천재 몇 명이 비행기나 항공모함을 만들 수는 없다. 반대로 작은 회사에서 시스템을 많이 사용하는 것은 부작용이 더 크다. 보트 만드는데 항공모함 만드는 시스템은 비효율적이다. 어설프게 대기업을 따라 하는 것은 실패의 지름길이다. 그러나 글로벌 회사로 성장하기 위해서는 시스템도 필수이므로 빠르지도 않고 늦지도 않은 적절한 시점에 하나씩 적용해 가야 한다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기