Agile Methodology
Agile is an iterative and incremental software development approach where requirements and solutions evolve through collaboration between cross-functional teams.
Instead of delivering everything at the end, Agile delivers working software in small, frequent increments.
Key Agile Termsβ
π Sprintβ
- A time-boxed iteration where development and testing happen
- Usually 1β4 weeks (most teams use 2 weeks)
- Each sprint should deliver a potentially shippable product increment
π Product Backlogβ
-
A prioritized list of all work items
-
Contains:
- Epics
- User Stories
- Bugs
- Technical tasks
-
Owned and prioritized by the Product Owner
β Epicβ
- A high-level business objective
- Too large to complete in a single sprint
- Broken down into multiple user stories
Example: Online Credit Card Application Flow
π° User Story (US)β
- A requirement written from the end-userβs perspective
- Focuses on who, what, and why
Format:
As a <user>,
I want <feature>,
So that <benefit>.
β Taskβ
- A small, actionable unit of work
- Created by the team from user stories
- Assigned to developers or QA
Agile Team Rolesβ
π€΅ Product Owner (PO)β
- Owns the product vision and roadmap
- Manages and prioritizes the product backlog
- Accepts or rejects completed user stories
π Scrum Masterβ
- Facilitates Agile ceremonies
- Removes impediments/blockers
- Ensures the team follows Scrum practices
- Acts as a servant leader (not a manager)
π€ Business Analyst (BA)β
-
Translates business needs into clear user stories
-
Clarifies:
- Business rules
- Acceptance criteria
- Edge cases
-
In some teams, BA responsibilities are handled by the PO
π¨βπ» Developersβ
- Design, develop, and unit-test the application
- Responsible for delivering working code in each sprint
πΊ QA / Test Teamβ
-
Validate user stories against acceptance criteria
-
Perform:
- Functional testing
- Regression testing
- Automation testing
-
Ensure quality before release
π¬ DevOpsβ
-
Manages:
- CI/CD pipelines
- Builds and deployments
- Infrastructure and environments
-
Enables faster and reliable releases
Agile Process (Scrum Ceremonies)β
π» Sprint Planningβ
-
Conducted at the start of the sprint
-
Team:
- Reviews backlog items
- Estimates effort
- Commits stories based on capacity
π» Daily Scrum / Stand-upβ
-
15-minute daily meeting
-
Each member answers:
- What did I do yesterday?
- What will I do today?
- Any blockers?
π» Sprint Review / Demoβ
- Conducted at the end of the sprint
- Team demonstrates completed features to stakeholders
- Feedback is captured for future sprints
π» Sprint Retrospectiveβ
-
Conducted after sprint review
-
Focuses on process improvement
-
Discusses:
- What went well?
- What didnβt go well?
- What can be improved?
Advantages of Agile Methodologyβ
β Delivers working software frequently β Early detection of defects and risks β Flexible to changing requirements β Strong collaboration across teams β Continuous improvement through retrospectives
Agile vs Waterfall (Quick Comparison)β
| Agile | Waterfall |
|---|---|
| Iterative | Sequential |
| Flexible | Rigid |
| Early feedback | Feedback at end |
| Continuous testing | Testing at final stage |