Methodologies Basic

Agile

Software development philosophy that prioritizes incremental value delivery, customer collaboration, and adaptation to change over rigid planning.

Pronunciation

/ˈædʒ.aɪl/
"AJ-ile"

What is it

Agile is a software development philosophy articulated in the Agile Manifesto published in 2001 by 17 industry leaders. It’s not a concrete methodology — it’s a set of values and principles that guide how software teams should work.

Concrete methodologies that implement Agile include Scrum, Kanban, XP (Extreme Programming), and SAFe (Scaled Agile Framework).

The 4 Values of the Agile Manifesto

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

The items on the right have value, but the items on the left are valued more.

The 12 Agile Principles (summarized)

  1. Satisfy the customer through early and continuous delivery of software
  2. Welcome changing requirements, even late in development
  3. Deliver working software frequently (weeks, not months)
  4. Business people and developers work together daily
  5. Build projects around motivated individuals
  6. Face-to-face conversation is the most efficient communication
  7. Working software is the primary measure of progress
  8. Sustainable development — constant pace indefinitely
  9. Continuous attention to technical excellence
  10. Simplicity — maximizing the work not done
  11. Best architectures emerge from self-organizing teams
  12. The team regularly reflects and adjusts behavior

Agile vs Waterfall

AspectWaterfallAgile
PlanningAll upfrontIterative, by cycle
DeliverablesOne big final launchFrequent small deliveries
ChangesExpensive (require replanning)Welcome and expected
CustomerAt the start (requirements) and end (delivery)Involved throughout
RiskHigh (discovered at the end)Low (discovered early)
VisibilityLimited until the endContinuous in each iteration

Agile in Practice

A typical Agile project:

Sprint 1 (2 weeks):
├── Monday: Sprint Planning — team + client define what to build
├── Tuesday-Friday: Development
├── Daily: Standup (15 min)
└── Last day: Sprint Review + Retrospective

→ Working software is delivered
→ Client gives immediate feedback
→ Next Sprint adjusts based on that feedback

Why It Matters for Companies Hiring Development

When your vendor works with Agile methodology:

Real visibility:

  • You don’t wait 6 months to see a result — you see progress every 2 weeks
  • Problems emerge early when they’re cheap to fix

Adaptation:

  • If the market changes or you learn something new, the plan can change
  • You’re not locked into specifications written 6 months ago

Collaboration:

  • Your internal team participates actively — not “I hand over requirements and wait”
  • The resulting software reflects real business needs, not the original specification

Reduced risk:

  • In Waterfall, risk is discovered at the end (when it’s most expensive)
  • In Agile, risks emerge in the first iteration (when they’re cheap to resolve)

Common Misunderstandings

“Agile means no planning” → Agile plans continuously — just not everything all at once upfront

“Agile is only for small teams” → Frameworks (SAFe, LeSS) exist to scale Agile to hundreds of people

“With Agile there’s no documentation” → There is documentation, but working software is prioritized over exhaustive documents

  • [[Scrum]] - The most widely adopted Agile framework worldwide
  • [[Sprint]] - The 2-week work cycle in Scrum
  • [[Kanban]] - Visual Agile method for workflow management
  • [[CI/CD]] - The technical practice that makes Agile’s frequent deliveries possible

Additional Resources: