1.2 Overview of Agile Methodologies
Key Takeaways
- Agile is an umbrella term encompassing light-weight, iterative, and incremental software development and project delivery frameworks.
- Scrum uses Sprints of one month or less, three accountabilities, five events, three artifacts, and one commitment for each artifact.
- Kanban focuses on continuous workflow, visualizing tasks on a board, limiting Work in Progress (WIP), and managing flow using a pull system.
- Extreme Programming (XP) emphasizes technical engineering excellence through practices like Pair Programming, Test-Driven Development (TDD), and Continuous Integration.
- Enterprise scaling frameworks (SAFe, LeSS, Disciplined Agile) adapt agile principles across multiple teams and corporate structures.
1.2 Overview of Agile Methodologies
Agile is not a single framework or methodology; rather, it is an overarching philosophy defined by the four values and twelve principles of the Agile Manifesto (2001). Underneath this umbrella sits a diverse spectrum of specific methodologies, frameworks, and engineering practices. The PMI-ACP exam tests a candidate's ability to evaluate project constraints and select or synthesize the appropriate agile approach.
Understanding the unique characteristics, core mechanics, team structures, and context-sensitive application scenarios for each methodology is essential for answering situational exam questions.
The Agile Framework Spectrum
┌──────────────────────────────────────────────────────────────────────────────────────────┐
│ THE AGILE FRAMEWORK SPECTRUM │
├──────────────────────────┬──────────────────────────┬────────────────────────────────────┤
│ ITERATIVE / TIMEBOXED │ CONTINUOUS FLOW / LEAN │ ENGINEERING & HYBRID SCALING │
├──────────────────────────┼──────────────────────────┼────────────────────────────────────┤
│ • Scrum │ • Kanban │ • Extreme Programming (XP) │
│ • Dynamic Systems │ • Lean Software Dev │ • Feature-Driven Dev (FDD) │
│ Development (DSDM) │ (7 Principles) │ • SAFe / LeSS / Disciplined Agile │
└──────────────────────────┴──────────────────────────┴────────────────────────────────────┘
Detailed Methodology Analysis
1. Scrum: Iterative Team Delivery
Scrum is an iterative, incremental framework for developing, delivering, and sustaining complex products. It operates on empirical process control (transparency, inspection, and adaptation).
- Core Mechanics: Work is organized into fixed-length Sprints of one month or less. Changes must not endanger the Sprint Goal, but scope may be clarified and renegotiated by the Product Owner and Developers as they learn.
- 3 Accountabilities: Product Owner (maximizes value and is accountable for effective Product Backlog management), Scrum Master (establishes Scrum and helps improve team effectiveness), and Developers (create a usable Increment).
- 5 Events: Sprint, Sprint Planning, Daily Scrum (15-minute inspection and adaptation toward the Sprint Goal), Sprint Review (inspect outcomes and adapt what to do next), and Sprint Retrospective (plan quality and effectiveness improvements).
- 3 Artifacts and commitments: Product Backlog/Product Goal, Sprint Backlog/Sprint Goal, and Increment/Definition of Done.
- Scrum Team Size: The current Scrum Guide says a Scrum Team is typically 10 or fewer people, including the Product Owner and Scrum Master.
2. Kanban: Continuous Flow & WIP Control
Originating from the Toyota Production System, Kanban is a non-prescriptive, continuous-flow management method focused on visualizing work and optimizing throughput.
- Core Mechanics: Unlike Scrum, Kanban does not require fixed timeboxed iterations. Work items move continuously across workflow states on a Kanban Board (e.g., To Do, In Progress, Testing, Done).
- Key Principles & Practices:
- Visualize the Workflow: Expose bottlenecks and hidden work.
- Limit Work in Progress (WIP): Explicitly control WIP so work is pulled only when capacity is available; policies may include numeric limits for workflow states.
- Manage Flow: Reduce Cycle Time and Lead Time.
- Make Process Policies Explicit: Clear criteria for column transitions.
- Implement Feedback Loops: Daily standups, service delivery reviews.
- Ideal Application: Operational maintenance, support teams, IT operations, or environments with unpredictable incoming request rates.
3. Extreme Programming (XP): Engineering Excellence
Extreme Programming (XP) is an agile software engineering methodology that takes beneficial software development practices to "extreme" levels to ensure high quality and responsiveness to changing requirements.
- Core Mechanics: Focuses heavily on developer practices and code quality.
- Core Engineering Practices:
- Pair Programming: Two developers work together at one workstation (one Driver, one Navigator).
- Test-Driven Development (TDD): Write automated unit tests before writing production code (Red-Green-Refactor cycle).
- Continuous Integration (CI): Code is integrated and automatically tested multiple times per day.
- Refactoring: Continuously improving code structure without changing external behavior.
- Collective Code Ownership: Any developer can modify any part of the codebase at any time.
- Simple Design & Metaphor: Build only what is needed today; establish common naming conventions.
- Ideal Application: High-risk, technically complex software projects requiring rapid adaptation and stringent defect prevention.
4. Lean Software Development: Eliminating Waste
Adapted from Lean Manufacturing by Mary and Tom Poppendieck, Lean Software Development applies economic principles to optimize software creation.
- The 7 Principles of Lean:
- Eliminate Waste (Muda): Remove anything that does not add customer value (e.g., extra features, delays, handoffs, defects, partially done work).
- Amplify Learning: Run short feedback cycles, conduct experiments.
- Decide as Late as Possible: Preserve flexibility; delay commitments until options are clear (Option Thinking).
- Deliver as Fast as Possible: Rapid delivery yields faster feedback and reduces cost of delay.
- Empower the Team: Respect workers; delegate decision-making to frontline team members.
- Build Integrity In: Automate quality, practice continuous refactoring.
- See the Whole: Optimize the end-to-end value stream, not localized silos.
5. Feature-Driven Development (FDD) & DSDM
- Feature-Driven Development (FDD): A client-centric, architecture-driven methodology designed for larger software organizations. It structures work around 5 steps: Develop Overall Model, Build Feature List, Plan by Feature, Design by Feature, and Build by Feature. Progress is tracked using granular feature progress percentages.
- Dynamic Systems Development Method (DSDM): An early agile methodology (now part of the Agile Business Consortium) that emphasizes governance, fixed schedule/cost, and flexible scope using MoSCoW Prioritization (Must have, Should have, Could have, Won't have this time).
6. Scaled Agile Frameworks (SAFe, LeSS, DA)
When organizations expand agile beyond a single team, enterprise scaling frameworks provide coordination:
- Scaled Agile Framework (SAFe®): A structured framework aligning strategy, execution, and portfolio management across enterprise teams using Agile Release Trains (ARTs) and PI Planning for each Planning Interval.
- Large-Scale Scrum (LeSS): Multi-team Scrum that scales Scrum practices with minimal added bureaucracy (multiple cross-functional teams working from a single Product Backlog under one Product Owner).
- Disciplined Agile (DA): PMI's hybrid process-decision framework that provides context-sensitive guidance ("Guided Continuous Improvement") to help teams choose their tailored Way of Working (WoW).
Framework Comparison Table
| Framework | Primary Focus | Iteration Cadence | Core Mechanism | Typical Team Structure | Roles or Accountabilities |
|---|---|---|---|---|---|
| Scrum | Product Delivery | Sprints of one month or less | Empiricism, Product Goal, and Sprint Goal | Typically 10 or fewer people | Product Owner, Scrum Master, Developers |
| Kanban | Flow & Capacity | Continuous Flow (No required Sprints) | Explicit WIP control | Context-dependent | No roles prescribed by the Kanban Guide |
| XP | Code Quality | Short Iterations | TDD, Pair Programming, CI | Small collaborative team | Customer, Developer, Tracker, Coach |
| Lean | Value Stream | Context-dependent | Waste Elimination & Fast Delivery | Team through enterprise | Leadership, Value Stream Mapping Team |
| FDD | Domain Modeling | Feature-based | 5-step Feature-driven process | Often used with larger teams | Chief Architect, Development Manager, Lead Programmer |
| DSDM | Governance & Scope | Fixed Timeboxes | MoSCoW Prioritization & Pre-project phases | Small to Enterprise | Executive Sponsor, Visionary, Team Leader |
| Disciplined Agile | Context tailoring | Hybrid (Iterative or Flow) | Process-decision toolkit | Context-dependent | Team Lead, Product Owner, Architecture Owner |
A software development team wants to prevent burnout, eliminate multi-tasking bottlenecks, and establish a pull system without imposing fixed-length iterations. Which framework is best suited for this operational requirement?
During an agile project execution, the engineering team adopts Test-Driven Development (TDD), Pair Programming, and Continuous Integration (CI). Which agile methodology originates these core technical engineering practices?
A Lean project manager is analyzing the delivery pipeline to optimize efficiency. According to the 7 principles of Lean Software Development, which action aligns directly with the principle of 'Decide as Late as Possible'?