Written by Paul D. Race for BreakThrough Communications, btcomm.com. Copyright © 2016 All Rights Reserved.
The term “Agile,” when applied to development processes, refers to a “family” of development principles that emerged in the late 20th century in reaction to common inefficiencies of traditional management approaches.
At least two modern “Agile” approaches to software development – “Lean Programming” and “Kanban” – have roots in manufacturing processes developed in postwar Japan, especially in the automotive industry. Initially known as “Just-in-Time” manufacturing, here is a simplified version of why it developed:
The Way We Were
In the 1960s, American manufacturers relied on past years’ sales and marketing’s projections to determine how many of each model were likely to be sold in the coming year. Companies like GM would negotiate contracts with their suppliers based on those projections, relying on huge quantities to help keep the price of parts down. The supplier would bid a low price to get that large order, and start shipping parts on a prearranged schedule. If car sales were down that year, though, GM might find itself with surplus of parts, which caused not only storage issues, but also tax and accounting issues.
GM would also produce more cars than they had orders for, both at the beginning of the model year to stock dealer lots with new models, and at the end of the year, to use up excess parts before model year changes. To ease storage problems at GM factories, they established a program that placed GM-owned cars on dealer lots. This made the dealer network responsible for storing much of GM’s inventory. It also forced GM to reduce prices at the end of the model year on any cars left over.
In other words, all decisions were made “up front.” From that point on, the only way to recoup money spent was to build cars, even if that entailed building more cars than the market could absorb. This is a “push” manufacturing model, which had been the mainstay of North American manufacturing for over a century.
Meanwhile, Across the Pacific
However, car companies in postwar Japan did not have the same options for storing excess parts or finished inventory. After studying their options, Toyota’s managers began relying almost entirely on incoming orders to determine quantities. They would order just enough parts to fulfill incoming orders and built mostly cars that were already “sold.” Although they were not getting huge volume discounts on parts, they avoided the accounting and storage hassles that excess inventories of parts and finished goods would entail.
Toyota discovered other benefits of this approach, including the ability to respond more quickly to customer concerns and to engineering advances. Both helped the company’s cars to quickly surpass contemporary Detroit products in quality (think Pinto and Vega). Such successes inspired the rise of many versions of the “pull” manufacturing model, which has expanded to nearly every industry in some form or another.
At the same time, low-inventory manufacturing was forcing Toyota factory managers to monitor their parts inventories constantly. A bulletin-board system was set up to help this effort. Later, Toyota used similar bulletin boards – called kanbans – to monitor other issues, especially process flows.
Eventually management consultants started calling systems like this “Lean Manufacturing.” And they attempted to apply just-in-time principles to other processes, including the focus on:
- Efficiency
- Flexibility
- Reduction of waste, and
- Management of flow
Lean and Kanban Software Development Practices Emerge
When software developers began applying these principles to their workflow, they exchanged reduction of wasted physical parts and inventory for reduction of wasted effort. Together with other adaptations, “Lean Programming” was born.
And another group of consultants applied the principles learned from the Japanese bulletin-board system of monitoring flow into the “Kanban” software development approach.
Lean and Kanban as Agile Disciplines
You can see that Lean and Kanban approaches were well on their way before they had the “Agile” name applied to them (about 2001). But in recent years, their practitioners have committed to using them in a way that
- Recognizes the value of individual contributors.
- Counts on short delivery cycles and continuous customer input to improve feedback loops.
- Retains flexibility, avoiding unnecessarily detailed long-term planning.
Whether you find yourself in a “Lean” or “Kanban” project or not, knowing where they came from should help you understand where they are going in the future.
Recent Comments