Skip to main content

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)​

AgileWaterfall
IterativeSequential
FlexibleRigid
Early feedbackFeedback at end
Continuous testingTesting at final stage