Some may believe that the Agile mindset is new and was recently “discovered.” In reality, it has a long history. We can trace its roots as far back as the early 17th century, starting with Francis Bacon’s introduction of the scientific method. Those empirical foundations provide the basis for how we work in an Agile-minded way today. Since that early time there have been other historical events or concepts that have contributed to, and influenced, our mindset. Below is a timeline of events and concepts, along with their relationship or contribution to today’s Agile mindset for developing solutions.
Historic Agile
- 1620 – Scientific Method of Francis Bacon
Pose a question, gather information, form a hypothesis, test the hypothesis, and share knowledge. This empirical, evidence-based mindset is the seed of today’s Agile approach. We hypothesize about user needs, prioritize the highest value, deliver the most important part early, and incorporate feedback into our plans for what to build next, much like how Bacon approached understanding the world around him.
- 1911 – The Principles of Scientific Management by Frederick W. Taylor
Taylor’s view is often regarded as the anthesis of Agile approaches because of his separation of “workers” from “managers”. But, his goal was to improve the work, something we continue to focus on today. His theory of management focused on analyzing workflows to constantly improve their efficiency. He urged managers to discover the optimum approach by rigorously studying the process. Managers would then tell workers how to go about their work. Today, we apply this same rigor but share it across the entire team, bringing everyone’s skills to the work of process improvement.
- 1930 – Plan Do Check Act (PDCA) by Walter Shewhart
Shewhart took Bacon’s scientific method and added the “Act” component to enable integration of knowledge and to form a cycle. We can’t improve what we build and how we build it if we don’t act on the system and make deliberate improvements. Agile development processes incorporate feedback to improve the solution as well as the building of the solution.
- 1948 – Toyota Production System (precursor to “Lean Manufacturing”) by Taiichi Ohno (and others)
Lean placed an emphasis on value delivery. Anything that didn’t contribute to value delivery was considered waste, the elimination of which improved efficiency and effectiveness. Unlike Taylor’s approach, in Lean, the people doing the work are considered the best source of knowledge on how to improve it. The emphasis on continual improvement and delivery of value are core foundations of Agile.
- 1950’s – Plan Do Study Act (PDSA) by W. Edwards Deming
Deming built off PDCA and brought more attention to the need to “study” and analyze results, rather than just inspect or “check” them. Inspection and adaptation are essential aspects of an Agile mindset. We continuously inspect for quality and we analyze the process to identify and address the root causes of problems. Deming’s work also influenced the disciplines of quality control and quality management, prompting Agile to devote continuous attention to technical excellence.
Early Agile
- 1976 – Evolutionary Project Management by Tom Gilb
Gilb was one of the first to emphasize an approach that we would clearly recognize as Agile. He advocated for lightweight, adaptive iterations with quick results. He stated that “a complex system will be most successful if it is implemented in small steps and if each step has a clear measure of successful achievement as well as a ‘retreat’ possibility to a previous successful step upon failure.“
- 1985 – “A Spiral Model of Software Development and Enhancements” by Barry Boehm
Boehm developed a risk-driven approach to development, where different process approaches could be selected based on the risk profile of the effort. Common to all was the idea of an iteration involving four steps: determine objectives, identify and resolve risks, develop and test, and plan the next iteration. Boehm emphasized that high-risk elements should be addressed earlier than lower risk ones.
- 1986 – The New New Product Development Game by Hirotaka Takeuchi and Ikujiro Nonaka
Takeuchi and Nonaka presented a holistic approach with six characteristics: built-in instability, self-organizing project teams, overlapping development phases, “multi-learning,” subtle control, and organizational transfer of learning. The emphasis on cross-functional teams and overlapping phases, both of which reduce handoffs, are precursors to today’s Agile approaches.
- 1990 – Rapid Application Development (RAD) teachings by James Martin
RAD put less emphasis on rigorous upfront design and more focus on an adaptive process. Prototypes could take the place of design specifications. Concepts such as “tracer bullets” and “walking skeletons” were utilized to deliver a small piece of bare-bones functionality and get feedback.
- 1995 – Scrum Framework presented by Ken Schwaber and Jeff Sutherland in 1995 at OOPSLA (Object-Oriented Programming, Systems, Languages & Applications) Conference
Scrum is very common today. It “is grounded in empirical process control theory” and “employs an iterative, incremental approach to optimize predictability and control risk.” Inspection, adaptation, and transparency are the heart of Scrum; it is the dominant approach to working in an Agile way.
- 1999 – eXtreme Programming (XP) explained by Kent Beck
XP emphasizes communication, simplicity, testing, and sustainable developer-oriented practices. It advocates frequent “releases” in short development cycles, to improve productivity, and pinpoint opportunities to introduce new customer requirements and pivot based on feedback.
Today’s Agile
- 2001 – Agile Manifesto
Seventeen developers known as “organizational anarchists” met for three days in Snowbird, UT, because they were working on ways to produce software in an iterative and incremental manner instead of the more traditional waterfall method. They shared their ideas in the Agile Manifesto, in which they outlined four key values and twelve operating principles that capture the essence of their methods.
- 2007 – Discussion of Kanban at Agile 2007
Kanban is a management method heavily influenced by Lean and Theory of Constraints. Kanban aims to foster a culture of continuous improvement by manage work through visualization, limits on work in progress, and a more effective balance between incoming demand and available capacity.
As you can see, the foundations of the Agile mindset have been around for a long time. While there may be passionate debates about the recent history of Agile, its roots extend far beyond Information Technology (IT) and will continue to grow into every function of every industry that wants to improve their work.