프로젝트는 세가지의 구성원으로 구성된다.

발주자, 관리자, 개발자.

위의 세 구성원이 엮이고 엮여서 프로젝트가 시작되고, 개발되고, 완료되는 것이다.
물론 복잡하게 생각하면 한도 끝도 없겠지만, 간단하게 바라보면 저 세가지로 구성된다.

일단 위의 3각 관계에서 우리나라 형으로 변환하면 아래와 같이된다.

고객, 대형 SI 업체, 각각 특화된 소규모 개발 업체.
이른바, 갑과 을로 끝나는 형태가 아닌 갑, 을, 병 ( 필요시에는 정까지...)으로 맺어지는
관계로 이뤄진다. 이 때 역시 제일 중요한 위치는 대형 SI 업체의 활동인데,
사실 우리나라 실정 상 대형 SI 업체는 단순 발주 도우미 내지, 프로젝트 실패시, 그
뒤치닥 거리를 하는 일종의 보험이다. 물론 이 보험의 수혜주는 고객이지
소규모 개발 업체는 아니다.

그래서 고객은 대형 SI 업체에게 많은 돈을 주고 프로젝트를 발주하고,
그 돈의 일부를 받는 소형 개발 업체는 프로그래머를 쥐어 짜듯 개발하게 된다.
게다가, 근좌 프로세스들은 변화가 심하기 때문에, 2~3년 대규모 개발 따윈 하지 않는다.
2~3년 걸쳐 개발해봐야, 그 순간에만 쓰이는 프로세스 일 뿐, 세상이 변하면서,
다시 구성해야 되기 때문에 2~3년 씩이나 시간을 들이며 개발할 수는 없을 것이다.
(물론 기간계 시스템이나, 결제 시스템은 조금 다르겠지만....)

대개 프로젝트는 길어봐야 1년, 그 안짝으로 끝내야 하며, 결국 개발 업체는 자신의 개발력으로는 이를 해결 할 수 없어 다른 솔루션을 도입하고 그 솔루션의 기능을 활용하도록 하여,
기간을 단축하도록 한다.

그런데..... 보통 이런 솔루션은 내부 Business 로직이나 UI가 거의 Fix되어 있기 때문에,
그 안의 구조를 고치는 것은 참 많은 공수를 들이게 된다.
프로젝트 진행 단계에 있는 BPM(Business Process Management) 이라는 단계 처럼 현재 수행하는 각종 작업 단계들을 보다 전산 처리가 쉽도록 체계적으로 개편하고,
보다 빠르고 유연하게 될 수 있도록 하는 것이 있다.

그런데, 이 단계의 대부분은 고객의 요구사항과 해당 솔루션과의 차이점을 파악해, 솔루션을 어떻게 뜯어 고쳐야 될까를 고민한다. 결국 솔루션을 도입한 의미를 잃어버리고, 해당 고객만을 위한 특수 버전의 솔루션이 탄생한다. 그리고 그 차이점을 매우기 위한  프로그래머의 무한 헤딩(불가능을 가능하게 만드는 끊임 없는 시도)를 유도한다.

훌륭한 시스템이라고 해야 할까....
아마도 외국 유수 솔루션 업체들은 황당하기 그지 없는 행태일지도 모르겠다.
저런 상황이니, 해당 솔루션의 소스가 필요하게 되고, 소스를 제공하게 되는 국내 업체들은
자신들 만의 독특한 로직을 도리어 대형 SI 업체에 빼앗기고, 끝난다.
게다가, 그들만의 독특한 버전을 만들게 되었으니, 다른 곳에서 재활용은 절대 불가능하다.
어차피 원본 가져가봐야 다른 곳에서는 다른 버전을 만들어야 하니, 의미 제로일듯...

이런 이야기야, 헤딩을 하면서 흘리는 피와 눈물이 섞인 프로그래머들은 모두 공감하고 느끼고 다양한 매체를 통해 이야기 한다. 그리고 이런 모습을 보는 후배들은 자신이 제대로 직업을 선택한 것인지 의문을 갖고, 하나 둘 떠난다.
그런 후배를 보는 나 조차 그런 후배들의 선택에 찬성표 하나를 던져 준다.

언제 이런 흐름이 계속 될지는 모르겠지만, 대략 2~3년 후 즈음이면,
이제 더 이상 이런 형태의 개발을 하는 업체도 사람도 없을 것이다.
해달라고 돈 더 주면 할지는 모르겠지만....
BPM도 제대로 안하는 이런 일따위를 계속 할 바엔
외국으로 날라버리는 게... 더 나을 것 같다.

언제까지 가나 한번 보련다.
대형 SI 업체는 좀 시간이 갈지는 모르겠지만, 소형 개발 업체는 조만간 거의 다 무너질 것 같고, 그 끝이 보일 즈음에 아마도 고객 쪽에서 좀 변할라나....
내 나이 더 쳐 먹기 전에 슬금 슬금 도망이나 가볼까나....
728x90

+ Recent posts

728x90