고등학교 홈페이지 개편기

5월 26일, 2015

지금으로부터 2년 가까이 지난 일이지만, 지금까지 겪은 경험중에 가장 중요한 일이었고, 제가 많은 영향을 끼쳤던 일이었기에 제대로 정리해보아야겠다는 생각이 들었습니다.

2년전에 이와 관련하여 을 쓰긴 했었지만 프로젝트 초반이었고, 지금 다시보니 유익한 내용은 많지 않은 것 같아 다시 정리해서 써도 좋을 것 같다는 생각이 들었습니다.

개발 배경 – 학교

제가 다닌 고등학교인 한국디지털미디어고등학교(디미고)는 일반 인문계와는 많이 다릅니다.

IT특성화고등학교로 분류되어있는 이 학교는 실제로도 IT관련 교과목인 C언어, JAVA, 데이터베이스, 모바일프로그래밍 등 다양한 프로그래밍 관련 교과를 배웁니다. (이과 기준)

그만큼 프로그래밍을 하는 학생들이 많고, 학교에 대한 자부심이 많습니다.

디미고 전경

하지만 제가 1학년일때 학교의 홈페이지는 정말 오래되었고 크로스브라우저도 잘 지원하지 않은 상태였습니다. 홈페이지가 개편되길 바라는 사람들이 많았는데, 그중에는 저도 포함되어 있었습니다.

그러다 어느 날, 학교 홈페이지를 개편 해보지 않겠냐는 연락이 왔고, 저는 동아리원들과 함께 적극적으로 프로젝트에 참가하였습니다.

지도교사가 있긴 했지만, 프로젝트 학생들이 기획부터 개발,디자인까지 모두 도맡아서 하게 되었습니다. 프로젝트 매니저도 저와 같은 학년인 학생이었고, 영상 및 음원작업을 하는 학생까지 프로젝트에 참가하였습니다.

1차 개발

프로젝트는 크게 1차와 2차 개발로 나눠졌습니다. 1차 개발 기간은 1학년 겨울방학부터 2학년 학기 초까지 진행되었습니다.

처음 프로젝트 기획 규모는 굉장히 컸는데, 일반적인 대학교 포털과 비슷한 수준의 규모였습니다. 물론 이 짧은 기간동안 이를 다 개발할 수는 없었고, 대외용 홈페이지와 인트라넷의 필수적이며 급한 기능들만 개발하고 잠시 중단되었습니다.

이때의 프로젝트 인원은 15명 내외였고, 팀원 대부분이 팀프로젝트에 대해 경험이 많지 않았으므로 드롭박스와 USB를 통하여 자료관리를 하였습니다.

홈페이지 개편 팀

2차 개발

1차 개발때 체계적인 계획없이 프로젝트를 진행했고, 앞으로도 이런식으로 개발할 수는 없다는 생각이 들었습니다. 체계적인 프로젝트 관리를 위해 프로젝트 매니저 학생과 개발총괄이었던 저는 각자 조직적으로 프로젝트를 진행할 수 있는 계획을 세웠습니다.

우선 부서를 만들었습니다. 개발부와 미디어디자인부, 보안지원부 3개의 부서를 만들고 그 밑에 팀을 꾸려서 팀별로 독립적인 작업 수행이 가능하게 하였는데, 이는 1차 개발 기간동안 실질적으로 작업 한 시간보다 다른사람을 기다리며 보낸 시간이 더 많았기 때문입니다.

개발부 내에서도 각 팀마다 모듈단위로 개발할 수 있게 끔 홈페이지에 프레임워크를 직접 개발하여, 잉여 시간이 최대한 발생하지 않도록 계획하였습니다.

인트라넷 Git 레포지토리

소스코드도 확실히 관리하기 위해 Git을 사용하였고, 디자이너도 ‘디자인 스튜디오’ 라는 툴을 사용하여 체계적인 관리가 될 수 있도록 노력하였습니다.

홈페이지 2차 개발 프로젝트는 30명이상의 인원이 참가하였고, 3개의 부서와 10개이상의 팀을 꾸리며 고등학생 치고는 상당히 체계적으로 프로젝트를 진행했던 것 같습니다.

인트라넷 화면

세미나 발표

프로젝트가 끝나고, 학교에서 정기적으로 여는 ‘학생 자치 IT 세미나’ 에서 프로젝트로 얻은 경험들을 발표하기도 했습니다.

발표 내용에는 ‘
퀄리티가 2배 증가하면 코드 작성
시간은 제곱으로 늘어난다’, ‘시간을 맞춘다는 건
 애초에 불가능하다’, ‘내가 해야 할 일은
 내가 해서는 안 된다’ 등 자극적이지만 경험을 하며 얻었던 생각을 넣었습니다.

비록 제가 아직 어리고 많은 경험을 하지는 못했지만, 최근에 새로운 프로젝트에서 처음 리더의 역할 해보는 학생들에게 해주고 싶었던 말도 발표에 넣었습니다.

보통 프로젝트의 리더라 하면 실력이 우수해서 하는 경우가 대부분 일겁니다. 그만큼 다른 팀원들은 리더에 비해 다소 실력이 부족하게 되는데, 이 때문에 리더들은 주로 어려운 부분을 맡을 것입니다.

하지만 다소 실력이 부족한 팀원들은 코딩을 하다 똥을 싸게 되는데, 리더는 이 똥을 그냥 보고 지나치지 못하고 자신이 치우게 됩니다. 이뿐만 아니라 여기서 디버깅 해달라고 호출, 저기서 DB 설계좀 해달라고 호출, 위에서 보고서 넘기라고 호출…. 이런 상황이 지속되다 보면 리더는 할게 너무 많이 일 처리가 정상적으로 되지 않습니다.

비록 조금 어려운 일이라도 리더는 본인이 하려 하지 말고 팀원들에게 최대한 일을 분산해야 합니다. 이건 제가 이와 같은 상황에 놓여있었기 때문에 꼭 강조하고 싶습니다. 업무 계획을 세울 때에는 리더가 해야 할 일을 최대한 적게 잡아야 합니다. 물론 그래도 리더가 하는 일은 누구보다 많을 것입니다.

세미나 발표자료

이후

비록 상당한 규모의 팀을 꾸려 체계적으로 개발했지만, 프로젝트를 주도했던 대부분의 학생들이 3학년으로 진학하면서 프로젝트는 중지되었습니다. 수능이 끝나고 일부 문제를 손보긴 했지만 얼마 후 졸업을 하게 되면서 팀원 대부분은 프로젝트와 인연을 끊게 됩니다.

그렇게 홈페이지를 관리 할 수 있는 사람이 적어지자, 학교에 재학중인 후배들이 다시한번 새로운 인트라넷을 개발하게 되었고, 현재 인트라넷은 없어지게 되었습니다.

물론 개발한 인트라넷이 사라지긴 했지만 이 프로젝트를 진행하며 얻었던 경험은 저를 더욱 발전시킨 것 같습니다.