upgrade
upgrade

💻Advanced Design Strategy and Software

Key Principles of Agile Methodology

Study smarter with Fiveable

Get study guides, practice questions, and cheatsheets for all your subjects. Join 500,000+ students with a 96% pass rate.

Get Started

Why This Matters

Agile methodology isn't just a buzzword—it's the foundation of modern software development and design strategy. When you're tested on Agile principles, you're being evaluated on your understanding of iterative development, adaptive planning, cross-functional collaboration, and continuous delivery. These frameworks represent different solutions to the same core challenge: how do you build software that actually meets user needs in a constantly changing environment?

Don't fall into the trap of memorizing framework names and their features in isolation. The real exam value comes from understanding why each framework exists and what problem it solves. Whether you're comparing Scrum's structured sprints to Kanban's continuous flow, or explaining when to scale with SAFe versus LeSS, you need to connect each framework to its underlying philosophy. Know the mechanism, not just the method.


Iteration-Based Frameworks

These frameworks organize work into time-boxed cycles that create predictable rhythms for planning, building, and reviewing. The core principle: constrain time to force prioritization and enable regular feedback loops.

Scrum

  • Fixed-length sprints (2-4 weeks)—create predictable delivery cycles that force teams to break work into manageable increments
  • Three distinct roles define accountability: Scrum Master (process facilitator), Product Owner (value maximizer), and Development Team (builders)
  • Ceremonies drive transparency—Daily Stand-ups, Sprint Planning, Sprint Reviews, and Retrospectives ensure continuous communication and improvement

Extreme Programming (XP)

  • Technical excellence through paired practices—pair programming, test-driven development (TDD), and continuous integration prioritize code quality over speed
  • Frequent small releases deliver functional increments rapidly, enabling fast customer feedback and course correction
  • Simplicity as a design principle—write only what's needed now, making future changes easier and reducing technical debt

Feature-Driven Development (FDD)

  • Feature-centric delivery organizes work around tangible user value rather than technical tasks or system components
  • Five-step process provides structure: develop overall model → build feature list → plan by feature → design by feature → build by feature
  • Short iterations with regular reviews maintain code quality while delivering functional features quickly

Compare: Scrum vs. XP—both use iterations and value customer feedback, but Scrum focuses on process and roles while XP emphasizes technical practices and code quality. If an exam question asks about improving software reliability, XP's TDD and pair programming are your go-to examples.


Flow-Based Frameworks

Rather than fixed iterations, these frameworks optimize for continuous delivery and workflow efficiency. The core principle: visualize work, limit bottlenecks, and let value flow to customers without artificial time boundaries.

Kanban

  • Visual workflow management—the Kanban board displays task status at a glance, making bottlenecks immediately visible to the entire team
  • Work-in-progress (WIP) limits prevent overload by capping how many tasks can exist in any workflow stage simultaneously
  • Continuous delivery replaces fixed sprints, allowing teams to release features as soon as they're complete rather than waiting for sprint boundaries

Lean Software Development

  • Waste elimination adapts manufacturing principles to software—cut anything that doesn't deliver customer value (inventory, waiting, overprocessing, defects)
  • Value stream mapping identifies non-value-adding activities in your development pipeline, targeting them for removal
  • Team empowerment pushes decision-making authority to those closest to the work, reducing handoffs and approval delays

Compare: Kanban vs. Lean—Kanban is a specific visual method for managing flow, while Lean is a broader philosophy about eliminating waste. Kanban boards are a tool; Lean thinking is the strategy behind using them effectively.


People-Centered Frameworks

These frameworks prioritize team dynamics, stakeholder relationships, and sustainable pace over rigid processes. The core principle: software is built by people, so optimize for human factors first.

Crystal

  • Family of methodologies that scales based on project size, criticality, and team composition—not a one-size-fits-all approach
  • People over processes—emphasizes that talented, communicating teams matter more than perfect documentation or tools
  • Sustainable pace prevents burnout by explicitly valuing work-life balance as a productivity strategy, not a luxury

