Agile is a flexible software development model where work is done in small parts (iterations or sprints) instead of one big plan. Each sprint delivers a working piece of software, and requirements can change anytime.
Think of it as building software step by step, with feedback at every step.
Agile Process Flow
Requirements: Collect only the high-level needs.
Planning: Plan for the current sprint (2–4 weeks).
Design + Coding + Testing: Build a small feature.
Demo/Feedback: Show it to customer, get feedback.
Repeat: Improve or add more features in next sprint.
ATM Machine Example:
Sprint 1: Build & deliver Card Insertion + PIN validation.
Sprint 2: Add Withdrawal feature.
Sprint 3: Add Balance check.
Sprint 4: Add Mini statement.
After each sprint, customer gives feedback, so changes can be made early.
Methodologies
1. Kanban
What it is: Visual workflow management using a Kanban board (columns like To Do → In Progress → Done).
Goal: Limit work in progress (WIP) and improve flow.
Best for: Teams that want continuous delivery and flexibility without strict time-boxes.
2. Scrum
What it is: An Agile framework with fixed-length iterations called Sprints (usually 2–4 weeks).
-
Roles:
Product Owner → defines what to build.
Scrum Master → ensures the team follows Scrum practices.
Development Team → builds the product.
Ceremonies: Sprint Planning, Daily Standup, Sprint Review, Sprint Retrospective.
Best for: Teams that want structure, iterative progress, and frequent feedback.
3. XP (Extreme Programming)
What it is: Agile approach focusing heavily on engineering practices for high-quality code.
-
Practices:
Test-Driven Development (TDD)
Pair Programming
Continuous Integration
Frequent small releases
Best for: Teams needing high code quality and frequent changes.
4. SAFe (Scaled Agile Framework)
What it is: Agile at scale for large enterprises with multiple teams working together.
Layers: Team → Program → Portfolio → Large Solution
Goal: Align multiple Agile teams with company strategy.
Best for: Big organizations with 50–1000+ people working on large projects.