예전이나 지금이나 by 함부르거

민간기업 다니던 때나 지금이나 별 차이 없는 게 하나 있다.

바로 엉망진창으로 만들어진 레거시 시스템의 유지보수 문제.

특히 전산 비전공자가 아무 생각 없이 얼렁뚱땅 만들어버린 시스템이 문제가 된다.

내가 관리하고 있는 시스템은 아니지만, 비교적 간단한 웹 시스템 - 등록 받고, 업무 결과 입력하고, 인증서 가지고 신원 확인하고, 데이터 조회하는 게 전부 - 인데 소스만 무려 100MB가 넘어간다. 이것도 알고 보니 행정직 하던 양반이 '어 그거 간단해' 하고선 전문 업체의 견적 다 무시하고 대학생 알바 몇 명과 프리랜서 하나 가지고 개발한 결과물이다. 당연히 유지보수에 관한 어떤 배려도 없고 소스는 오랜만에 들어보는 용어, 스파게티 코드 그 자체다. 개발문서? 결과물? 그거 먹는 건가요 우걱우걱. 당연히 에러가 빈발하고 민원은 잔뜩 발생하고 인력은 계속 투입된다. 우리 기관에서 관리하는 시스템 중에서 사용자 숫자는 제일 적은 녀석이 민원 비중은 80%가 넘어간다.

당연하지만 이런 시스템은 아예 처음부터 새로 개발해 버리는 게 가장 간단한 문제 해결책이다. 그 소스코드 분석할 비용보단 다시 개발하는게 싸게 먹힌다는 거다. 다시 말하지만 요구사항 자체는 전혀 복잡한 게 없는 시스템이라 구축비용도 그리 높지 않다. 문제라면 예산부서 사람들을 어떻게 설득하냐는 거다. 이미 존재하고 작동하고 있는데 왜 새로 개발하냐는 걸 어떻게 설명하냐구. 그것도 전임자가 똥 싸질러 놓고 가버린 건데.

제발 부탁하는 심정인데 최소한 정보화를 추진하는 사람이라면 소프트웨어 공학 개론 정도는 읽어 보고 일에 접하라고 하고 싶다. 컴퓨터 좀 만질 줄 안다고 최소한의 지식도 없이 시스템 구축 사업 담당자랍시고 나서는 건 자기가 빌딩 이용 많이 해봤다고 한강다리 건설 책임자로 나서는 것과 똑같다. 비슷해 보여도 필요한 지식과 경험은 그 클래스가 다르다. 친한 몇몇 사람 말만 듣고 전문적인 의견을 무시하는 인간들을 보면 진짜 죽여버리고 싶은 심정이다. 어떤 일이든 마찬가지지만, 실무를 하지 않는 관리자라도 일이 만들어지는 과정을 파악하고 관리하기 위해서는 기본적인 지식과 경험이 필요하다. 그런데 왜 유독 전산시스템 구축 분야는 초짜들이 만만하게 보고 있는지 모르겠다.

소프트웨어 공학은 전산 전공자가 아니라도 이해하기 그리 어렵지 않다. 사례 중심으로 수업 받으면 재밌기도 하고. 당사자들한테는 죽을 만큼 힘들었던 문제도 매우 재밌다. 남의 비극은 나의 희극이라지 않나.(^^;;;;) 다른 공학분야와 공통적인 문제도 많기도 하고. 물론 문제의 심각성을 느끼는 정도는 다르겠지만. 

전산 관련 일을 하는 사람들은 소프트웨어 공학을 개론 정도라도 배우길 바란다. 소프트웨어 개발자나 PM일을 하고 싶은 사람들은 물론이고. 전산전공이 아니라도 전산 시스템 개발에 관여할 일은 얼마든 있다. 후임자들에게 똥을 남기지 않기 위해서라도 좀 배우길 바란다. 내가 듣지 못한다고 해도 누군가 내 욕을 한다는 것은 기분 나쁘지 않나. 

