Skip to content

3.3 Agile Process

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

3.3 Agile Process

Table of Contents

  1. Agile Adoption Model Overview and Usage
  2. Sprint Planning
  3. Daily Scrum
  4. Sprint Development

1. Agile Adoption Model Overview and Usage

1.1 Agile Model Selection: SCRUM + Kanban Hybrid

This project adopted a hybrid agile model combining SCRUM and Kanban.

Rationale for Selection

  1. Optimization for Short Development Period

    • 1-week Sprint cycles ensure rapid feedback loops
    • Efficient development progress within limited project timeline (8 weeks)
  2. Clear Event Structure

    • Cyclical structure: Planning → Development → Review → Retrospective
    • Well-defined objectives and deliverables for each phase
  3. Ease of Tool Integration

    • Seamless integration with collaboration tools like Jira, GitHub, and Notion
    • Automated workflow configuration
  4. Gentle Learning Curve

    • Practical framework suitable for student team members
    • Opportunity to gain real-world agile experience

1.2 Agile Process Usage Overview

SCRUM Events Adopted

The main SCRUM events operated in this project are as follows:

  • Sprint Planning: Setting weekly goals and tasks
  • Daily Scrum: Asynchronous progress sharing via KakaoTalk
  • Sprint Development: GitHub PR-based development workflow
  • Sprint Review & Retrospective: Feature demonstration and evaluation, process improvement discussions

Agile Process Support Tools

Throughout the project, the following tools were utilized to support the agile process. Each tool had a clearly defined role to create an efficient collaborative environment, and particularly, the automatic integration between GitHub and Jira significantly enhanced the accuracy and convenience of issue tracking.

Gemini_Generated_Image_4fh9e64fh9e64fh9

Detailed Roles by Tool

Tool Role Usage Method
Notion Meeting Minutes Management Recording and archiving Sprint Planning and Retrospective notes
Jira Sprint Management Epic → Story → Task hierarchical structure, issue tracking
GitHub Code Management PR-based code review, branching strategy, automatic Jira integration
KakaoTalk Daily Communication Daily Scrum alternative, rapid decision-making channel

2. Sprint Planning

2.1 Basic Meeting Information

Sprint Planning is a core meeting conducted before the start of each Sprint, where the entire team participates to set weekly goals and work scope.

  • Frequency: Every Monday (before Sprint start)
  • Participants: All 7 development team members
  • Duration: 1-2 hours
  • Location: In-person meeting (utilizing class time)

2.2 Planning Process (4 Steps)

Step 1: Previous Sprint Review

Review the achievements of the previous Sprint and analyze the causes of incomplete issues to incorporate them into the next Sprint plan.

✓ Verify completed issues from last week (Jira Done status)
✓ Analyze incomplete issues and identify root causes
✓ Retrospect on individual team member workload and time spent

Step 2: Sprint Goal Setting

Set clear goals for each Sprint to unify the direction of the entire team. Establish specific and measurable goals to clearly determine achievement at Sprint completion.

Actual Sprint Goal Examples Gemini_Generated_Image_9qsyit9qsyit9qsy

Sprint Goal Key Achievements
Sprint 1 MVC Architecture-based Redesign Improved code complexity, enhanced maintainability
Sprint 2 BOSS New Pattern Implementation Completed GammaBoss, OmegaBoss patterns
Sprint 3 Ship Variety Diversification and Integration Provided diverse player options
Sprint 4 Level Design & Item System & EnemyFormation Pattern Development Expanded game content
Sprint 5 Final QA and Integration Testing Secured stability, bug fixes

Step 3: Task Breakdown and Assignment

Break down large-scale features (Epics) into manageable units and distribute them appropriately among team members.

Breakdown Process

1. Decompose large Epic-level features into Stories
2. Break down Stories into specific Tasks
3. Assign an Assignee to each Task
4. Estimate Story Points or expected time required

Example: Boss Pattern Epic Breakdown

Epic: Boss Pattern System
├─ Story: GammaBoss Implementation
│  ├─ Task: SCRUM-40 Pattern delegation structure design
│  ├─ Task: SCRUM-41 RandomPattern integration
│  └─ Task: SCRUM-42 Phase transition logic
└─ Story: OmegaBoss Implementation
   ├─ Task: SCRUM-50 BlackHolePattern design
   └─ Task: SCRUM-51 ApocalypseAttack implementation

Step 4: Sprint Backlog Confirmation

Officially add selected issues to the Sprint Backlog and reach team consensus on the Definition of Done (DoD).

Confirmation Checklist

✓ Add selected issues to Jira Sprint
✓ Verify GitHub branch naming convention: feature/SCRUM-XX-description
✓ Agree on Definition of Done (DoD)
  - Code review completed (minimum 1 Approval)
  - Test cases passed
  - Documentation completed (if necessary)

