Labs ICT
โญ Pro Login

Agile Methodologies

Scrum, Kanban, XP, and other Agile frameworks.

Agile Methodologies

Agile is a mindset and set of values for software development that emphasizes flexibility, collaboration, and customer satisfaction. It's not a single method but a family of approaches that share common principles.

The Agile Manifesto


  AGILE MANIFESTO (2001)
  ======================

  We are uncovering better ways of developing
  software by doing it and helping others do it.

  Through this work we have come to value:

  Individuals and interactions    over processes and tools
  Working software                over comprehensive documentation
  Customer collaboration          over contract negotiation
  Responding to change            over following a plan

  That is, while there is value in the items on
  the right, we value the items on the left more.

Scrum Framework


  SCRUM FRAMEWORK
  ===============

  Product Owner -> Sprint Planning -> Sprint Backlog
       |                                    |
       v                                    v
  Sprint (1-4 weeks)               Daily Standups
       |                                    |
       v                                    v
  Sprint Review                    Sprint Retrospective
       |
       v
  Potentially Shippable Increment

  Roles:
  - Product Owner:     Defines what to build
  - Scrum Master:      Facilitates process, removes blockers
  - Development Team:  Builds the product

  Artifacts:
  - Product Backlog:   All desired work
  - Sprint Backlog:    Work for current sprint
  - Increment:         Working software

Kanban


  KANBAN BOARD
  ============

  +-----------+-----------+-----------+-----------+
  |   Backlog |   To Do   |   In      |   Done    |
  |           |           |   Progress|           |
  +-----------+-----------+-----------+-----------+
  | Feature A | Feature D | Feature G | Feature J |
  | Feature B | Feature E | Feature H | Feature K |
  | Feature C | Feature F |           | Feature L |
  +-----------+-----------+-----------+-----------+

  Kanban Principles:
  1. Visualize workflow
  2. Limit work in progress (WIP)
  3. Manage flow
  4. Make policies explicit
  5. Implement feedback loops
  6. Improve collaboratively

Extreme Programming (XP)

XP emphasizes technical practices that support Agile values:

  • Pair Programming: Two developers work on one computer
  • Test-Driven Development: Write tests before code
  • Continuous Integration: Integrate code multiple times per day
  • Simple Design: Build only what's needed now
  • Refactoring: Continuously improve code structure

Key Takeaways

  • Agile values individuals, working software, collaboration, and responding to change
  • Scrum uses time-boxed sprints with defined roles and ceremonies
  • Kanban visualizes work and limits work-in-progress
  • XP emphasizes technical excellence through specific practices

๐Ÿงช Quick Quiz

Which Agile framework uses time-boxed iterations called Sprints?