맨먼쓰 미신 에 대해서 많은 사람들이 고개를 끄떡끄떡한다.
뭐 내용은 찾아보면 엄청나게 나오니까 젖혀두고
핵심은.
지체되는 개발 프로젝트에 인력을 더하는 것은 개발을 늦출 뿐이다 .. 라는 것인데..
근거로 새로 투입되는 사람들을 가르치는데 시간이 더 걸린다..라는 것을 들고 있다.
그런데 이런거 생각해 본적 있나?
이 책이 쓰여진 때는 1975년이다.
상황을 생각해보면. 이때의 소프트웨어라는 것은 대부분 '일반인'을 위해서가 아니라.
아주 특수한 선구자적 시선을 가진 '기업'을 위해서 만들어졌을 뿐이고,
이러한 상황에서는 '요구사항'이 변경되는 일이 거의 없다는 사실을.
현대의 IT 인력들은 다들 알고 있다.
내일이 출시일이라고 해도 오늘 요구사항은 바뀐다는걸.
보통 클라이언트들은 상당히 추상적인 개념에서
이게 더 좋겠다 이렇게 바꿔달라.
바꿔놓고 보면 아니네 이렇게 하는게 더 낫겠다..가 끝도 없다는 것을.
그만큼 보고 듣는 것이 많아질 수록 사람의 요구는 늘어나기 때문이다.
이렇게 끝도 없이 프로그램의 기본 구조까지 바뀌는 상황.
이런 상황에서 사람을 더 투입하는 것이 정말 프로젝트를 지연시킬까???
조금 시선을 돌려서 다시 1975년으로 돌아가보자.
이시절의 프로그래머들이 지금과 같은 환경에서 개발을 했다고 생각하는가?
과거를 설명하는 문서들을 보면 대부분 다 이렇게 말한다.
'우리는 이렇게 열악한 환경속에서도 화려한 문화를 꽃피웠다.'
바라보는 지점을 '열악한 환경' 이 아니라 '화려한 문화'로 돌려보면
'어째서 화려한 문화'가 생길 수 있었나.. 라는 생각을 다시 한번 해보자.
뭐 여러가지 동인이 있겠지만, 내가 여기서 말하고 싶은 것은
'실제로 사람들은 프로그래머들이 대체 뭘 하고 있는 건지 아무도 몰랐다' 라는 것이다..
이런 상황에서 실제로 이 프로젝트가 얼마나 걸릴지 예측할 수 있는 사람이 몇이나 있었을까?
덧붙여서 '흔한 직업이 아니었기 때문에 오히려 전문가들이 모였다'는 점도 있을것이다.
요새처럼 학원에서 공장기계찍듯 평준화되서 나오는 ,
그리고 학원에서 배운 수준에서 한걸음도 못벗어나는 사람들도
프로그래밍으로 먹고 사는 지금과는 달리
적당한 실력으로는 먹고살기는 커녕 굶기 일수였다..는 점도 있을테고.
현대의 프로그래밍은 여러가지로 1975년과는 다르다. 조금만 인지했으면 좋겠다.
그당시와는 다르게 지금은 말 그대로 Copy & Paste만으로도
'전형적인' 프로그램을 만들어 낼 수 있는 시대다.
(실제로 MSDN 을 보면 알겠지만, 예제 코드도 그대로 다 나온다.
그냥 복사만 해서 실행해도 다 실행된다.)
실제로 현대의 프로그래머가 하는 일은 이걸 복사해서 짜집기하는 일이다.
이런건 정말 최소한의 프로그래밍 지식수준만 있는 사람이라면 누구든지 할 수 있으며,
포디즘처럼, 기계적 작업이므로 누가 해도 마찬가지다.
즉, 과거의 프로그래밍이 10%의 Copy & Paste와 90%의 알고리즘으로 이루어졌었다면
현대의 프로그래밍은 90%의 API Copy & Paste와, 10%의 알고리즘으로 이루어지는데
이 10%의 알고리즘이 완성되어 있다면
프로젝트의 막바지에 사람을 더 투입해서 90%의 Copy & Paste의 속도를 높이는 것이 왜 나쁜가?
이상한 점은 이 1975년에 나온 책의 논점을
사람들이 아직도 소프트웨어의 절대적인 기준으로 믿고 있다는 것이다.
아무도 반박도 안하고...
그 중 가장 큰 역할을 하는 것은
'인력풀'을 줄이기 위한 비용 지불자 들이겠지만..
덧글1.
결코 클라이언트를 욕하고자 하는건 아닙니다.
요구사항이 변경되는 게 정상이죠.
다만 상황이 바뀌었다고 말하고 싶은 겁니다.
덧글2.
학원출신들을 비난하는 것도 아닙니다.
저역시도 전공은 컴퓨터 계열이 아니었고, 그저 그런 학원 출신입니다.
제가 말하고자 하는건
전공 여부나 학원출신 여부를 떠나서 현업에서 일하면서 실력이 하나도 늘지 않는,
(정확히 말하면 Copy & Paste 실력만 늘어나는) 사람들에 대한 이야기입니다.
덧글3.
90%와 10%는 제 멋대로 지어낸 수치입니다.
저는 그냥 Copy & Paste와 알고리즘 개발의 비율이 바뀌었다는 표현을 한 것 뿐이에요.~
2009.04.15 By RL.T

