-
Notifications
You must be signed in to change notification settings - Fork 2
3.3 Agile Process
김동욱 edited this page Dec 4, 2025
·
5 revisions
본 프로젝트에서는 SCRUM과 Kanban을 결합한 하이브리드 애자일 모델을 채택하였습니다.
-
짧은 개발 기간 최적화
- 1주 단위 Sprint 운영으로 빠른 피드백 사이클 확보
- 제한된 프로젝트 기간(8주) 내 효율적인 개발 진행
-
명확한 이벤트 구조
- Planning → Development → Review → Retrospective 순환 구조
- 각 단계별 명확한 목표 및 산출물 정의
-
도구 통합 용이성
- Jira, GitHub, Notion 등 협업 도구와의 자연스러운 연동
- 자동화된 워크플로우 구성 가능
-
학습 곡선 완만
- 대학생 팀 구성원에게 적합한 실용적 프레임워크
- 실무 애자일 경험 학습 기회 제공
본 프로젝트에서 운영한 주요 SCRUM 이벤트는 다음과 같습니다:
- Sprint Planning: 주간 목표 및 Task 설정
- Daily Scrum: 카카오톡 기반 비동기 진행 상황 공유
- Sprint Development: GitHub PR 기반 개발 워크플로우
- Sprint Review & Retrospective: 구현 기능 시연 및 평가, 프로세스 개선 논의
프로젝트 전반에 걸쳐 다음과 같은 도구를 활용하여 애자일 프로세스를 지원하였습니다:
| 도구 | 역할 | 활용 방식 |
|---|---|---|
| Notion | 회의록 관리 | Sprint Planning 및 Retrospective 기록 보관 |
| Jira | Sprint 관리 | Epic → Story → Task 계층 구조, 이슈 트래킹 |
| GitHub | 코드 관리 | PR 기반 코드 리뷰, 브랜치 전략, Jira 자동 연동 |
| KakaoTalk | 일일 소통 | Daily Scrum 대체, 빠른 의사결정 채널 |
- 주기: 매주 월요일 (Sprint 시작 전)
- 참여자: 전체 개발팀 7명
- 소요 시간: 1~2시간
- 장소: 오프라인 대면 회의 (수업 시간 활용)
✓ 지난 주 완료된 이슈 확인 (Jira Done 상태)
✓ 미완료 이슈 분석 및 원인 파악
✓ 팀원 개별 작업량 및 소요 시간 회고
매 Sprint마다 명확한 목표를 설정하여 팀 전체의 방향성을 통일합니다.
실제 진행된 Sprint Goal 예시:
- Sprint 1: MVC 아키텍처 기반 재설계
- Sprint 2: BOSS 신규패턴 구현
- Sprint 3: Ship Variety 다양화 및 통합
- Sprint 4: Level Design & Item System & EnemyFormation 패턴 개발
- Sprint 5: 최종 QA 및 통합 테스트
1. Epic 단위 큰 기능을 Story로 분해
2. Story를 구체적인 Task로 세분화
3. 각 Task에 담당자(Assignee) 배정
4. Story Point 또는 예상 소요 시간 추정
예시: Boss Pattern Epic 분해
Epic: Boss Pattern System
├─ Story: GammaBoss 구현
│ ├─ Task: SCRUM-40 Pattern delegation 구조 설계
│ ├─ Task: SCRUM-41 RandomPattern 통합
│ └─ Task: SCRUM-42 Phase transition 로직
└─ Story: OmegaBoss 구현
├─ Task: SCRUM-50 BlackHolePattern 설계
└─ Task: SCRUM-51 ApocalypseAttack 구현
✓ 선정된 이슈를 Jira Sprint에 추가
✓ GitHub 브랜치 네이밍 컨벤션 확인: feature/SCRUM-XX-description
✓ Definition of Done (DoD) 합의
- 코드 리뷰 완료 (최소 1명 Approve)
- 테스트 케이스 통과
- 문서화 완료 (필요 시)
Week 12 Sprint Goal: BOSS 신규패턴 구현
- step 1: 이전 스프린트 리뷰
- step 2/3: Sprint Goal 설정 / Task 세분화 및 할당
- step 4: Sprint Backlog 확정 / Github 마일스톤 할당
---
본 프로젝트에서는 전통적인 15분 스탠드업 미팅 대신 카카오톡 기반 비동기 Daily Scrum을 채택했습니다.
- 낮은 의사소통 비용: 이미 친분이 형성된 팀원 간 빠른 소통
- 시간 유연성: 각자 편한 시간에 진행 상황 공유 가능
- 기록 보관: 카카오톡 대화 내용이 자동으로 히스토리 저장
- 책임감 강화: 공개된 채팅방에서의 일일 보고가 암묵적 압력으로 작용
┌─────────────────┐
│ Jira 이슈 선택 │
│ (To Do → In Progress)
└────────┬────────┘
↓
┌─────────────────────────────────┐
│ 브랜치 생성 │
│ feature/SCRUM-XX-description │
└────────┬────────────────────────┘
↓
┌─────────────────────────────────┐
│ 로컬 개발 + 커밋 │
│ (SCRUM-XX 접두사 필수) │
└────────┬────────────────────────┘
↓
┌─────────────────┐
│ Push to GitHub │
└────────┬────────┘
↓
┌─────────────────────────────────┐
│ Pull Request 생성 │
│ (템플릿 활용, Jira 이슈 링크) │
└────────┬────────────────────────┘
↓
┌─────────────────────────────────┐
│ Code Review │
│ (P&N 포맷, 아키텍처 중점 검토) │
└────────┬────────────────────────┘
↓
┌─────────────────────────────────┐
│ 피드백 반영 및 수정 │
│ (추가 커밋 및 Push) │
└────────┬────────────────────────┘
↓
┌─────────────────────────────────┐
│ Approve + Merge │
│ (최소 1명 승인 후 main 통합) │
└────────┬────────────────────────┘
↓
┌─────────────────────────────────┐
│ Jira 이슈 상태 업데이트 │
│ (In Progress → Done) │
└─────────────────────────────────┘
- Jira에서 GitHub 앱 설치 및 인증
- 브랜치명에
SCRUM-XX포함 시 자동 링크 - 커밋 메시지에
SCRUM-XX포함 시 Jira에 표시 - PR에 이슈 키 포함 시 "개발" 섹션에 자동 등록
문서 버전: v1.0
최종 수정일: 2025-12-04
작성자: Team Temp
프로젝트: Invaders-SDP-23292