이 책은, 앞으로 한국의 소프트웨어 회사에서 지향해야 할 것이 아주 자세히 기술되어 있다.
책의 내용은 아주 간단하다. 1)코딩하기 이전에 SRS를 적고, 2)소스관리시스템, 3)이슈(버그)관리시스템을 사용해야 한다는 것이다. 너무 쉽고 너무나도 잘 알려져 있는 사항이다. 그러나 그 것을 제대로 실행하고 있느냐가 문제이다.
본인은 일본에서 8~9년 가량 유학생활을 하면서, 파트타임으로 일본의 중소기업 (50명이내)에서 소프트웨어를 개발해 왔다. 그러나, 그들의 일하는 패턴은 저자가 서술한 실리콘밸리에서의 근무형태와 비슷했다. 사업이 시작되면 먼저 매니저가 고객과의 회의를 통해 전체적인 분석을 하고 문서화한다. 그리고 그 문서를 가지고 다시 고객을 찾아가 토의한 다음 문서를 보다 더 구체화시킨다. 최종적으로 고객과의 합의 된 문서를 기반으로 소프트웨어를 설계하기 시작한다. 설계가 어느 정도 되면 다른 엔지니어와 함께 토의를 몇 차례 거처 설계문서를 완료한다. 이 단계가, 전체 공정 중 거의 절반(50%)이다. 그 다음은 사내 인력과 외부인력 (아르바이트포함)으로 실제 코딩작업에 들어간다. 이 작업이 전체공정 중 약 3분의 1를 차지하게 되고, 나머지는 납기일까지 unit테스트, 통합테스트를 거쳐, 개발이 완료되고, 고객에게 납품을 한다. 여기서 프로젝트의 모든 업무가 완료된다.
이 회사의 규모는 우리회사와 비교조차 되지 않는다. 년간 매출이 100배 이상 차이가 난다. 하지만, 그들의 업무형태와 효율은 우리보다 상당히 뛰어나다. 우리가 앞으로 지향해야 할 것은 너무나도 뻔하다.a
우리나라사람들은 초등학생 때 바른 생활이라는 교과목을 배운다. 그 내용은 너무나도 간단한 것 부터 시작한다. 어른들을 만나면 공손히 인사를 한다. 길에 쓰래기가 버려져 있으면 주워서 쓰레기통에 버린다.
등등. 우리는 이런 사실들을 잘 알고 있다. 하지만 잘 지키고는 있지 않다. 오히려 어떤 이가 그 행위들을 잘 지키면 뉴스나 신문에 나오기도 한다. 이상한 세상이다. 당연히 해야 할 일을 하면 어리석어 보이고, 오히려 지키지 않는 이들을 추종하는 이들이 많은 현실이 안타까울 뿐이다.
한편, 저자는 엔지니어는 중간에 관리직으로 이전해서는 안 된다고 기술하고 있다. 이미 선진국에서는 관리직으로 이전하는 이들이 적다. 이웃 나라인 일본만 하더라도, 백발이 된 50세 이상의 베테랑 엔지니어들이 많이 근무하고 있다. 그들은 젊은 엔지니어들의 활동량에는 비길 수 없지만, 그들의 경험, 노하우, 견지능력은 놀랍다. 그러나 그들이 젊은 엔지니어들 보다 신 기술 습득능력이 뛰어나다라고 말할 수 없지만
말이다. 실례로 내가 일본회사에서 뭔가를 개발하고 있을 때, 이론과는 달리 잘 해결되지 않는 프로그래밍이 있었다. 그 상황을 베테랑 엔지니어에게 설명한 후 조언을 구하니, 아주 쉽고 명료한 해결책을 가르쳐 주었다. 그 것은 그가 나보다 기술이 좋아서가 아니라 많은 유사한 경험이 있어서 이다. 결국 연구 및 개발에서는 그 기술과 도구가 변하더라도, 본질적인 내용은 불변하기 때문이다. 마치 우리 인간이 태어나서 죽을 때까지의 행위의 본질이 원시인이던 현대인이던 같은 것과 같이 말이다.
저자가 주장하고 있는 사항들은 이미 선진국에서 증명되었다. 이제 이 문제는,
그 것을 우리들도 하던지 아니면 이전과 같이 비효율적으로 할 것인지를 결정하는 것이다.
그 결정권은 한국회사의 형태상 경영자에게 있고, 그 판단이 내려지면 하위 조직원들은 그 지시를 따라서 보다 더 나은 제도를 만들어야 할 것이다. 하루 빨리 우리도 기타 선진국들과 같이 엔지니어가 일하기 좋은 환경이 구축되었으면 하는 바램이다.
Comments