Skip to content

3.3 Agile Process

김동욱 edited this page Dec 4, 2025 · 5 revisions

3.3 애자일 프로세스

📋 목차

  1. 애자일 도입 모델 개요 및 사용 개요
  2. Sprint Planning (스프린트 계획)
  3. Daily Scrum (일일 스크럼)
  4. Sprint Development (스프린트 개발)

1. 애자일 도입 모델 개요 및 사용 개요

1.1 애자일 모델 선택: SCRUM + Kanban 하이브리드

본 프로젝트에서는 SCRUM과 Kanban을 결합한 하이브리드 애자일 모델을 채택하였습니다.

선택 이유

  1. 짧은 개발 기간 최적화

    • 1주 단위 Sprint 운영으로 빠른 피드백 사이클 확보
    • 제한된 프로젝트 기간(8주) 내 효율적인 개발 진행
  2. 명확한 이벤트 구조

    • Planning → Development → Review → Retrospective 순환 구조
    • 각 단계별 명확한 목표 및 산출물 정의
  3. 도구 통합 용이성

    • Jira, GitHub, Notion 등 협업 도구와의 자연스러운 연동
    • 자동화된 워크플로우 구성 가능
  4. 학습 곡선 완만

    • 대학생 팀 구성원에게 적합한 실용적 프레임워크
    • 실무 애자일 경험 학습 기회 제공

1.2 애자일 프로세스 사용 개요

채택한 SCRUM 이벤트

본 프로젝트에서 운영한 주요 SCRUM 이벤트는 다음과 같습니다:

  • Sprint Planning: 주간 목표 및 Task 설정
  • Daily Scrum: 카카오톡 기반 비동기 진행 상황 공유
  • Sprint Development: GitHub PR 기반 개발 워크플로우
  • Sprint Review & Retrospective: 구현 기능 시연 및 평가, 프로세스 개선 논의

애자일 프로세스 지원 도구

프로젝트 전반에 걸쳐 다음과 같은 도구를 활용하여 애자일 프로세스를 지원하였습니다: Gemini_Generated_Image_4fh9e64fh9e64fh9

도구 역할 활용 방식
Notion 회의록 관리 Sprint Planning 및 Retrospective 기록 보관
Jira Sprint 관리 Epic → Story → Task 계층 구조, 이슈 트래킹
GitHub 코드 관리 PR 기반 코드 리뷰, 브랜치 전략, Jira 자동 연동
KakaoTalk 일일 소통 Daily Scrum 대체, 빠른 의사결정 채널

2. Sprint Planning (스프린트 계획)

2.1 회의 기본 정보

  • 주기: 매주 월요일 (Sprint 시작 전)
  • 참여자: 전체 개발팀 7명
  • 소요 시간: 1~2시간
  • 장소: 오프라인 대면 회의 (수업 시간 활용)

2.2 Planning 프로세스 (4단계)

Step 1: 이전 Sprint 리뷰

✓ 지난 주 완료된 이슈 확인 (Jira Done 상태)
✓ 미완료 이슈 분석 및 원인 파악
✓ 팀원 개별 작업량 및 소요 시간 회고

Step 2: Sprint Goal 설정

매 Sprint마다 명확한 목표를 설정하여 팀 전체의 방향성을 통일합니다.

실제 진행된 Sprint Goal 예시:

  • Sprint 1: MVC 아키텍처 기반 재설계
  • Sprint 2: BOSS 신규패턴 구현
  • Sprint 3: Ship Variety 다양화 및 통합
  • Sprint 4: Level Design & Item System & EnemyFormation 패턴 개발
  • Sprint 5: 최종 QA 및 통합 테스트

Step 3: Task 세분화 및 할당

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 구현

Step 4: Sprint Backlog 확정

✓ 선정된 이슈를 Jira Sprint에 추가
✓ GitHub 브랜치 네이밍 컨벤션 확인: feature/SCRUM-XX-description
✓ Definition of Done (DoD) 합의
  - 코드 리뷰 완료 (최소 1명 Approve)
  - 테스트 케이스 통과
  - 문서화 완료 (필요 시)

2.3 실제 Sprint Planning 사례

Week 12 Sprint Goal: BOSS 신규패턴 구현

  • step 1: 이전 스프린트 리뷰
image
  • step 2/3: Sprint Goal 설정 / Task 세분화 및 할당
image

노션 Sprint Planning Goal 회의록

  • step 4: Sprint Backlog 확정 / Github 마일스톤 할당
image image ---

3. Daily Scrum (일일 스크럼)

3.1 카카오톡 기반 비동기 Daily Scrum

본 프로젝트에서는 전통적인 15분 스탠드업 미팅 대신 카카오톡 기반 비동기 Daily Scrum을 채택했습니다.

선택 이유

  1. 낮은 의사소통 비용: 이미 친분이 형성된 팀원 간 빠른 소통
  2. 시간 유연성: 각자 편한 시간에 진행 상황 공유 가능
  3. 기록 보관: 카카오톡 대화 내용이 자동으로 히스토리 저장
  4. 책임감 강화: 공개된 채팅방에서의 일일 보고가 암묵적 압력으로 작용

4. Sprint Development (스프린트 개발)

4.1 전체 개발 워크플로우

┌─────────────────┐
│ 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)            │
└─────────────────────────────────┘

4.2 GitHub-Jira 자동 연동

연동 설정 방법

  1. Jira에서 GitHub 앱 설치 및 인증
  2. 브랜치명에 SCRUM-XX 포함 시 자동 링크
  3. 커밋 메시지에 SCRUM-XX 포함 시 Jira에 표시
  4. PR에 이슈 키 포함 시 "개발" 섹션에 자동 등록

문서 버전: v1.0
최종 수정일: 2025-12-04
작성자: Team Temp
프로젝트: Invaders-SDP-23292

Clone this wiki locally