Whenever I explore a new field I like to get an overview of how things got to be the way they are – A short timeline of how we’ve arrived at the “state of the art”. What happened when, so that everything is what it is today?
The following is my current state of knowledge (April 18th, 2012 – v2). For the visually inclined I turned this into the infographic at the left hand side. Please note that for various reasons, not all events are in the infographic – only those set in bold.
Disclaimer: This list is very subjective and not comprehensive. Loads of cool people are missing. I wanted to concentrate on the turning points. If you prefer more information try this history of agile, my main source for those events.
Color codes:
- Lean
- Agile Theory
- Agile Practices
- Software Engineering Practices
- Others
1930s – PDCA-Cycle
Walter Shewhart proposes short “plan-do-study-act” (PDSA) cycles – a concept later made popular by Deming
1940s – Kanban & Toyota Production Systems / Lean
Taiichi Ohno invents Kanban at Toyota
1984 – Theory of Constraints
Physicist Eliyahu Goldratt formulates the Theory of Constraints
1971 – Egoless Programming
Gerald “Jerry” Weinberg describes Egoless Programming in “The Psychology of Computer Programming”
1992 – Crystal
Alistair Cockburn invents the Crystal Methods
1993 – Refactoring
Bill Opdyke coins “Refactoring”
1995 – Pair Programming
Jim Coplien and Larry Constantine popularize pair programming
1995 – Scrum
Ken Schwaber and Jeff Sutherland present Scrum at OOPSLA ‘95
1999 – eXtreme Programming
Kent Beck, Ward Cunningham and Ron Jeffries found eXtreme Programming
1999 – User Stories
Kent Beck describes User Stories in “Extreme Programming Explained”
1999 – Continuous Integration
Kent Beck coined this one, too, but a paper by Martin Fowler popularized CI
2001 – Agile Manifesto
Uncle Bob Martin rallies 16 others and together they write the Agile Manifesto (formerly “Lightweight Methodologies”)
2002 – Test-Driven Development
Kent Beck strikes again, rediscovering Test-Driven Development
2003 – Lean Software Development
Mary and Tom Poppendieck write “Lean Software Development”
2006 – Behavior-Driven Development
Dan North describes Behavior-Driven Development
2007 – Retrospectives
Esther Derby and Diana Larsen write “Agile Retrospectives”, thereby establishing retrospectives as a standard agile practice
2007 – Kanban for Software Development
David Anderson writes “Kanban“, adapting Kanban for Software Development
2008 – Clean Code
Uncle Bob Martin publishes “Clean Code” and states “Craftsmanship over Crap” in one of his keynotes
2009 – Software Craftsmanship Manifesto
The attendants of the 1st International Software Craftsmanship Conference write down their conclusions as the Software Craftsmanship Manifesto. Software Craftsmanship is not only about coding pratices but also about teaching the next generation.
2009 – Lean Startup
Eric Ries writes “Lean Startup”
And that’s it! Kent Beck is one busy bee… I stand in awe.
Sources:
- http://setandbma.wordpress.com/2012/03/23/agile-history/ – Huge thanks to Udayan Banerjee for his excellent research!
- http://testobsessed.com/blog/2009/10/29/my-pnsqc-keynote-with-agile-timeline/ – Software Testing history
- http://guide.agilealliance.org/subway.html – Checking for potentially missing items
- http://intenseminimalism.com/2012/a-brief-history-of-agile-methods/ – History of projects done agile-ly
- http://blog.mountaingoatsoftware.com/gasping-about-the-product-backlog – How retrospectives have become mainstream
Do you know other timelines? What event is missing that makes it onto your list?