Agile and Scrum, Lean and Kanban So many teams in the software sphere are integrating at least one of these project management methods. For those of you, like me, who are curious about the origins of these terms, I’ve compiled a brief history of each. (Full disclosure: Wikipedia was my go-to source for historical dates and events. I’ll leave it to you do go into deep fact checking if you’d like)
Lean vs Agile
You’ll often find people using the terms Lean and Agile interchangeably. To clarify, Lean comes from Lean Manufacturing, and is a set of principles for achieving quality, speed and customer alignment. The goal is to gain the maximum value from production by eliminating wastes from the production process. Everything and every step are scrutinized.
1911: Frederick Winslow Taylor introduces his theories in his Principles of Scientific Management, which emphasizes the importance of reexamining policies, and adopting new ideas that are evaluated as better than the old ones. (Shingo Shigeo, Japanese industrial engineer, sited Taylor’s book as the inspiration for his Toyota Production System)
1915: Henry Ford develops a system set on cutting waste in spent energy and wasted material. (However, James P. Womack and Daniel Jones point out in “Lean Thinking,” Ford’s model was unsustainable because his factory was a steady-state environment rather than a dynamic one.)
1934: Toyota produces its first car. Kiichiro Toyoda discovers problems in the engine casting manufacture. Rather than repairing poor quality, he choses to fix the initial problem.
1943: Based on research in supermarkets, Taiichi Ohno begins scheduling production according to his notion of Pull–building to order–which eliminates over saturation of products in the market. Combining this with other Toyota methods, Ohno forms the famous Toyota Production System.
1988: John Krafcik first coins the term “lean” in his article “Triumph of the Lean Production System”
1990’s/2000s: Lean IT gains popularity for its similarity in production to manufactured goods and need for waste reduction.
While Lean’s goal is to eliminate waste, Agile’s goal is to create software that actually helps the customer. A reaction to heavyweight methodologies which block software teams from doing what they need to do, the Agile Manifesto empowers the the team make many of their own decisions. The Manifesto values…
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
1957: Bernie Dimsdale leads incremental development at IBM’s Service Bureau Corporation
1974: E. A. Edmonds writes a paper that introduced an adaptive software development process.
1990s: Lightweight methods—like unified process, DSDM, Scrum, crystal clear, XP, and adaptive software development—grow in popularity.
2001: The Agile Manifesto is created.
2011: The signets of the Agile Manifesto reconvene to discuss issues with the original agile.
Scrum vs Kanban
Many people will use Lean and Agile interchangeably, even more people make this confusion between Agile and Scrum. A project is Agile if it follows the principles laid out in the Agile Manifesto. Practices like Scrum and Kanban are popular ways in which to abide by the Agile principles. Perhaps the confusion arises because both rely on a visual board to track progress.
Scrum is an incremental process of software development which follows Agile principles. Work is organized into bite-sized pieces to be completed by a team within a set amount of time called a “sprint.” The team is cross-functional, and also has a designated Scrum Master to keep the team on track, and a Product Owner to prioritize deliverables according to customer needs.
1986: Hirotaka Takeuchi and Ikujiro Nonaka talk about, “a flexible, holistic product development strategy where a development team works as a unit to reach a common goal,” in the New Product Development Game. They called this the holistic, or rugby, approach.
Early 1990s: Ken Schwaber, Jeff Sutherland, John Scumniotales and Jeff McKenna all develop holistic approaches at their companies.
1995: Sutherland and Schwaber jointly present a paper describing Scrum Methodology.
2001: Schwaber works with Mike Beedle to describe the method in a book called Agile Software Development with Scrum.
2009: Schwaber and Alex Armstrong found Scrum.org.
Kanban is a system to control the logistical chain from a production point of view, and is an inventory control system, aligning inventory levels with actual consumption. In IT, Kanban means visual process-management system that tells what to produce, when to produce it, and how much to produce.
- There isn’t a time limit in Kanban, but there are limits to how many tasks can be in each category (to do, doing, done) at once.
- Scrum teams have roles, but in Kanban no set roles are assigned.
- Because there are no time limits in Kanban, the board never has to be reset like it does for Scrum.
Late 1940s: Based on research of supermarkets, Taiichi Ohno and the Toyota company develop the Pull method of production. The supermarkets had signboards to guide shopping processes to specific locations within the store.
1953: Toyota applies supermarket logic to the main plant machine shop. Kanban uses the rate of demand to control the rate of production.
As Lean evolves, Kanban goes on to be the choice method for carrying out practices.
There you have it…
A brief history of Agile, Scrum, Lean, and Kanban and how they relate to one another. If anything is true, each one has a great history of innovation. How will your team participate in the course of history?