차세대 프로젝트 탈출각인가요? Ep.1

SI기업에 대한 오래된 선입견 #2 - 비용으로만 생각되는 분석단계

by SW Career Lab

https://brunch.co.kr/@plmerstory/17


에서 만났던 K군으로 부터 좋은 소식이 들려왔습니다. 드디어 취업에 성공했다는 이야기와 함께 저의 이야기 덕분에 SI/SM 분야의 조금 작은 중소기업에 입사했다고 합니다. 입사한 기념으로 저에게 밥과 커피를 사고 싶다는 선물(?)같은 소식도 함께 전해왔습니다.


자신의 의지로 어렵사리 취업에 성공했다는 사실에 저 역시 진심으로 축하해주고 싶어 시간을 맞춰 시내의 한 식당에서 만났습니다.


몇개월전에 만났을 때에 비해서 말수도 많고 첫월급도 받았다면서 신나하는 K군의 모습을 보니 저도 신입사원때가 생각나 덩달아 신이 났습니다. 면접 이야기 부터 회사 생활에 대해서 신나게 이야기 하던 K군이 이번에 X금융사 차세대 프로젝트에 들어가게 되었다고 이야기 하면서 말끝을 흐리더니


"회사 선배들이 금융사 차세대 프로젝트 들어가면 회사를 탈출해야 한다고 하던데 .. 정말 그래야 하는건가요? 어떻게 생각하세요?"


라고 질문을 했습니다.


저 역시.. "음? X금융사 차세대 프로젝트라고요?" 라고 되물으면서 잠시 침묵을 남겼습니다.


아마도 SI 프로젝트 중 '차세대' 라는 표현이 갖는 다양한 의미를 떠올랐기 때문이라고 생각합니다.


저의 하는 반응을 본 K군은 조심스럽게 물어왔습니다. "저, 어떻게 하면 좋을까요?"


먼저 SI라는 분야에서 일을 해본 사람이면 과장을 조금 보태 공포스러운 단어가 두가지가 있습니다. 하나는 "고도화" 다른 하나는 "차세대" 입니다.


고도화(高度化) 프로젝트는 일반적으로 기업에서 현재 존재하고 있는, 그러니까 지금 사용하고 있는 서비스/시스템의 수준/성능을 한단계 더 높이는 프로젝트를 말합니다. 단어자체, 글자 그대로만 보면 사실 뭐가 없어보이는 내용이지만 '고도화' 라는 단어 안에는 사실은 많은 것을 담고 있습니다.


마찬가지로 차세대(次世代) 라는 의미도 무엇인가를 다음세대로 바꾸는 것이니까 기존에 쓰고 있는 서비스/시스템을 다음버전으로 바꾼다는 의미입니다. 결국 고도화와 의미적으로 큰 차이는 없습니다.


하지만 SI분야에서 일반적으로 '차세대'라는 개념을 '고도화'라는 개념의 상위개념으로 봅니다. 다시 말하자면 '고도화'라는 것은 비교적 작은 단위 시스템 SW 혹은 단위 업무역할을 하는 일부 시스템을 묶어서 보다 높은 수준으로 바꾼다는 것을 의미하고, '차세대'는 단위 업무 역할을 하는 시스템(고도화 대상)들의 집합인 업무 영역 전체의 시스템SW를 다음 버전으로 바꾼다는 의미정도로 규모의 차이를 이해하면 좋습니다.


그럼 고도화나 차세대가 갖고 있는 어려움은 무엇일까요?


바로 기존에 '이미 쓰고 있던 시스템'이 있다는 사실입니다. 없던 것을 만드는것도 아닌 기존에 쓰고 있던 시스템을 가지고 수준과 버전을 높이는 개발 해야 하니까 뭔가 더 쉬워보이지만, 현실에서는 짧은 개발 시간과 사용자의 높은 수준의 눈높이를 만족시켜야만 하는 두가지 어려움 때문에 많은 어려움이 벌어집니다.


우선, 왜 이미 만든 서비스/시스템 을 차세대/고도화 프로젝트를 통해 바꿔야 하는걸까요? 여러가지 이유가 있겠지만 가장 중요한 이유는 기본적으로 현재 쓰고 있는 시스템의 기능은 예전의 비즈니스에 맞춰져 있는데 반해 기업의 비즈니스 환경은 계속적으로 바뀌고 있기 때문입니다.


기업이 현재 하고 있는 비즈니스가 법적인 문제나, 비즈니스적 트랜드로 인해 변화해야 하는 경우는 사실 비일비재 합니다. 혹은 기업이 새로 해야 하는 비즈니스가 있는데 기존 시스템으로 비즈니스를 하는데 도움이 되지 않는다면 당연히 지금 쓰는 시스템을 쓰는것 자체가 비효율적이기 때문에 효율적으로 비즈니스를 하기 위해서는 기존의 시스템을 바꿔야 합니다.


