SDLC(Systems development life cycle)라는 용어가 있다. 소프트웨어 공학에서 나오는 가장 기본적인 지식인데 프로젝트를 하면 단계에서 그 다음 단계로 돌고 돈다는 것이다. 개발 프로젝트는 보통 기획, 분석, 설계, 구현, 유지보수의 단계로 나뉜다.

교육 과정에 있어서 프로젝트를 하다 보면 기획에서부터 개발까지는 어떻게 경험을 할 수 있지만, 실제 릴리스하고 나서 유지보수의 경험은 해볼 기회가 거의 없다.

반면에 졸업을 하고 나서 회사에 가면 업무의 90% 이상이 유지보수이다. 기존에 있는 코드 뜯어 고치는 일을 하며 먹고 산다는 이야기. 현업에서는 설계 능력보다 소방수 능력(불끄기)을 더 요구하는 경우가 많다. 이처럼 교육 단계의 개발과 현업에서의 개발은 괴리가 있을 수 밖에 없음.

유지보수의 경험을 교육 과정에서 경험해 보게끔 할 수는 없을까라는 고민을 많이 해왔다. 답은 딱하나, 바로 실제로 제품이나 서비스를 릴리스해 보는 것.

릴리스 그 이후를 감안한다면 설계 단계에서부터 “좋은것”보다는 “필요한 것”을 만들어야겠다는 생각까지 할 수도 있겠다. 진통제와 비타민이 차이도 직접 고민해 볼 수도 있고( https://brunch.co.kr/@suumpro/10 ).

오늘 BoB 8기 프로젝트 킥오프를 마쳤다. 개발 프로젝트가 다수 있었고 모든 팀에게 일일이 얘기를 하지는 못했지만, 프로젝트를 단순히 개발 완료에서 그치지 말고, 거기에서 한발 더 나아가 아주 조금이나마 실제 소비자들로부터의 피드백을 가지는 기간까지 WBS에 넣었으면 하는 바램이다.

발표를 마치고 나서 얼굴에 웃음을 짓는 팀보다 그렇지 않은 팀이 더 많았다. 앞으로 더 많이 얻어터질건데, 벌써부터 쫄지 말고 앞으로 뚝심을 가지고 죽~ 전진하시길…