Lesson 1: Agile & Kanban Boards

The Flexible Path: Agile and Kanban Boards

What is Agile Methodology?

Agile is a flexible, iterative development approach that's very different from Waterfall. Instead of planning everything upfront, Agile breaks work into small chunks called "sprints" and adapts based on feedback.

Key Characteristics of Agile:

🔄 Iterative Development

Work in short cycles (usually 1-4 weeks) called sprints

🤝 Customer Collaboration

Constantly gather feedback from users and stakeholders

🔧 Responding to Change

Adapt quickly when requirements or priorities change

👥 Individuals & Interactions

Focus on teamwork and communication over rigid processes

Waterfall vs. Agile: The Key Differences

Aspect Waterfall Agile
Planning All planning done upfront Continuous planning and adaptation
Flexibility Difficult to make changes Embraces change and feedback
Delivery Final product delivered at the end Working software delivered regularly
Documentation Heavy emphasis on documentation Focus on working software over docs
Risk High risk if requirements change Lower risk due to frequent feedback

What are Kanban Boards?

Kanban Boards are the primary visual tool for managing workflow in Agile projects. The word "Kanban" comes from Japanese and means "visual signal" or "card."

A Kanban board shows:

  • Columns: Represent different stages of work (To Do, In Progress, Testing, Done)
  • Cards: Individual tasks or features that move through the columns
  • Flow: How work moves from start to completion
  • Bottlenecks: Where work gets stuck or slowed down

Dead by Daylight Example: Bug Fix Workflow

This is how the DbD development team really handles bug fixes using a Kanban board approach. Let's follow a bug report through their workflow:

Backlog
Nemesis zombies stuck in walls
Priority: Medium | Reporter: Player
Bloodpoint gain incorrect
Priority: Low | Reporter: Player
In Progress
Dredge gets stuck in lockers
Priority: High | Assigned: Dev Team A
Testing
Generator sound bug fixed
Priority: Medium | Tester: QA Team
Perk description typo
Priority: Low | Tester: QA Team
Done
Killer hitbox adjustment
Ready for next patch
Survivor perk balance
Ready for next patch

Following a Bug Through the Workflow

Let's trace how "The Dredge can get stuck in a locker" moves through the Kanban board:

1
Bug Report Received: A player reports the issue. The bug gets added as a card in the "Backlog" column with details about how to reproduce it.
2
Prioritization: The team reviews the bug and assigns it a priority level. Since it affects gameplay, it's marked as "High Priority."
3
Development Starts: A programmer picks up the task and moves it to "In Progress." They begin investigating the collision detection code.
4
Fix Completed: The programmer fixes the collision bug and moves the card to "Testing." They include notes about what was changed.
5
Quality Assurance: The QA team tests the fix to make sure it works and doesn't break anything else. If it passes, they move it to "Done."
6
Release Ready: The fix is now ready to be included in the next patch that gets deployed to all players.

Why Dead by Daylight Uses Agile/Kanban

The DbD development team uses Agile and Kanban boards because:

  • Constant Player Feedback: They get bug reports and balance feedback daily from millions of players
  • Changing Priorities: A game-breaking bug needs to be fixed immediately, even if it means delaying other features
  • Multiple Teams: Artists, programmers, designers, and QA can all see what others are working on
  • Regular Releases: They release patches every few weeks, not just once a year
  • Transparency: Players can see what's being worked on through developer updates

Real Example: When a new killer is released and players discover it's overpowered, the team can quickly:

  1. Add "Balance [Killer Name]" to the backlog
  2. Prioritize it based on community feedback
  3. Implement changes in the next sprint
  4. Test the changes on the PTB (Public Test Build)
  5. Deploy the fix in a hotfix patch

Activity: Map a Bug Fix Lifecycle

Your Turn: Imagine you're part of the DbD development team. A new bug has been reported:

Bug Report: "When survivors use the perk 'Dead Hard,' they sometimes become invincible for the rest of the match instead of just 0.5 seconds."

Questions to consider:

  • What priority level would you assign this bug? (High/Medium/Low) Why?
  • Which team members would need to be involved? (Programmers, QA, Design team?)
  • What column would it start in on the Kanban board?
  • What information would you need to include on the card?
  • How would you test to make sure the fix works correctly?

Challenge: Draw or describe how this bug would move through the four Kanban columns (Backlog → In Progress → Testing → Done).

The Right Diagram for the Job: Recap

We've now learned about three essential planning and management tools:

📊 Gantt Charts

Best for: Project timelines, especially in Waterfall methodology

Shows: Task dependencies, project schedule, resource allocation

🎯 Use Case Diagrams

Best for: System scope and user actions during planning/design

Shows: Who uses the system and what they can do

📋 Kanban Boards

Best for: Managing workflow in Agile methodology

Shows: Work progress, bottlenecks, team collaboration

Each tool serves a different purpose in the software development process, and understanding when to use each one is a key skill for software engineers.

← Back to Bhodi's Page