따라서 차세대/고도화 프로젝트의 시작은 (당연히) 바로 기존에 기업의 비즈니스를 이해하고 현재 사용중인 시스템을 분석하는것 부터 시작합니다.


그런데 이런 분석단계에서 부터 커다란 어려움이 존재합니다. 바로 시스템을 잘 이해하는 사람이 부족하다는 것 입니다.


음? 무슨소리지? 라는 생각을 하는 사람도 있겠지만, 실제 기업에서 IT시스템을 담당해본 사람은 고개를 끄덕일 수도 있습니다.


생각보다 현재 운영중인 비즈니스에 시스템은 생각보다 복잡한 경우가 많아서, 지금 운영중인 시스템을 개발했던 당시 개발단계부터 많은 부분 관여를 하고 구축된 이후에는 그 시스템을 운영하면서 지속적으로 시스템의 비즈니스 로직을 들여다본 사람정도는 되어야 시스템에 대한 이해가 충분하다고 할 수 있습니다.


그런데 기업은 시스템 담당자가 하나의 시스템을 처음부터 끝까지 잘 이해하도록 잘 놔두지 않습니다. 시간이 지날수록 담당자가 승진하거나 다른 부서로 인사발령이 되어 업무가 바뀌기 때문에 하나의 시스템이 사용하다가 고도화/차세대 프로젝트를 하게 되는 5년~10년 정도시간을 담당하는 경우가 거의 없습니다.


따라서 차세대/고도화 프로젝트를 시작하게 되는 시점에 운영중인 시스템 담당자는 시스템의 전부 보다는 많이 활용되는 기능 위주의 담당자이거나 운영자일 가능성이 높습니다. 사실 그렇더라도 기존 시스템을 분석하는 분석가들은 여러 사람들과 인터뷰를 하고 혹은 현 시스템을 들여다보면서 고도화해야 하는 시스템은 어떻게 해야 할지 알아갈 수 있는 역량이 있기 때문에 크게 문제되지 않습니다.


그런데 제일 문제는 분석가들이 만나야 하는 고객사의 많은 사람들은 항상 늘 바쁘며, 시스템 분석을 위해 투입된 분석가들과 이야기할 수 있는 시간을 만들기가 쉽지 않습니다. (왜냐면 고객사 담당자들도 자신의 일은 기한내 해야 하고 또 근무시간 이후에는 집에 가야 하니까요..)


사실 이런 어려움도 보완할 수 있는 한가지 방법이 있습니다. 바로 "시간" 입니다. 분석하기 위한 시간이 많이 주어진다면 분석가들이 담당자들과 틈틈히 이야기해보면서 시스템 분석이 가능할텐데, 현실은 언제나 늘 그렇듯이 분석가들에게 주어지는 시간이 매우 짧습니다.


일반적으로 SI프로젝트의 전체 기간중 가장 많은 시간을 차지하는 단계는 당연하게도 시스템 구현 단계 입니다. 다시 말하면 시스템 구현 이전에 어떤 시스템을 만들것인지를 요구사항을 분석하고 설계하는 시간은 상대적으로 짧아질 수 밖에 없습니다. 하지만 차세대/고도화 프로젝트 처럼 기존의 복잡한 시스템을 분석해야 하는 상황에선 기존 시스템도 분석해야 하고, 이에 더불어 만들어야 하는 시스템에 대한 비즈니스적 요구사항까지 분석해야 히기 때문에 그들에게 부여된 분석시간은 매우매우 짧습니다.


특히 시스템을 분석하기 위해서는 다양한 경험을 갖고 있는 연차가 높은 (이를 업계에서는 고급엔지니어라고 합니다.) 분석가들이 투입이 되어야 하는데, 이들이 하루 근무할 때마다 상대적으로 저연차 엔지니어들 보다 비용적으로 많이 지출되므로 분석하는 시간이 늘어날 수록 프로젝트의 비용은 이익이 줄거나 심하면 손해가 되기 때문에 많은 시간을 들일 순 없습니다.


그럼 이런 상황에서 프로젝트는 어떻게 되냐구요? 기존시스템의 분석이 안되어 있는 상황에서 새로운 시스템의 설계가 이루어지게 되고, 이런 상태에서 일정에 맞춰 개발이 시작되면... 어휴.. 생각만 해도 끔찍합니다.

20250316_092348.png

그럼 차세대/고도화 프로젝트는 탈출해야 하는 걸까요?

정말 문제점은 이거 하나 뿐일까요?


다음에 이어서 적어보도록 하겠습니다.


.. to be continue ...


# 이 이야기는 실제 상담 사례를 기반으로 내용을 일부 각색한 부분이 있음을 알려드립니다.




keyword
작가의 이전글저는 비전공자 입니다.