본문 바로가기

프로젝트 개발기/Status 200 ( Team Project )

2. TEAM 프로젝트: 주제 정하기

1. 주제는 어떻게 정할까? 

6명의 인원으로 Team 프로젝트를 진행한다면, 각자 원하는 기능이나 구현하고 싶은 프로그램의 방향이 다를 것이다.

더구나 학원에서 모여서하는 경우엔 다들 입문 개발자이기 때문에 어떠한 주제나 프로그램을 만들겠다고 정하고 모이는 경우와는 또 다르다. 

 

물론 누군가 주도해서 주제를 정하는 경우도 있지만, 그렇게 할 경우 각각 어떠한 어드밴티지를 취할 수 있는지를 계산하면서 프로젝트를 진행해야 한다. 

팀으로 진행하는 프로젝트여도 각자 자신이 하는 역할이 분명하고, 개발 범위가 잘 설정되어야만 그 의미가 있기 때문이다. 

물론 나도 입문 개발자라 미숙하지만, 지금까지 사회생활을 하면서 하나의 팀에 소속되고, 팀이라는 하나의 협업체계에서 자신의 역할을 찾는 것은 시간이 필요한 일이다.

더욱이 자신의 위치에서 이를 능동적으로 수행하기란 썩 쉽지만은 않다.

 

우리는 우선 조장을 중심으로 각자 만들고 싶은 사이트를 의견으로 취합했다. 

 

  1. 쇼핑몰
  2. 커뮤니티 사이트 (유머나 특정 주제를 토픽으로 하는 사이트) 
  3. 질문과 답변을 달고, 해당 답변을 확인할 수 있는 사이트 (스택 오버플로우 처럼 기능하는 사이트) 

 

위의 4가지로 의견이 취합되었고, 각각의 장단점을 분석하였다. 

4가지 모두 장단점은 확실했는데, 개인적으로 쇼핑몰 기능은 개인 포폴에서도 충분히 가능하고 많이 하는 주제라 굳이 우리까지 해야할 이유가 없다고 생각했다. 

 

커뮤니티 사이트는 단순한 게시판 기능과 더불어 포인트 적립, 사용 등의 기능을 다양하게 구현하고 관리자 페이지를 구체적으로 만든다면 흥미로운 주제이다. 

다만, 당시에 일반적인 게시판을 만든 직후이기 때문에 팀원들에게 큰 메리트로 작용하지 못했다. 

 

팀원 중 한명이 J 가 제안한 스택오버플로우 같은 웹페이지는 독특하지만, 에디터가 준수하게 만들어져야 하고 회원관리가 필요했다. 또한 협업도구로 사용해야한다면 이를 지원하기 위한 부가 기능이 필요했다. 

 

결과적으로 우리는 각자의 의견을 취합하고 나눈 끝에 3번 안을 채택하고, 에디터와 멤버 관리 기능, 일정 관리 기능으로 나누어 각각 개발하기로 합의를 했다. 

 

2. 개선점 

 우리는 이 과정에서 단순하게 주제를 정하는 선에서 회의를 종료하였다. 이로써 생기는 문제는 다음과 같다. 

 

  1. 요구 사항에 대한 명확한 정의가 없어서 개발 기간을 설정하고, 부가 기능을 쳐내는 작업이 불가능했다.
  2. 각자 모듈을 완전히 나눠서 개발한 것은 좋지만, 명확하게 요구사항에 대한 확인이 없었기 때문에 추후 발생하는 버그나 라이브러리 동작에 대응하지 못했다. 
  3. 사전에 정해야하는 개발 버전, GIT 등 협업 도구 선정이 미숙하여 잦은 오류가 발생하였다. 

 물론 내가 팀장이 아니었지만, 팀원으로서 해당 과정에서 발생되는 미숙함을 캐치하고 이를 조정하도록 도와야할 필요는 있었다. 이러한 과정이 생략됨에 따라 이후의 개발 과정은 순탄하게 흘러가지 않았다.