[국비교육 자바JAVA 팀프로젝트]2.팀결성, 내가 팀장?!, 첫회의 결과, 깃허브로 팀프로젝트하기

팀결성, 내가 팀장?!

팀구성원은 학원에서 여러 가지를 고려하여 나누어주었다. 우리 강의실은 총 16명의 수강생이있고 2팀으로 나누어졌다. 팀끼리 모였는데 다들 어색어색했다. 침묵의 시간…
팀장을 선출하는데 아무도 팀장을 하고싶어하지않아 오픈카톡에서 익명투표를 했다.

그리고 내가 선출되어버렸다.
어느정도 예견된 결과였다. 동아리든 팀프로젝트이든 난 항상 팀장으로 선발되었다ㅋㅋㅋㅋㅋ 익숙. 이것이 운명인가?
남은 1개월이란 기간동안 다들 좋은 결과를 가져갈 수 있도록 해야지!




팀장의 마음가짐

  • 팀원 모두가 팀프로젝트를 끝내고 무언갈 하나씩 얻어갔으면 좋겠다.
  • 팀장이 없더라도 헤매지않고 프로세스안에서 팀원 각자 해결할 수 있는 협업 프로세스를 만들고 싶다.
  • 함께 하는 팀을 만들고 싶다.
  • 재미있는 의견이 자유롭게 오고갔으면 좋겠다.




첫 회의때의 내 목표

내가 팀장이 될 걸 알고(?) 있었기때문에 첫 회의때 해내고 싶었던 목표들을 미리 생각해놓았다. 한 2주전부터ㅋㅋㅋㅋㅋㅋ
국비학원 팀프로젝트인 경우 주제가 신선한지는 크게 중요하지 않다.
가장 중요한 것은 해내는 것. 바로 완성도라고 생각했다.
주제선정에 시간을 쏟을 필요가 전혀 없다고 판단했고 최대한 빨리 시작하는 것이 중요하다는 생각이 들었다. 갈수록 시간이 부족할테니까…
다양하게 고려해야 할 것들이 있지만 다년간의 팀프로젝트경험으로 말하는 건데 이 자바프로젝트에서 가장 중요한 건 각 팀원의 기능구현이다. 이는 취업과 직결되어있고 면접시 필수 질문이 되기 때문이다.
따라서 기능이 아닌 부차적인 것들은 빠르게 결정하려고 노력했다.

  • 첫 회의때 끝내고 싶었던 목표
    1. 팀프로젝트 주제
    2. 디자인패턴 결정
    3. 커뮤니케이션 도구 확정
    4. 파트분배




첫 회의 결과

다행히 첫 회의때 팀원들이 좋은 의견을 많이 내주어서 원해던 목표의 80%를 결정할 수 있었다.
또한 팀원이 8명인만큼 페어프로그래밍을 하자고 의견을 제시하였고 팀원들도 좋다고 해서 2인 1팀으로 각 팀마다 게시판을 맡아서 짝프로그래밍을 하기로 했다.

  • 팀프로젝트 주제 : 다내놔는 회원이 구매자인 동시에 판매자가 될 수 있는 쇼핑 플랫폼입니다.
    • 쇼핑몰이 레퍼런스도 많고 팀원들중 다수가 하고자했던 프로젝트였다.
    • 다나와처럼 컴퓨터와 관련된 상품을 판매하는 사이트로 모티브를 잡았다.
    • 팀프로젝트 이름도 한 팀원의 재치로 금방 정해졌다.
  • 디자인패턴 결정 : springMVC패턴
    • springMVC패턴은 지금 공부하고 있고 model2패턴은 이미 수업이 끝났다.
    • 그나마 익숙한 model2패턴을 할지 springMVC패턴으로 도전할 지 논의가 있었다.
    • 이를 익명투표를 통해 해결했다.
  • 커뮤니케이션 도구 확정 : 오픈카톡, 깃허브 레포
    • 깃허브 레포를 적극 어필했고 팀원들에게 받아들여져서 레포를 생성하고 collaborator로 팀원들을 초대했다.
    • 깃허브 레포지토리 : 다내나샵
    • 칸반보드 형식인 깃허브 Projects를 사용하여 전체 프로세스 진행사항을 체크할 수 있도록 하였다.
    • 다른 팀프로젝트 레포지토리를 참고하여 팀프로젝트 규정을 wiki에 작성했다.
    • 회의록 중 중요한 사항을 남기기위해 새로운 페이지에 작성했다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## 💻 협업규칙
1. 담당파트를 Pair프로그래밍으로 진행합니다.
2. 각 팀에서는 진행사항을 수시로 Projects탭에 업데이트합니다.
- 1. 드래그를 통해 진행사항 업데이트.(To do, WIP, Done 중 선택)
- 1. 추가 기술은 자신의 팀에 `+` 버튼을 눌러 자세히 적어서 추가합니다.
3. DB테이블은 팀전체가 함께 구상합니다.


## 💻 Commit Rule
기능
기능-상세기능

ex)
"회원가입"
"로그인-유효성확인"


## 💻 PR Rule
PR은 기능단위로 진행합니다.
rebase 대신 merge 사용합니다.

## 💻 주요 회의록
1. [201014 첫회의](https://github.com/sowon-dev/danenaShop/wiki/201014-%EC%B2%AB%ED%9A%8C%EC%9D%98)
  • 파트분배 : 못함….
  • CSS : 부트스트랩
    • 직접 view페이지를 작성할지말지 의견이 분분했다.
    • 각각의 장단점이 분명히 존재하기 때문이다.
    • 직접 만들기
      • 장점 : 변수명등을 직접 생성하기때문에 뷰페이지 이해도 쉬움
      • 단점 : 직접 뷰페이지를 만들기때문에 긴 생성시간, 부족한 미적인 요소
    • 템플릿 가져다쓰기
      • 장점 : 미적요소 향상, 전체프로젝트생성시간 단축
      • 단점 : 페이지 이해가 어려움, 긴 적응시간
    • 따라서 다수결에 의해 템플릿을 이용하기로 했다.




앞으로 해야할 것

  • 협업규칙은 가장 기본적인 것들만 내가 찾아서 적은 것이므로 팀원들과 회의를 통해 구체화 할 예정이다.
  • CSS 템플릿 선택
  • 파트분배
  • DB테이블 설계