1. 들어가며
프로젝트(BenePicker)를 진행하면서 점점 느낀 문제는 "협업이 정리가 안 된다"는 것이었다.
- 어떤 기능이 어디까지 진행됐는지 한눈에 안 보이고
- PR이 어떤 작업인지 파악하기 어려웠으며
- 이슈와 PR이 연결되지 않아 흐름이 끊겼다
그래서 이를 해결하기 위해
Issue 템플릿 + PR 템플릿 + Closes 키워드를 도입하게 되었다.
2. 문제 상황
기존에는 아래와 같은 문제가 있었다.
1) PR만 보고 작업 내용을 파악하기 어려움
- PR 제목만 보고는 무엇을 했는지 명확하지 않음
- 구현 범위가 어디까지인지 알기 힘듦
2) 이슈와 PR이 연결되지 않음
- 어떤 PR이 어떤 이슈를 해결하는지 알 수 없음
- 이슈가 계속 남아 있어 관리가 어려움
3) 협업 기준이 없음
- 각자 다른 방식으로 PR 작성
- 리뷰 기준이 애매해짐
3. 해결 방법
1) Issue 템플릿 도입
기능 / 버그 / API 단위로 이슈를 구조화했다.
## 📌 기능 설명
## 🎯 목적
## 🛠 구현 내용
→ 효과
- 작업 단위가 명확해짐
- 개발 전에 설계가 정리됨
2) PR 템플릿 도입
PR을 아래 구조로 통일했다.
## 📝 작업 내용
## 🔗 관련 이슈
Closes #
## 🔧 상세 변경 사항
- [ ] Controller
- [ ] Service
## 🧪 테스트
→ 효과
- PR만 봐도 무엇을 했는지 바로 이해 가능
- 리뷰 속도가 빨라짐
3) Closes 키워드 활용
Closes #12
→ 핵심 기능
- PR이 merge 되면 해당 이슈 자동 종료
- PR ↔ 이슈 연결 자동 생성
→ 느낀 점
이 기능 하나로 작업 흐름이 완전히 정리됨
4. 개선된 협업 흐름
기존:
개발 → PR → 머지
(이슈 따로 관리됨)
개선 후:
이슈 생성 → 브랜치 생성 → 개발 → PR (Closes) → 머지 → 이슈 자동 종료
→ 변화 포인트
- 작업 단위가 이슈 중심으로 정리됨
- 히스토리가 연결됨
- 진행 상황 추적이 쉬워짐
5. 느낀 점
1) 협업은 “코드”보다 “흐름”이 중요하다
코드를 잘 짜는 것도 중요하지만,
작업 흐름이 정리되지 않으면 협업 효율이 떨어진다.
2) 작은 자동화가 큰 차이를 만든다
Closes 키워드 하나로
- 이슈 관리
- PR 연결
- 작업 히스토리
이 모든 것이 자동화되었다.
3) 템플릿은 강제성이 있어야 한다
형식이 없으면 결국 흐트러진다.
템플릿을 통해 협업 규칙을 자연스럽게 강제할 수 있었다.
'백엔드 > 회고' 카테고리의 다른 글
| [Spring] JWT 로그아웃 기본 코드 분석 (0) | 2026.04.03 |
|---|---|
| [Spring] MyBatis vs JPA + XML vs Annotation, 직접 써보며 느낀 차이 (0) | 2026.04.03 |
| [Swagger] Spring Boot Swagger 초기 설정 (feat. JWT 403 삽질기) (0) | 2026.03.31 |