Agile Methodologies Illustration

Tue Jan 07 - Written by: Samridha

Agile Methodologies

An overview of Agile methodologies, including Scrum and Kanban frameworks, writing and testing user stories, sprint planning, retrospectives, and daily stand-ups.

Agile Methodologies

Agile is an iterative, incremental approach to software development that adapts to changing requirements. Scrum and Kanban are two popular frameworks in Agile.


Scrum and Kanban Frameworks

Scrum

  • Used to manage complex projects.
  • Focuses on delivering features in small, time-boxed intervals called sprints (2-4 weeks).
Key Components:
  • Roles:
    • Product Owner
    • Scrum Master
    • Development Team
  • Events:
    • Sprint Planning
    • Daily Stand-ups
    • Sprint Review
    • Sprint Retrospective
  • Artifacts:
    • Product Backlog: A prioritized list of all features, bugs, and enhancements.
    • Sprint Backlog: Tasks to be completed within a sprint.
    • Increment: Shippable features completed in the sprint.

Kanban

  • Focuses on visualization and the flow of work.
  • Encourages continuous delivery without fixed time intervals.
  • Ideal for teams with unpredictable workloads.
Key Features:
  • Visualization: Kanban board with columns (e.g., To-Do, In-Progress, Done).
  • Work-in-Progress (WIP) Limits: Set a limit on tasks per column to avoid bottlenecks.
  • Focuses on workflow rather than time-boxing.
AspectScrumKanban
RolesFixed roles (Scrum Master, Product Owner, Development Team)No assigned roles
Iteration2-4 weeksContinuous delivery
PlanningRequires detailed planningMinimal planning
FocusSprint backlogEntire workflow
Best ForTeams with clear goals and timelinesTeams with dynamic workloads and ongoing tasks

Writing and Testing User Stories

User Story

A user story is a short, simple description of a feature or functionality from the perspective of the end user.

Format:

    As a [type of user], I want to [goal or task], so that I can [benefit or value].

Characteristics of a Good User Story:

  • Independent: Can be completed without dependencies on other stories.
  • Small: Can be completed within a sprint.
  • Testable: Acceptance criteria can be verified.
  • Value-Adding: Provides value to the end user.
  • Estimatable: Can be estimated in terms of effort.

Acceptance Criteria

Defines the conditions to mark the user story as complete.

Example:

Scenario 1: Adding a product to the cart Given: I am on the product page When: I click "Add to Cart" Then: The product is added to the cart, and a confirmation message is displayed.

Scenario 2: Viewing products in the cart Given: The cart contains products When: I click "View Cart" Then: The products in the cart should be displayed.


Sprint Planning, Retrospectives, and Daily Stand-Ups

Sprint Planning

  • A meeting held at the start of a sprint to decide the sprint backlog.
  1. Prioritize Tasks: Product Owner identifies the highest-priority items.
  2. Task Breakdown: The development team breaks down tasks into smaller units.
  3. Effort Estimation: Use story points to estimate effort.
  4. Sprint Backlog: Finalize tasks to be completed during the sprint.

Daily Stand-Ups

  • A short meeting (≤15 minutes) to enhance team collaboration.
  • Focuses on:
    • What you did yesterday.
    • What you will do today.
    • Any blockers or issues.

Retrospectives

  • Conducted at the end of a sprint to reflect and improve.
  • Discuss:
    • What went well.
    • What didn’t go well.
    • Areas for improvement.
  • Decide actionable steps for what to start, stop, and continue.