Talk with Hani

로망은, 실현되리라!

웹에 대한 편견

 

약 2년 전에 만든 system이 issue가 되서 몇 군데 회의에 불러 다녔다. 내가 팀원으로 참여했던 software가 윗선에 보고되면서, 다른 사업부에서도 쓸 수 있도록 파급하라는 지시가 떨어졌기 때문이다. software를 만든 사람으로써, 자식같은 software가 인정 받아서 여기 저기서 사용되는 일만큼 기쁜 것도 없다. 하지만 이런 윗선의 지시로 움직이는 프로젝트는 관료적인 색채가 묻어 나기 때문에 개발 이외의 일로 많은 신경을 써야한다는 것이 약간은 피곤하다. 

최근 몇번의 회의에 참석하면서, 사람들이 웹에 대해서 맹신같은 믿음을 갖고 있다는 것을 느꼈다. 2년 전에 시스템을 만들면서 XP 방법을 적용했다. 물론 XP의 완벽한 프로세스를 따르지는 않았지만, 짝 프로그래밍, 잦은 배포, 현장 고객 같은 XP의 핵심이 되는 아이디어를 도입함으로써 많은 효과를 보았다.(이와 관련된 post도 시간이 되면 올려 볼 생각이다.)

그런데 XP에는 없는 방법이지만, 프로젝트 팀원 외 부서 사람들과 설계안을 두고 많은 토론을 했기 때문에, 개발을 하면서 발생할 수 있었던 많은 문제점을 사전에 걸러낼 수 있었다. 이런 집단 설계 토론를 통해서 당시 이슈가 되었던 관리자 모듈의 설계안을 도출했다. software는 add-on 형식의 프로그램이었는데, 3D CAD에 text, image, table 정보를 자동으로 삽입하는 기능을 가지고 있었다. 그런데 관리자가 CAD에 들어가는 정보를 입력해 주어야지만, 일반 사용자들이 원 클릭으로 데이터를 삽입해서 쓸 수 있었다. 그런데 관리자 기능은 1-2명의 사람들이 사용하지만, software 전체로 보았을 때 많은 기능을 차지하고 있었다.

이 관리자 모듈의 가장 어려웠던 부분은 table을 만들어서 삽입하는 것이었다. table의 형식이 정해져 있는 형태가 아니었기 때문에 마치 html 에디터에서 표를 만드는 것처럼 관리자가 표를 구성해 놓으면, 이 data를 기초로 해서 일반 사용자들이 보기 좋도록 CAD에 삽입해 주어야 했다. 그러나 워낙 프로젝트 기간도 촉박했고, 가장 큰 문제점은 html 에디터같은 gui를 구성하는데 들어가는 시간 대비 관리자(1-2명)의 수가 무척 적어서 쉽게 많은 시간을 투자하기가 어려웠다. 하지만 프로젝트 팀 내부에서는 html 에디터 같은 gui를 구성하자는 쪽으로 방향을 잡고 gui 설계를 완성했다.

보통은 프로젝트 팀 내부적으로 gui 설계안이 결정되면 개발이 진행되나, 우리 프로젝트 팀은 이런 설계안이 과연 어느 정도의 효율성을 가지고 있는지 검증해 보기 위해서, 객관적인(?) 부서원들과 앞에서 말한 집단 설계 토론을 가졌다. 프로젝트 팀에서도 예상했던, 사용자 대비 들어가는 개발 공수가 너무 많다는 지적이 쏟아졌다. 물론 단순한 지적으로만 끝났다면, 얻는 것 없이 김만 새는 토론이었겠지만, excel로 관리자 모듈을 꾸며 보면 좋을 것 같다는 아이디어가 나왔다. 일단 excel을 유사 db로 여기고, image 파일은 경로명을 기록해서 서버로 올리고, 무엇보다도 excel의 cell merge 기능을 활용하면 프로젝트 팀에서 고민했던 많은 문제점들이 해결 되었다. 즉, excel의 gui를 활용하고 excel의 cell 정보 등의 meta data를 활용함으로써 meta data을 추출해서 CAD에 정보를 입력해 주는 모듈만 개발하는 걸로 고객이 원하는 solution을 제공해 줄 수 있었다.

