Skip to content

231108 회의록

k33ps edited this page Nov 8, 2023 · 2 revisions

231108 회의록

안건

  • 팀 협업 전략 : gitflow, pr/커밋 컨벤션 등
  • Jira 연동
  • 백로그 작성
  • 그룹프로젝트 현황판 작성
  • 기획서 초안 정리
    • 태스크 취합해서 넣기
  • 회의록 정리해서 github에 올림
  • 프로토타입, 기획서 링크 슬랙채널에 올리기
  • 22:30 멘토링
  • 다른팀 염탐하고 좋은거 뽑아오기!

1. 팀 협업 전략

회의를 통해 브랜치/issue/커밋/PR/코드리뷰 전략을 세웠다.

브랜치 전략 [의사결정 사례 #02]

Git 브랜치 전략 (feat. Git Flow, Github Flow) [GIT] 📈 깃 브랜치 전략 정리 - Github Flow / Git Flow

  • gitflow와 github-flow 사이에서 고민
    • github-flow : 작은 규모의 개발팀이 민첩하게 사용하기 좋음
    • git-flow : 근데 dev 브랜치는 있었으면 좋겠음
    • 결론 : 절충해서 master-dev-feature 3개를 사용하는 것으로
      • dev-feature는 github-flow로
      • master에 배포할때는 테스트 철저!
  • dev 브랜치를 be, and 따로 가져갈건지 아닌지
    • 기본적으로 간결하게 가져가는게 좋다고 생각햇음
    • 그러나 be, and의 작업 내역을 편하게 보려면 나누는 것도 좋음
    • 결론 : 커맨드라인 명령어로 아름답게 나눠보는 것을 도전. 추후 불편하면 수정 가능.

Issue 컨벤션

Github project 관리 기능 사용하기

Backlog를 Repository의 Projects에 작성

type과 역할(Android/Backend)를 labels로 구분

title, assignees, status, milestone, iteration, estimate, priority 추가

  • Assignees : 작업(이슈) 담당자
  • Labels: 해당 작업 성격 (documentation 문서 / enhancement 개발 / bug)
  • Status: 작업 상태
  • Priority: 우선순위
  • Repository: 연관 저장소
  • Size: 작업의 크기

커밋 컨벤션

Task 단위의 작업

참고: https://blog.munilive.com/posts/my-git-commit-guide.html

참고: https://udacity.github.io/git-styleguide/

Udacity 컨벤션 스타일을 사용하고, 다음과 같은 형식으로 커밋 메시지를 작성한다.

[타입] 제목
# 동사 원형으로 쓰기
# 타입 종류 : fix, docs, style, refactor, test, chore

본문
# 본문의 내용은 어떻게보다는 무엇을 왜에 맞춰 작성한다.

이슈 번호
# 해당 커밋과 연관된 이슈 트래킹 번호

예시

[feat] 친구 화면에서 추가 버튼 구현

XXX 클래스를 사용해서 친구 추가 기능 구현했다. 
친구추가하려면 버튼이 필요하기 때문이다.
- yyy DB에 post 요청
- zzz uri에 요청~~

Closes: #1231

type 종류

  • feat: 새로운 기능을 추가하거나 기존의 기능을 요구 사항 변경으로 변경한 경우 기능 추가와 수정을 나누어서 쓰고 싶은 경우 아래 처럼 2개로 나누어서 타입을 지정할 수 있다.
    • new: 새로운 기능을 추가 한 경우
    • improve: 기존 기능을 수정 한 경우, 요구 사항이 변경되어 수정된 경우에도 improve 타입으로 한다.
  • fix: 기능상 버그 픽스를 했을 경우
  • docs: 문서(주석)의 추가/수정의 경우, 직접적인 코드의 변화 없이 순수하게 문서(주석)만 추가/수정했을 경우
  • style: UI를 추가/변경 하거나 스타일 관련 작업을 했을 경우
  • refactor: 기능의 변화가 아닌 코드를 리팩토링했을 경우, 코드 리뷰 등으로 로직(기능)의 변화 없이 단순 함수 내부에서만 사용하는 이름을 변경하였거나, 코드 pretty 등을 적용했을 경우
  • test: 테스트 코드를 별도로 추가하거나, 변경했을 경우, 만약 기능을 추가하면서 테스트 코드를 동시에 작성했으면 feat 타입으로 사용
  • chore: 기능/테스트 코드, 문서, 스타일, 리팩토링을 제외한, 배포, 빌드 등과 같이 프로젝트의 기타 작업들에 대해 추가/수정했을 경우, lint 등의 적용으로 코드 스타일을 수정 했을 때도 chore 사용
  • release: 릴리스를 하기 위해 패키지 버전을 올리거나, 릴리스 버전 커밋을 찍기 위한 경우

Body

  • 커밋에서 수정된 상세내역을 작성한다. 여기선 평서문으로 작성하면 된다.
  • 본문은 생략 가능하며, 제목(Subject) 라인과 반드시 한 줄을 띄운다.
  • 되도록 한 줄에는 72자 이하로 작성하고 길어질 경우 개행해서 다음 줄에 입력한다.
    • 제목과 마찬가지로 100자 정도까지는 괜찮은 거 같다.
  • 수정 내역을 블릿 기호(*)를 이용해서 하나씩 입력하는 방법도 좋다.
  • 본문의 내용은 어떻게보다는 무엇을 왜에 맞춰 작성한다.
    • 본문에는 이 커밋이 무엇을 왜 고쳤는지 적혀 있는 것이 나중에 히스토리 파악하거나, 코드의 변경 의미를 파악하기에 훨씬 도움이 된다.
    • 어떻게 고쳐졌는지는 코드의 히스토리를 통해 충분히 파악할 수 있으니 반드시 무엇을 왜 했는지에 대해 작성하도록 한다.

Footer Label

  • Resolves: 문의나, 요청에 의한 이슈에 해당하는 경우 해당 이슈 번호 기록
  • Closes: 일반적인 개발과 관련된 이슈에 해당하는 경우 해당 이슈 번호 기록
  • Fixes: 버그 픽스, 핫 픽스 관련 이슈에 해당하는 경우 해당 이슈 번호 기록
  • See also: 커밋의 이슈와 연관되어 있는 이슈들이 존재 하는 경우, 또는 관련된 이슈들이 있는 경우 해당 이슈 번호 기록

PR 컨벤션

https://velog.io/@ye-ji/Git-PR-잘-쓰는-방법

유저 스토리 단위의 작업

### PR 타입(하나 이상의 PR 타입을 선택해주세요)
-[] 기능 추가
-[] 기능 삭제
-[] 버그 수정
-[] 의존성, 환경 변수, 빌드 관련 코드 업데이트

### 반영 브랜치
ex) feat/login -> dev

