오늘 4대강 부실 공사 기사를 보니 건축도 IT에 못지않게 참 부실이 많은 곳이라는 생각이 들었다.
요즘 기술자 경력관리다 뭐다하는 글들이 자주 보이지만, 대부분의 프로그램 개발자들의 경력이란게 체계적이지 못하고 경험적이기만 하다. 소위 고급 기술자라고 불리는 10년 이상된 개발자들에게 클래스 다이어그램이라도 하나 그려보라고 해보라. 아마 절반 이상은 제대로 그리지 못할것이다. 한마디로 개발이란게 그냥 경험을 중심으로 움직이지
분석, 설계를 바탕으로 이루어지고 있지 않다는 말이다.
이렇게 된 이유는 몇가지가 있겠지만 단순한 이유로 본다면
비전공 개발자가 많았다는 것이다. IMF 이후 일자리 창출과 홈페이지 붐이 어울려 수많은 HTML 코더들이
학원에서 단 몇개월 HTML기술을 배워서 개발자가 되었고 그들이 현재 10년차가 넘은 상당수의 고급 개발자가 되었기에 제대로된 분석, 설계 기술을 익히지 못했었다.
그리고.. 진짜 중요한 이유는 그저 개발자들에게 설계서란 그저 요식 행위가 될 수 밖에 없는 현실이다.
우리나라에서 SI사업을 진행하다보면 대부분의 분석, 설계 기간에는 사업자가 무얼 하고 싶었던것인지를 파악해야하고 개발을 시작한다. 뭘하고 싶어하는지도 모르는 사업자들의 요구사항을 바탕으로 설계된 내용을 가지고 개발을 시작하여 완료를 하면 그때부터 사업자의 요구가 시작되고 그것이 진정한 SI사업의 시작이 되어 버린다.
결국 초기 설계한 문서 따위와는 전혀 다른 방향으로 사업은 진행되고 사업 종료에 가까워진 개발자는 선개발 후설계문서 작성의 반복을 시작한다. 결국 모든 사업이 끝나는 무료 완료 보고를 위해 설계서를 개발 내용을 바탕으로 작성하게 되니 개발자에게 설계서란 그저 요식행위로 느껴질수 밖에 없어진 것이다.
뭐 벌써 10년전 일이긴 하지만 싱가폴에서 발주가난 사업의 제안서를 작성할 일이 생겼었다. 제안요청서로 온 문서는
몇백장짜리 책 수준의 문서였다. 그 문서에서 우리 회사의 해당 사항을 체크하고 강점을 부연하면 되는 것이 제안서였다. 즉 그들은 세세하게 자신들의 뭘 원하고 무엇을 수행해야하는지가 이미 제안요청서에 다 나와 있었던 것이다. 그 제안서를 받고서 대략 6개월간의 검토가 이루어지고 검토 기간에 지속적인 피드백이 발생한다. 결국 수주는 못했지만
SI사업이란 이렇게 하는거구나 싶은 생각이 들었다.
우리나라의 예를 들어보자 제안요청서를 받고 대략 1개월 내로 제안서를 작성한다. 제안요청서를 보면 참 내용이 두리뭉실하다. 이미 대부분의 내용은 영업이 된 회사에 맞추어 작성되어 나온 제안요청서이다 보니 특이사항도 거의 없다.
제안서를 제출하면 보통 2~3일만에 검토가 끝난다. 자그만치 300페이지나 되는 문서를 그것도 5개정도의 업체가
제출한 문서를 그 짧은 기간에 잘도 검토를 한다. 어찌어찌 수주를 해서 들어가서 보면 발주자는 뭘 하고 싶어했는지 조차 모른다. 들었던 말중 가장 심했다고 생각한 말은 '제안 요청서는 그냥 무시해 난 그런거 모르니까'라는 발주 책임자의 말이었다. 결국 그 사업은 원래 사업기간의 2.5배 기간을 더 일하고서야 끝이 났지만. 사업은 제때 끝난것으로 보고되었다. 외국의 경우 그렇게 세세하게 사업이 내용이 나오고 진행하는데도 사업의 성공률이 50%를 못넘는것으로 안다. 그런데 신기하게도 우리나라의 사업 성공률은 95%가 넘는다고 보고되고 있다. 참 신기할 따름이다.
뭐 최근에 본 어느 제안서의 상황을 예로 글을 마쳐보고자 한다.
요즘 모바일이 대세다보니 모바일 사업이 발주가 났었다. 제안 요청서를 보니 3개월 90일짜리 프로젝트다.
그런데 제안요청서를 읽어보니 사업 종료 20일전에 다른 곳에서 진행되는 프로젝트가 있는데 그것에 맞추어 시스템을 오픈해야 한다고 명시되어 있다. 졸지에 프로젝트가 70일짜리가 되어 버렸다. 사업을 진행하는데 착수, 중간, 완료 보고회를 진행해야 한다고 한다. 보통 공공의 보고회 준비는 5일정도 사업이 간단하니 3일정도씩은 소비해야할꺼다.
완료 보고는 사업 종료시점에 하니 70일중 6일정도가 빠져야한다.(참 저 70일이란 휴일을 포함한 일수다)
거기다가 감리를 두번 받아야한다고 되어 있다. 감리는 보통 7일정도씩 소요되니 14일정도가 빠진다.
단순 산술 계산을 해보면 사업기간은
90 -20-6-14 = 50
즉 50일이다.
그런데 더 가관인것은 연계해야할 시스템이 10개가 넘고 이를 위한 연계 프로그램도 개발해야 한다. 덤으로 홈페이지도 하나 개발해 달란다.
뭐 사업에 필요한 개발사항들의 많고 적음은 논외로 친다고 해도 50일간(주말을 빼면 40일도 안된다) 프로젝트를 진행하는데 무슨 설계고 분석이 있을수 있겠는가?
'주저리주저리' 카테고리의 다른 글
짧은 반성하나 (0) | 2012.07.09 |
---|---|
IE사용자가 줄긴 줄어든것 같다. (0) | 2012.07.06 |
개발자의 수렴지인 치킨집을 향해가는 길목에서 (0) | 2012.07.03 |
오류를 오류라 부르지 말라. (0) | 2012.05.08 |
스티브잡스를 거의 다 읽어가는 시점에서.. 그리고 n^2법칙쯤 (0) | 2012.01.26 |