Overview
This article traces the evolution of the Agile movement from its origins through 2003, highlighting key methodologies, influential figures, and milestones that shaped software development practices.
The Four Primary Influences
Four methodologies significantly influenced the Agile Manifesto:
- Scrum (Jeff Sutherland, Ken Schwaber, Mike Beedle)
- DSDM (Arie van Bennekum representing the consortium)
- ASD (Jim Highsmith)
- XP (Kent Beck, Ward Cunningham, Ron Jeffries, Martin Fowler)
Timeline of Key Milestones
1992 – Crystal Methods
Alistair Cockburn created Crystal, which emphasized frequent delivery of usable code, reflective improvement, and osmotic communication among co-located teams. The methodology laid foundational concepts for Agile.
1993 – Refactoring
Bill Opdyke coined the term "refactoring," defined as a "disciplined technique for restructuring an existing body of code, altering its internal structure without changing external behavior."
1994 – Dynamic Systems Development Method
The DSDM Consortium, led by Jennifer Stapleton and Arie van Bennekum, developed a RAD framework emphasizing business focus, timely delivery, collaboration, quality, incremental building, iterative development, and continuous communication.
1995 – Scrum and Pair Development
Scrum: Jeff Sutherland and Ken Schwaber presented Scrum at OOPSLA '95. Mike Beedle became an early adopter who introduced Scrum to many organizations.
Pair Development: Jim Coplien and Larry Constantine independently published on paired programming, with Constantine discussing "Dynamic Duos" in his book Constantine on Peopleware.
1997 – Feature Driven Development
Jeff De Luca devised Feature Driven Development (FDD), incorporating domain object modeling, feature-based development, code ownership, feature teams, inspections, and configuration management. Peter Coad helped popularize FDD through co-authoring Java Modeling in Color with UML. Jon Kern worked closely with both developers to shape FDD concepts.
1999 – Adaptive Software Development and The Pragmatic Programmer
ASD: Jim Highsmith formalized Adaptive System Development around a three-phase lifecycle: speculation, collaboration, and learning.
The Pragmatic Programmer: Andrew Hunt and Dave Thomas published this influential book defining pragmatic programmers as early adopters, inquisitive thinkers, and versatile professionals.
Extreme Programming Era
Kent Beck developed Extreme Programming while working at Chrysler, introducing user stories and release planning alongside best practices for planning, designing, coding, and testing. Ward Cunningham contributed to XP and created Wiki technology. Ron Jeffries collaborated as a co-founder of XP. Martin Fowler documented continuous integration and contributed historical reflections on Agile's development.
2001 – The Agile Manifesto
Bob Martin organized the historic meeting at The Lodge at Snowbird Ski Resort in Utah during February 2001. Seventeen authors gathered to create the Agile Manifesto:
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Bob Martin, Stephen Mellor, Ken Schwaber, Jeff Sutherland, and Dave Thomas
2002 – Test Driven Development and Planning Poker
TDD: Kent Beck formalized Test Driven Development through the book Test Driven Development: By Example, building on XP's test-first approach.
Planning Poker: James Grenning developed Planning Poker as an estimation technique for agile teams.
2003 – Lean Software Development
Mary and Tom Poppendieck introduced Lean Software Development, adapting lean manufacturing principles to software. The methodology emphasizes seven principles: eliminate waste, amplify learning, decide as late as possible, deliver rapidly, empower teams, build integrity, and see the whole.