Adaptive Software Development (ASD)

  • Speculate-Collaborate-Learn cycle replaces traditional plan-build-review, acknowledging that initial plans are hypotheses to test
  • Embraces uncertainty as natural—change isn't a failure of planning but an expected part of complex software development
  • Continuous learning improves both the product and the process simultaneously through regular reflection

Compare: Crystal vs. ASD—both prioritize adaptability and people, but Crystal offers a family of scaled approaches based on project characteristics, while ASD provides a philosophical framework for navigating uncertainty. Crystal asks "what size is your project?" while ASD asks "how do you respond to change?"


Full-Lifecycle Frameworks

These frameworks extend beyond development sprints to address project initiation, feasibility, and long-term maintenance. The core principle: Agile thinking should govern the entire project lifecycle, not just the coding phase.

Dynamic Systems Development Method (DSDM)

  • Feasibility-to-maintenance coverage addresses the full project lifecycle, unlike frameworks that focus only on development iterations
  • Timeboxing constrains work periods to force prioritization and prevent scope creep—time is fixed, scope is variable
  • Business value alignment ensures every iteration delivers measurable organizational benefit, not just completed features

Compare: DSDM vs. Scrum—both use timeboxing and iterative delivery, but DSDM explicitly covers pre-development phases (feasibility, foundations) and post-delivery maintenance. Choose DSDM examples when discussing enterprise project governance.


Scaling Frameworks

When Agile needs to work across multiple teams, products, or organizational levels, these frameworks provide coordination structures. The core principle: maintain Agile values while adding just enough structure to synchronize large-scale efforts.

Scaled Agile Framework (SAFe)

  • Three-level structure coordinates work at team, program, and portfolio levels with distinct roles and practices at each
  • Agile Release Trains (ARTs) synchronize multiple teams toward common delivery goals on a shared cadence
  • Enterprise alignment connects strategic portfolio decisions to team-level execution through explicit planning ceremonies

Large-Scale Scrum (LeSS)

  • Scrum simplicity preserved—extends core Scrum practices to multiple teams without adding new roles or heavy processes
  • Single Product Backlog shared across all teams ensures alignment on priorities and prevents duplicate work
  • Integrated increments require all teams to deliver a cohesive product increment each sprint, forcing coordination

Compare: SAFe vs. LeSS—both scale Agile to large organizations, but SAFe adds significant structure and new roles while LeSS maintains Scrum's minimalism. SAFe suits organizations wanting detailed governance; LeSS suits those wanting to scale without bureaucracy. FRQ tip: if asked about trade-offs in scaling, contrast these two directly.


Quick Reference Table

ConceptBest Examples
Time-boxed iterationsScrum, XP, FDD
Continuous flowKanban, Lean
Technical practicesXP (TDD, pair programming, CI)
Visual managementKanban, Lean (value stream mapping)
People-first philosophyCrystal, ASD
Full lifecycle coverageDSDM
Enterprise scalingSAFe, LeSS
Waste eliminationLean, Kanban (WIP limits)

Self-Check Questions

  1. Which two frameworks both use iterations but differ in their primary focus—one on process roles and one on technical practices? What specific practices distinguish them?

  2. If a team is experiencing bottlenecks and wants to visualize workflow without committing to fixed sprints, which framework would you recommend and why?

  3. Compare and contrast SAFe and LeSS: What problem do both solve, and what fundamental trade-off distinguishes their approaches?

  4. A project requires Agile practices from initial feasibility assessment through post-launch maintenance. Which framework explicitly addresses this full lifecycle, and what technique does it use to manage scope?

  5. An FRQ asks you to explain how Agile frameworks handle uncertainty differently. Using ASD and Scrum as examples, describe their contrasting philosophies toward change and unpredictability.