덧글

  • 아쥬나이 2012/09/07 17:22 #

    사실 일하는 사람도 문제지만 전 그런 문제는 관리자의 책임이 훨신 크다고 생각합니다.
    어느정도 안목이 있다면 어떤 사람이 개발을 잘 할지 스파게티 소스를 만들어 놓을지 포트폴리오나 작업물 소스를 보면 어렵지 않게 알 수 있는데, 위에서 시키는 사람들이 그런거 전혀 신경 안쓰고 말씀하신것처럼 대학생 알바들을 뽑아서 작업하니까 결국 결과가 저렇게 나오는건데..

    대학생 알바가 미숙한게 불찰은 아니라고 생각해요.
    10원짜리 프로젝트는 10원짜리 인력을 쓰고, 100원짜리 프로젝트는 100원짜리 인력을 쓰면 되는데, 우리나라는 500원에 따와서 10원짜리 인력으로 땜빵하려고 하니까 아무래도 문제가 커 보이고요.

    솔직히 난 10원받고 10원짜리 만들어 줬는데 후임 개발자가 와서 아니 소스가 거지같네 .. 이러면 전임 개발자 입장에선 억울할 수도 있고요. 받은만큼 해 준건데.

    저도 한때는 남의 소스(특히 웹은) 보고 많이 분노(..)도 했는데요, 애초에 100원짜리 개발자와 10원짜리 관리자가 구축한 시스템에서 100만원짜리 아름다움을 기대하는게 제 욕심이라는 생각이 듭니다. 물론 소스를 보고 분노하는건 여전(-_-)하지만 ..

    기본적으로 당장 구현만 중시하는 문화, 리펙토링은 쓸데없는 비용이라고 생각하는 관리자가 우리나라 IT에서는 훨씬 문제 되는 산인것 같아요. 프로페셔널 소프트웨어 개발이던가.. 이 책을 필독서로 지정해야 합니다.
  • 함부르거 2012/09/07 23:09 #

    전 그런 관리자들을 대상으로 이 포스팅을 했습니다만 받아들이시기는 달랐던 모양이죠?

    제가 지금 관리자 입장에 있다 보니 관리자 입장에서 글을 썼는데 뭔가 표현이 미숙했던 모양입니다. 솔직히 써놓고 마음에 안들긴 했어요. ㅠ.ㅠ

    당연히 관리자들이 소프트웨어 공학을 배우라고 쓴 겁니다. ㅠ.ㅠ
  • 2071 2012/10/08 20:32 # 삭제

    댓글보다가 오오!하고 따라 들어왔습니다. 바로 제가 지금 시스템 추진을 담당하고 있는 담당자인데 전산은 전혀 모릅니다. 그래서 서점가서 책이랍시고 나름대로 찾아다 읽고는 있는데 (컴원에서 나온 정보시스템 분석 및 설계, 정대율/박상혁/박기호/오창규 공저입니다) 뭔소린지 모르겠고 이게 맞는지도 모르겠더군요;;;

    관련해서 혹시 구축 추진자가 볼만한 교재 같은 거 혹시 추천을 부탁드릴 수 있겠습니까... 이 글을 쓰실 때 의도하신 목적을 이루실 기회입니다! (.......)
  • 2012/10/08 20:34 # 삭제 비공개

    비공개 덧글입니다.
  • 함부르거 2012/10/08 21:47 #

    이 댓글 보실 지 모르겠지만 혹시 메일이 안 갈까봐 남깁니다.

    위에는 소프트웨어 공학이 쉬운 것처럼 써놨지만 그렇게 간단하진 않습니다. 써놓고 보니 형용모순이네요. -_-;;;

    생긴지 오래되지 않은 학문분야라(그래도 70년대부터 나왔어요) 정설이 정립되어 있지도 않고... 무엇보다 현장에서 구르던 개발자들이 만든 분야라 말 그대로 '공학'입니다. 정답은 없지만 정답에 가까운 그 무엇을 찾아가는 식이죠. 대체로 개발자들이 최종적으로 도착하는 테크트리라 개발을 직접 해본 경험이 없으면 이해하기 힘든 부분이 많이 있습니다. 이 분야의 대가들도 보면 자기가 개발을 해보다가 답답해서(...) 연구를 한 분들이 많아요. 학교에서 연구만 하던 사람들보단 실전에서 구르는 사람들이 나은 성과를 보여주는 몇 안되는 학문분야이기도 하죠. ^^;;;

    그래도 희망적인 것은 이쪽 분야는 이야기를 하는 식으로 풀어놓은 책들이 많다는 겁니다. FP가 뭔지는 몰라도 그게 왜 나왔는지 과정을 안다면 이해하기 쉽겠죠? 기본적인 개념들과 그것이 나온 과정을 이야기처럼 써 놓은 책들이 있는데 그런 책부터 읽어보시면 재밌기도 하고 이해하기도 쉬울 겁니다.

    위에 댓글에 말씀하신 책은 제목만 봐도(...) 너무 전문적이라 이해하기 어려울 겁니다. 저도 개발에서 손 뗀지 오래 되서 어느 책이 좋을지 당장 생각이 잘 안나지만 '조엘 온 소프트웨어' 같이 가벼운(?) 에세이부터 시작하시고, 인용된 책도 읽어보고 하면서 이해를 넓혀가시는 게 도움이 될 것 같습니다.
※ 이 포스트는 더 이상 덧글을 남길 수 없습니다.


트위터위젯