Agile | Scrum & Kanban Framework
Source: Dev.to
What is Agile?
In earlier modules, the term agile described a key aspect of DevOps culture: the ability to respond quickly to customer needs and feedback. Agile (capital “A”) has a more specific meaning. It refers to a formal approach to software development and project management that aligns closely with DevOps practices.
Moving from a traditional Waterfall model to Agile enables faster delivery, better quality, and stronger alignment with customer expectations. Agile emphasizes collaboration, continuous improvement, automation, and customer focus, with the primary objective of delivering high‑quality software more quickly and reliably.
Agile Manifesto and Core Values
The Agile Manifesto was created in 2001 by a group of software developers seeking an alternative to rigid, process‑heavy development models. It defines four core value statements, highlighting what Agile teams value more highly:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
These values do not eliminate processes, documentation, contracts, or planning; they emphasize flexibility, feedback, and people‑driven outcomes. The manifesto intentionally avoids prescribing exact methods or tools, allowing teams to select practices that best suit their context.
Scrum Framework
Scrum is an Agile framework that helps teams collaborate and solve complex problems through short, time‑boxed iterations called sprints (typically 1–4 weeks). Scrum is built around three core components: events, artifacts, and roles.
Events
- Sprint Planning – The team selects backlog items to work on during the sprint.
- Daily Scrum (Standup) – A short (≈15 min) daily meeting to align on progress and blockers.
- Sprint Review – The team demonstrates completed work to stakeholders.
- Sprint Retrospective – The team reflects on the sprint to identify improvements.
Artifacts
- Product Backlog – A prioritized list of features, enhancements, and fixes for the product.
- Sprint Backlog – A subset of backlog items selected for the current sprint.
- Task Boards – Visual tools showing tasks as To Do, In Progress, or Done.
- Sprint Burndown Chart – Graphs showing remaining work over time to track sprint progress.
Roles
- Product Owner – Represents stakeholders and manages the product backlog.
- Scrum Master – Facilitates Scrum practices, removes blockers, and drives continuous improvement.
- Scrum Team – Builds the product and owns engineering quality and delivery.
Scrum teams use velocity as a metric to estimate how much work they can complete in each sprint, aiding planning and predictability.
Kanban Framework
Kanban (Japanese for “signboard”) originated in manufacturing as a method for improving efficiency and has been widely adopted in software development.
Core Practices
- Visualize work using Kanban boards, where work items appear as cards moving through columns that represent workflow stages (e.g., To Do, Doing, Done). Columns can be customized to reflect the team’s actual process, such as development and testing stages.
- Pull‑based model – Work is pulled into progress only when the team has capacity, reducing overload and improving quality.
- Work‑in‑Progress (WIP) limits – Restrict the number of items that can be actively worked on at once, helping to maintain flow.
Key Metrics
- Lead time – Total time from request to delivery.
- Cycle time – Time spent actively working on an item.
- Cumulative Flow Diagram (CFD) – Shows how work items move through different states over time; expanding areas often signal bottlenecks or inefficiencies.
Comparison: Scrum vs. Kanban
| Aspect | Scrum | Kanban |
|---|---|---|
| Work cadence | Fixed‑length sprints | Continuous flow |
| Roles & ceremonies | Defined roles (Product Owner, Scrum Master, Team) and events (planning, daily, review, retrospective) | Roles and ceremonies optional |
| Work planning | Commitment to work during sprint planning | Continuous reprioritization with WIP limits |
| Change handling | Discourages mid‑sprint changes | Allows changes at any time |
| Visualization | Sprint boards, burndown charts | Kanban boards, CFDs |
| Metrics | Velocity, burndown | Lead time, cycle time |
Conclusion
Agile provides the mindset and values, while Scrum and Kanban offer practical ways to apply those values. Both frameworks complement DevOps by enabling faster feedback, continuous improvement, and more reliable software delivery.