### 변경 사항
ex) 로그인 시, 구글 소셜 로그인 기능을 추가했습니다.

### 테스트 결과
ex) 베이스 브랜치에 포함되기 위한 코드는 모두 정상적으로 동작해야 합니다. 결과물에 대한 스크린샷, GIF, 혹은 라이브 데모가 가능하도록 샘플API를 첨부할 수도 있습니다.
  • 코드 컨벤션을 잘 지키기

    컨벤션 오류로 인한 불필요한 코멘트는 시간 낭비이기 때문에 지양하는 것이 좋다.

  • 리뷰 가이드 잘 작성하기

    모든 코드 변경사항에는 의도가 필요하다. 의도치 않게 변경된 부분이 있다면 되돌려 놓아야하고, 줄바꿈과 같이 아주 단순한 변경이라도 그 부분을 리뷰어가 볼 필요가 없다면 "Just line change"와 같은 코멘트를 달아 명시하여 리뷰시간을 줄여줄 수 있을 것이다. 또는 사용된 라이브러리 업데이트가 포함되었다면 해당 라이브러리의 릴리즈 노트 링크나 스크린샷을 첨부하는 것도 좋은 방법이다.

  • 작업 중, 리뷰 가능 여부를 잘 명시하기

    아직 코드를 작성 중 일때에는 [Wip](Work in Progress)를 타이틀 앞에 추가하고, 만약 작업이 끝났으면 이를 제거하고 review-needed태그를 설정할 수 있다. 한 번 작업을 마쳤다고 끝난 것이 아니기 때문에 리뷰를 반영하는 중에도 이를 반복하여 명시해야한다.

PR 리뷰 규칙

  • PR 리뷰어로 파트 내 모든 인원 지정
  • 리뷰어 모두 Approve하면 Merge
  • 리뷰를 20시 이전에 요청할 경우, 2시간 내 리뷰
  • 설명이 필요하면, 댓글 남기고 다음날 스크럼에서 해결

2. JIRA

1주일간의 이슈와 작업처리 현황을 JIRA를 통해 관리하기로 했다. github과 연동시킬 예정이다.

  • 팀 프록젝트 구현 만듬
  • 일단 써보는 걸로
  • 백로그 만들고 github 연동 해야함

3. 백로그 작성

어제 작업한 유저 스토리를 BE와 안드로이드 입장에서 필요한 작업단위로 쪼갰다. task 별로 분리해보니, 작업량이 어마어마했다. 최소기능을 가지는 product를 먼저 구현하기 위해 화면별 우선순위를 정했다.

  • 유저스토리 → 태스크로 분리 작업 (백엔드, 안드로이드 각자 작업 후 취합)

  • 태스크 우선순위 선별

    • MVP : Minimum Value Product 집중하자!!!
    • 최소한 기능을 구현해놓고 덧붙여 나가자…
    • 아래 우선순위 순으로 개발!
      • 최상 : 지도화면, 게임플레이
      • 상 : 타이틀/로그인/가입
      • 중 : 친구 리스트
      • 하 : 환경설정
      • 최하 : 게시판, 채팅

4. 그룹프로젝트 현황판 작성 : 완료

5. 기획서 초안 정리 : 완료

6. 회의록 정리해서 github에 올림 : 완료

7. 프로토타입, 기획서 링크 슬랙채널에 올리기 : 완료

8. 멘토링 킥오프 미팅! : 완료

Clone this wiki locally