Agile Development Process
Definition
Agile is an iterative, incremental approach to software development that emphasizes flexibility, customer collaboration, working software, and rapid response to change, over rigid processes and extensive documentation.
The Agile Manifesto (2001) — 4 Core Values
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
(Note: items on the right still have value, but the items on the left are valued more.)
12 Agile Principles (key highlights)
- Highest priority: satisfy the customer through early and continuous delivery
- Welcome changing requirements, even late in development
- Deliver working software frequently (weeks, not months)
- Business people and developers must work together daily
- Build projects around motivated individuals
- Face-to-face conversation is the most efficient communication
- Working software is the primary measure of progress
- Simplicity — maximizing the amount of work not done — is essential
- Teams should self-organize
- Regular reflection and tuning (retrospectives)
How Agile Works (Typical Cycle — e.g., Scrum)
Product Backlog → Sprint Planning → Sprint (1–4 weeks) → Daily Standups
↑ │
└──────── Sprint Review/Retrospective ◀┘
- Development happens in short, fixed cycles called sprints/iterations
- Each sprint delivers a potentially shippable increment
- Continuous customer feedback shapes the next sprint
Popular Agile Methodologies
- Scrum — sprints, daily standups, product/sprint backlogs, roles (Product Owner, Scrum Master, Team)
- Extreme Programming (XP) — pair programming, test-driven development, continuous integration
- Kanban — visual workflow board, continuous flow (no fixed sprints)
Advantages
- Highly flexible/adaptive to changing requirements
- Frequent delivery of working software builds trust and early value
- Strong customer/stakeholder involvement
- Encourages team collaboration and continuous improvement
Disadvantages
- Less predictable — harder to estimate final cost/timeline upfront
- Requires highly disciplined, self-organized teams
- Can suffer from scope creep without strong product ownership
- Documentation is often minimal — can be a risk for later maintenance/compliance
Exam tip: Memorize all 4 Agile Manifesto values verbatim — this is a very frequently asked direct question. Also know Scrum's basic terms: Sprint, Product Backlog, Sprint Backlog, Scrum Master, Product Owner.