- 정권이 바뀔 때마다 급변하는 환경, 특히 대통령 따라 왔다갔다하는 여건들...
- 대기업과 중소기업간의 공정하지 못한 거래
- 대형 SI업체들의 횡포
- 공공기간을 포함한 고객들의 무리한 요구 및 낮은 가격
이런 것들은 천천히 얘기를 하고 오늘은 소프트웨어 내부적인 문제로 인해서 발생하는 위기에 대해서 얘기를 해보고자 합니다. 지금 소프트웨어 회사를 다니시는 많은 분들은 회사에서 항상 "위기다"라고 하는 말들을 들을 겁니다. 하지만 그 대부분의 원인을 "외부"에서 찾고 있는 경우가 많습니다. 물론 외부 환경도 기업을 잘 운영하는데 매우 중요하지만, 대부분 내부 원인은 간과하기 쉽습니다. 또한 말뿐인 위기가 아닌 진짜 회사가 어려워졌을 때 문제의 원인을 외부로 돌리는 경우가 많습니다.
단적인 예로 "티맥스"라는 국내 굴지의 소프트웨어 회사가 외부 요인때문에 어려워졌을까요? 나는 아니라고 봅니다. 내부 요인이 훨씬 더 컸다고 생각합니다.
우리나라 소프트웨어 회사들은 넘을 수 없는 벽이 앞에 존재하는 것처럼 보입니다. 강연이나 세미나에서 이런 문제를 얘기하면 작년만해도 "티맥스"라는 회사가 이 벽을 넘었다라고 주장하는 사람들이 있었지만, 이제는 그렇게 주장하는 사람이 없습니다. 우리가 기억하는 유명했던 수많은 소프트웨어 회사들 중에서 지금도 건전하게 꾸준히 성장하면서 글로벌 경쟁에서 뒤지지 않는 회사는 찾아보기 어렵습니다. 어떤 시기에 꼬꾸라졌거나 근근히 버티고 있거나 썩 나쁘지는 않지만 비전은 별로 없거나 합니다.
나는 이런 대한민국 소프트웨어 회사들이 맞닥드리는 "넘을 수 없는 벽"의 원인을 주로 소프트웨어 회사 내부에서 찾습니다. 소프트웨어 회사들이 주로 겪는 문제는 회사 조직이 커지면서 발생합니다. 조직이 커지면 이런 문제들이 발생합니다.
- 새로 채용한 개발자들에게 지식과 경험의 전달이 안됩니다.
- 개발자 인원은 많이 늘었는데, 생산성은 점점 떨어지고 야근만 늘어 납니다.
- 프로젝트 규모는 점점 커지는데 관리가 안됩니다.
- 국내에서는 꽤 경쟁력이 있는 소프트웨어였는데, 해외에서는 맥을 못춥니다.
- 초창기에는 좋은 아이디어들이 많았는데, 더이상 창의적인 아이디어가 나오지 않습니다.
- 시장은 점점 레드오션으로 바뀌어서 수익성이 악화됩니다.
이 모든 부작용이 거의 내부에서부터 나옵니다. 애초에 구멍가게 밖에 할 수없는 회사가 대부분이지만, 스스로는 그러한 사실을 알지 못합니다.
개발자들도 스스로는 뛰어난 개발자라고 생각하지만, 코딩이나 좀 할 줄 알지 진짜 개발자들이 갖춰야할 능력이 무엇인지 모르는 경우가 태반입니다. 또한 관리자나 경영자는 소프트웨어에 대한 이해가 부족하여 마구 만들어서 많이 팔면 되는 것으로 착각을 합니다.
이러한 상황에서 우리나라에서 글로벌 경쟁력을 갖춘 소프트웨어 회사가 나오는 것은 거의 불가능합니다.
하지만, 조금만 생각을 바꾸면 그리 어려운 일은 아닙니다. 소프트웨어 회사들이 조금씩만 바뀌고 좋은 저변이 확대가 되면 그중에서 분명히 성공하는 회사가 나올 겁니다.
소프트웨어를 잘 이해하고 있는 경영자가 점점 많아지고, 아무리 작은 회사라도 소프트웨어를 개발하는데 꼭 필요한 프로세스, 시스템, 문화등을 적절히 도입하고 이러한 환경에서 성장한 개발자들이 서로 혼합되면서 전체 소프트웨어 산업을 끌어올릴 수 있을 것으로 생각합니다.
그 첫걸음이 경영자와 개발자들의 소프트웨어 공학에 대한 이해입니다. 소프트웨어가 왜 그냥 마구 개발하면 안되는지, 어떻게 해야 적은 비용으로 짧은 시간에 품질 좋은 소프트웨어를 만드는지 이해를 하는 것이 시작입니다. 모든 경영자와 개발자가 이런 것에 관심을 가져줄 것으로 생각하지는 않습니다. 단지 그 비율이 조금씩 증가하기를 기대합니다.