문제는 excel로 개발하면 개발 속도는 높아지지만, 사용자 편의성 측면이 얼마나 만족할지가 미지수였다. 그러나, 우려했던 것과는 달리 관리자 1-2명이었고, 이들의 excel 사용 skill이 높아서 모든 문제가 자연스럽게 해결되었다. 상당히 기간이 촉박한 프로젝트였기 때문에, 고객의 요구 사항을 기간 내에 해결할 수 없을 거라는 불안감이 있었지만, 부서원들의 아이디어와 XP 덕분에 성공적인 프로젝트로 결론지어졌다.

그러나… 시간은 2년이 지났다. 그리고 많은 것이 바뀌었다.

2년의 시간동안 사람들의 눈높이는 시간의 길이만큼 높아졌다. 그러나 2년 전에 만든 프로그램은 데이터만 쌓였을 뿐 2년 전의 모습 그대로다. 프로젝트 경험이 미천했을 때는(?) 내가 만든 프로그램을 향한 지적에(약간의 불평 내지는 비난) 쉽게 흥분했다. 프로그램은 나의 ego 영역으로 보았기 때문이다. 개발 업무가 내 업무의 많은 부분을 차지할 때는 프로젝트에 개인적인 감정이 많이 실렸기 때문에, 프로그램의 문제점을 에러로 볼 것이냐, 개선 사항으로 볼 것이냐를 두고 고객과 많은 argue를 했다.

그러나 감정이 무뎌진 것인지, 아니면 세월의 길이만큼 내공이 쌓인 것이지…프로젝트나 software에 대한 다른 이들의 비난에 대해서 상당히 객관화해서 듣는 편이다. 물론 객관화하려는 노력을 특별히 들이는 것은 아니지만, 어느새 비난성 지적이나 코멘트에 대해서 상당히 초월해진 편이다.

다시 이야기의 초반으로 돌아가서, 몇 번의 회의에 참석하면서 몇몇 분들이 왜 excel로 관리자 모듈을 구성했는지 알 수 없다는 지적을 했다. 이런 지적을 하시는 분들이 system을 사용해 본 것은 아니다. 그리고 이런 지적 말미에 파급을 위해서는 기존의 clien-server 버전을 웹으로 개발해 줄 것을 요구했다. 물론 사용해 보지 않았기 때문에, 그분들은 어디까지나 excel과 웹에 대한 편견으로 이의를 제기하는거라 생각한다. 나름대로 IT에 대한 감이 있기 때문에 이런 지적을 하는 것도 무리는 아니라는 생각도 했다.

하지만, 자신이 잘 안다는 확신 속에 함정이 도사리고 있다는 것을 잊어서는 안된다. 답이 정해져 있다고 문제에 접근하면, 우리는 더 나은 답을 찾을 수가 없다. 진정한 solution provider는 열려 있는 마음을 가져야 한다.

나는 그분들이 그런 편견을 가지는 이유가 다음과 같다고 생각한다. 웹은 professional하다. excel은 구식이다. 웹은 배포를 하지 않아도 된다. excel은 설치를 해야 한다. 그리고 무엇보다도 웹이 대세다. 이런 의견이 일견 타당하지만, 우리가 만들었던 software의 상황은 약간 특수했다. 일단 웹으로 개발했을 때 들어가는 개발비용 대비 사용자가 너무 적다.(1-2명x사업부 수) 또한 이미 잘 돌아가는 프로그램을 모두 버리고, zero base에서 작업해야 한다.(물론 약간의 know-how를 갖고 있다는 점이 다르다.) 또한 excel을 없앤다고 해서, 배포 문제가 해결되는 것은 아니다.(기존 3D CAD에 add-on되는 부분은 excel, 웹을 떠나서 똑같이 사용해야 하기 때문이다.) 무엇보다도 테이블 삽입에 대한 로직을 다시 고민해야 한다.

이런 상황에 대해서 조목 조목 설명을 하기는 했지만, 대세는 웹이니까 할 수 없이 웹으로 개발하는 쪽으로 이야기가 모아지고 있다. 물론 프로젝트 하는 입장에서 일을 할 수 있으니까, 월급 몫을 한다는 위로를 하긴 하지만… 씁슬한 맛이 개운치는 않다.프로젝트 중 일부는 정치적으로 흐르기는 하지만, 몸 담고 있는 프로젝트가 그런 상황이라면 개운하지 않다.


Leave a Reply

가끔 스팸차단기에 의해 코멘트(트랙백)가 막히나, 하루에 한번씩 정상처리 해드립니다.