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 […]
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.
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.
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.
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.
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.
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.
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.“
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.
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.
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.
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.
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.
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.
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.
Getting started with Agile is straightforward; succeeding with it is challenging. You can’t just introduce...
Your team adopted Agile to get better—to accelerate delivery and improve performance—but now that you’ve...