2.3 Actual Sprint Planning Case Study

Week 12 Sprint Goal: BOSS New Pattern Implementation

Let's examine the actual Week 12 Sprint Planning step by step.

Step 1: Previous Sprint Review Results
image

By analyzing completed and incomplete issues from the previous Sprint, we incorporated findings into workload estimation for the current Sprint.

Step 2/3: Sprint Goal Setting and Task Breakdown
image

Under the clear goal of BOSS new pattern implementation, detailed Tasks were defined and roles were distributed among team members. Detailed meeting minutes can be found in the Notion Sprint Planning Meeting Notes.

Step 4: Sprint Backlog Confirmation and GitHub Milestone Assignment

Jira Sprint Backlog

image

All issues included in the Sprint were confirmed in Jira, configured for real-time progress tracking.

GitHub Milestone Integration

image

GitHub Milestones provide an at-a-glance view of related Pull Requests and issues, with automatic Jira integration ensuring real-time progress reflection on both platforms.


3. Daily Scrum

3.1 KakaoTalk-based Asynchronous Daily Scrum

This project adopted KakaoTalk-based asynchronous Daily Scrum instead of traditional 15-minute standup meetings.

Rationale for Selection

  1. Low Communication Cost

    • Rapid communication possible among team members with established rapport
    • No need to learn separate meeting tools
  2. Time Flexibility

    • Team members can share progress at their convenience
    • No requirement for simultaneous connection
  3. Record Keeping

    • KakaoTalk conversation history automatically saved
    • Easy tracking of past progress
  4. Enhanced Accountability

    • Daily reporting in a public chat room creates implicit pressure
    • Mutual monitoring effect among team members

Daily Scrum Operation Method

Each team member shares answers to the following 3 questions on KakaoTalk daily:

1. Work completed yesterday
   Example: "Completed SCRUM-32 Dash pattern implementation"

2. Work planned for today
   Example: "Starting SCRUM-33 BlackHolePattern design"

3. Blockers (if any)
   Example: "Need help with debugging rendering issue"

This enables the entire team to understand each member's progress and facilitates immediate collaboration when needed.


4. Sprint Development

4.1 Overall Development Workflow

Sprint Development is the phase where planned Tasks are actually implemented, following a code management process centered on GitHub.

Development Process Flow

┌─────────────────────────────────┐
│ Select Jira Issue                │
│ (To Do → In Progress)            │
└────────┬────────────────────────┘
         ↓
┌─────────────────────────────────┐
│ Create Branch                    │
│ feature/SCRUM-XX-description    │
└────────┬────────────────────────┘
         ↓
┌─────────────────────────────────┐
│ Local Development + Commit       │
│ (SCRUM-XX prefix mandatory)      │
└────────┬────────────────────────┘
         ↓
┌─────────────────────────────────┐
│ Push to GitHub                  │
└────────┬────────────────────────┘
         ↓
┌─────────────────────────────────┐
│ Create Pull Request              │
│ (Use template, link Jira issue)  │
└────────┬────────────────────────┘
         ↓
┌─────────────────────────────────┐
│ Code Review                     │
│ (P&N format, architecture focus) │
└────────┬────────────────────────┘
         ↓
┌─────────────────────────────────┐
│ Incorporate Feedback & Revise    │
│ (Additional commits and push)    │
└────────┬────────────────────────┘
         ↓
┌─────────────────────────────────┐
│ Approve + Merge                 │
│ (Integrate to main after ≥1      │
│  approval)                       │
└────────┬────────────────────────┘
         ↓
┌─────────────────────────────────┐
│ Update Jira Issue Status         │
│ (In Progress → Done)            │
└─────────────────────────────────┘

Through this workflow, all code changes are integrated into the main branch after review, and automatic integration between Jira and GitHub ensures real-time synchronization of progress.


4.2 GitHub-Jira Automatic Integration

Integration Setup Method

Automatic integration between GitHub and Jira enables issue tracking without manual updates.

Integration Steps

1. Install and authenticate GitHub app in Jira
2. Automatic linking when branch name includes SCRUM-XX
3. Display in Jira when commit message includes SCRUM-XX
4. Automatic registration in "Development" section when PR includes issue key

Integration Benefits

  • Enhanced Visibility: Instantly view related branches, commits, and PRs on Jira issue pages
  • Easy Tracking: Monitor code change history and issue progress in one place
  • Automation: No manual updates required, prevents human error
  • Transparency: All team members share project status in real-time

This automatic integration system greatly improved the team's collaboration efficiency and enabled consistent project management even in distributed work environments.


Document Information

  • Document Version: v1.0
  • Last Modified: 2025-12-04
  • Author: Team Temp
  • Project: Invaders-SDP-23292

Clone this wiki locally