SPMS_API/SPMS.API/Documents/Workflow.md

73 lines
4.2 KiB
Markdown

# 1. 협업 & 작업 프로세스 (Workflow)
## 1.1. Tool Chain
- 문서화 (Documentation)
- Google Documents : [구글 드라이브 링크](https://drive.google.com/drive/folders/1m-2W7BcwHgKuFFNEr9Pblgpce3NEB_TV?usp=drive_link)
- Notion : [노션 SPMS 홈 링크](https://www.notion.so/2eb4d57b3bf08194b974d3384a639860?pvs=21)
- 이슈 관리 (Issue Tracking)
- YouTrack : [YouTrack SPMS 프로젝트 링크](https://ipstein.youtrack.cloud/projects/)
- 코드 관리 (Code Repository)
- Gitea : [Gitea SPMS 프로젝트 링크](https://git.ipstein.myds.me/SPMS)
- Commnication
- Discord
- Slack
## 1.2. Task LifeCycle
- 모든 개발 작업은 YouTrack Issue 생성 없이는 시작할 수 없다.
- 프로젝트 관리는 YouTrack에서, 형상관리는 Gitea에서 수행한다.
### 1. 이슈 등록 (***Require***)
- 작업할 단위 기능을 해당하는 YouTrack에 등록한다. (Gitea Issue 미사용)
#### 요약 (***Require***)
- `작업_제목` (예시: 로그인 API 구현)
- 기존의 `[분류]` 에 해당하는 부분은 `유형` 필드로 대체하므로 적지 않는다.
- 설명 (***Require***)
- 현재 작업하는 내용에 대한 리스트 작성한다.
- 그외의 기획서 링크가 있다면 본문에 첨부한다.
#### 필드 설정 (***Require***)
- 다음 사용자 지정 필드는 반드시 선택한다.
1. 파트 (***Require***): 작업할 서비스를 선택한다.
2. 우선순위 (***Require***): 긴급/ 높음/ 보통/ 낮음/ 없음
3. 유형 (***Require***): Feature(기능 개발)/ Bug(버그)/ Design(디자인)/ Refactor(리팩토링)/ Improvement(기능 개선)/ Chore(설정 관리)/ Documentation(문서 작업)
4. 상태 (***Require***): 대기/ 진행중/ 확인 대기/ 완료
5. Milestones
- 배포 버전 관리 (Gitea의 Milestones 생성 불필요)
- 형식: v1.0.0, MVP, CBT 등
6. Sprints
- 작업 기간 관리
- 형식: 2026-01 Sprint 1 등
7. 담당자
- 개발 담당(복수 선택 가능)을 선택한다.
- 이슈를 생성해줬다면 해당 이슈가 프로젝트에 맞게 애자일 보드에 배치다 잘 되었있는지 확인한다.
### 2. Branch 생성
- 1에서 생성한 YouTrack Issue ID(`SPMS-nn`) 확인후 브랜치 생성한다.
- 형식: `모델/이슈ID-작업요약`
- 모델: Git 전략의 [1. Branching Model (Git-Flow 방식)](./GitFlow.md/#1-branching-model-git-flow-방식) 참고
- 이슈ID: 이슈번호의 생략하지 않고 전부 작성한다.
- 작업 요약: `동사-명사` 형식으로 작성하며 영문으로 작성하고 둘간의 연결은 `-` 로 한다.
- 예: feature/SPMS-1-login-api
### 3. 개발 & Commit
- 로컬에서 작업 후 커밋시, YouTrack 연동을 위해 메시지 규칙을 엄수한다.
- 커밋 메시지의 형태는 [Conventional Commits](https://www.conventionalcommits.org/ko/v1.0.0/) 의 규칙을 따른다.
- Git 전략의 [2. Commit Message](./GitFlow.md/#2-commit-message) 참고
- 단, YouTrack 에 따라서 형식은 `타입: 설명 (이슈ID)` 로 지정한다.
- 예: feat: 로그인 UI 작업 (Close SPMS-1)
### 4. Pull Request (PR)
- 작업 완료 후 develop 브랜치로 PR을 생성한다.
- PR은 피치못한 사정이 있지 않는 한 최소 1명 이상의 리뷰를 거쳐야 한다.
- PR 본문에 작업 내용과 테스트 결과를 요약한다.
- Git 전략의 [3. Pull Request(PR) Message](./GitFlow.md/#3-pull-requestpr-message) 참고
### 5. Merge & Close
- 코드 리뷰 (Self-Review 포함) 후 Merge 한다.
- 자동 완료
- 커밋 메시지에 특정 명령어를 사용했다면 Merge 시 YouTrack 이슈가 자동으로 `해결됨` 상태로 지정된 값 중 최상단 값의 상태로 변경된다.
- 다른 상태로 변경하고 싶다면 이슈 ID 작성 부분에 해당 값의 영어 이름을 넣어준다.
- 대기: Available
- 진행 중: In Progress
- 확인 대기: To Verify
- 완료: Done
- 수동 완료**:** 명령어를 누락했다면, 개발자가 직접 YouTrack에서 상태를 변경해야 한다.
- YouTrack 애자일 보드는 '상태(State)' 필드에 따라 자동으로 카드가 이동하므로, 별도의 보드 관리가 필요 없다.