1 www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29
Purpose with the material 2 This material describes the basics of Agile and Lean and the similarities and differences between the theories. The material is put together based on different sources and should only be consideres as input and good to know
What does it mean to be Lean? 3 Lean has its origins in the Japanese company Toyota. The aftermath of the Second World War was tough on the Japanese economy and in order to survive Toyota had to become highly effective with their scarce resources. By visiting a number of Ford factories in the U.S. and Europe Toyota received a greater knowledge of mass production of automobiles. However Toyota lacked the resources needed to fully apply Fords manufacturing process. Toyota streamlined this process to enable fast and cost-effective deliveries, satisfying the demands of a small and multi-faceted Japanese market. Toyota achieved their goals by reducing capital binding inventory, production defects, overproduction and other kinds of waste that did not add value for the customer. This became the basis for the manufacturing process which was named Toyota Production System (TPS) and because of its high effectiveness it helped Toyota handle the oil crisis in the 1970s better than other companies around the world. As a result the interest in how Toyota managed the company grew and in the book The Machine That Changed the World (1990) TPS was highlighted as a manufacturing process for resource-effective production. It was in this book that Lean was first used as a term describing Toyota s successful way of working. Today Lean is adapted to most industries and regardless of which industry Lean is applied to, its core is to eliminate waste by continuous improvement and thereby effectively deliver what the customer really wants. The core idea with Lean is to maximize customer value while minimizing waste. Simply, Lean means creating more value for customers with fewer resources. A lean organization understands customer value and focuses its key processes to continuously increase it. The ultimate goal is to provide perfect value to the customer through a perfect value creation process that has zero waste. To accomplish this, lean thinking changes the focus of management from optimizing separate technologies, assets, and vertical departments to optimizing the flow of products and services through entire value streams that flow horizontally across technologies, assets, and departments to customers. Eliminating waste along entire value streams, instead of at isolated points, creates processes that need less human effort, less space, less capital, and less time to make products and services at far less costs and with much fewer defects, compared with traditional business systems. Companies are able to respond to changing customer desires with high variety, high quality, low cost, and with very fast throughput times. Also, information management becomes much simpler and more accurate.
What does it mean to be Lean? 4 Lean for Production and Services A popular misconception is that lean is suited only for manufacturing. Not true. Lean applies in every business and every process. It is not a tactic or a cost reduction program, but a way of thinking and acting for an entire organization. Businesses in all industries and services, including healthcare and governments, are using lean principles as the way they think and do. Many organizations choose not to use the word lean, but to label what they do as their own system, such as the Toyota Production System or the Danaher Business System. Why? To drive home the point that lean is not a program or short term cost reduction program, but the way the company operates. The word transformation or lean transformation is often used to characterize a company moving from an old way of thinking to lean thinking. It requires a complete transformation on how a company conducts business. This takes a longterm perspective and perseverance. The term "lean" was coined to describe Toyota's business during the late 1980s by a research team headed by Jim Womack, Ph.D., at MIT's International Motor Vehicle Program. The characteristics of a lean organization and supply chain are described in Lean Thinking, by Womack and Dan Jones, founders of the Lean Enterprise Institute and the Lean Enterprise Academy (UK), respectively. While there are many very good books about lean techniques, Lean Thinking remains one of the best resources for understanding "what is lean" because it describes the thought process, the overarching key principles that must guide your actions when applying lean techniques and tools. Purpose, Process, People Womack and Jones recommend that managers and executives embarked on lean transformations think about three fundamental business issues that should guide the transformation of the entire organization: Purpose: What customer problems will the enterprise solve to achieve its own purpose of prospering? Process: How will the organization assess each major value stream to make sure each step is valuable, capable, available, adequate, flexible, and that all the steps are linked by flow, pull, and leveling? People: How can the organization insure that every important process has someone responsible for continually evaluating that value stream in terms of business purpose and lean process? How can everyone touching the value stream be actively engaged in operating it correctly and continually improving it? "Just as a carpenter needs a vision of what to build in order to get the full benefit of a hammer, Lean Thinkers need a vision before picking up our lean tools," said Womack. "Thinking deeply about purpose, process, people is the key to doing this."
Principles of Lean The five-step thought process for guiding the implementation of lean techniques is easy to remember, but not always easy to achieve: Specify value from the standpoint of the end customer by product family. Identify all the steps in the value stream for each product family, eliminating whenever possible those steps that do not create value. Make the value-creating steps occur in tight sequence so the product will flow smoothly toward the customer. As flow is introduced, let customers pull value from the next upstream activity. As value is specified, value streams are identified, wasted steps are removed, and flow and pull are introduced, begin the process again and continue it until a state of perfection is reached in which perfect value is created with no waste. 5
What does it mean to be Agile? 6 Where Did Agile Come From? In 1970, Dr. Winston Royce presented a paper entitled Managing the Development of Large Software Systems, which criticized sequential development. He asserted that software should not be developed like an automobile on an assembly line, in which each piece is added in sequential phases. In such sequential phases, every phase of the project must be completed before the next phase can begin. Dr. Royce recommended against the phase based approach in which developers first gather all of a project s requirements, then complete all of its architecture and design, then write all of the code, and so on. Royce specifically objected to this approach due to the lack of communication between the specialized groups that complete each phase of work. It s easy to see how the waterfall methodology is far from optimized compared to agile methodology. First of all, it assumes that every requirement of the project can be identified before any design or coding occurs. Put another way, do you think you could tell a team of developers everything that needed to be in a piece of software before it was up and running? Or would it be easier to describe your vision to the team if you could react to functional software? Many software developers have learned the answer to that question the hard way: At the end of a project, a team might have built the software it was asked to build, but, in the time it took to create, business realities have changed so dramatically that the product is irrelevant. In that scenario, a company has spent time and money to create software that no one wants. Couldn t it have been possible to ensure the end product would still be relevant before it was actually finished? Why Agile? Agile development methodology provides opportunities to assess the direction of a project throughout the development lifecycle. This is achieved through regular cadences of work, known as sprints or iterations, at the end of which teams must present a potentially shippable product increment. By focusing on the repetition of abbreviated work cycles as well as the functional product they yield, agile methodology is described as iterative and incremental. In waterfall, development teams only have one chance to get each aspect of a project right. In an agile paradigm, every aspect of development requirements, design, etc. is continually revisited throughout the lifecycle. When a team stops and re-evaluates the direction of a project every two weeks, there s always time to steer it in another direction. The results of this inspect-and-adapt approach to development greatly reduce both development costs and time to market. Because teams can develop software at the same time they re gathering requirements, the phenomenon known as analysis paralysis is less likely to impede a team from making progress. And because a team s work cycle is limited to two weeks, it gives stakeholders recurring opportunities to calibrate releases for success in the real world. Agile development methodology helps companies build the right product. Instead of committing to market a piece of software that hasn t even been written yet, agile empowers teams to continuously replan their release to optimize its value throughout development, allowing them to be as competitive as possible in the marketplace. Development using an agile methodology preserves a product s critical market relevance and ensures a team s work doesn t wind up on a shelf, never released.
What does it mean to be Agile? 7 Agile is not a method in itself but a category for various agile methods and an alternative to traditional project management, typically used in software development. It helps teams respond to unpredictability through incremental, iterative work cadences, known as sprints. Agile methodologies are an alternative to waterfall, or traditional sequential development It was during the 1990s that these methods started being used as a reaction to other methods that were process heavy and inefficient in handling uncertainty and change. The category was created in 2001 when a group of leading profiles from different agile methods met with the intent of finding a common ground for the agile methods. The outcome of the meeting led to The Agile Manifesto, which addresses the values and principles on which Agile is based. The core of Agile is to develop software more effectively and people-oriented in a changing and complex world. In most agile methods this is accomplished by frequent customer feedback, short iterations, flexible and emerging requirements, with the goal to achieve working software with high business value. Lean Software Development is an agile method because it is aligned with the Agile values and principles. Other commonly known agile methods are Scrum, Extreme Programming and Adaptive Software Development. What is Scrum? Scrum is the most popular way of introducing Agility due to its simplicity and flexibility. Because of this popularity, many organizations claim to be doing Scrum but aren t doing anything close to Scrum s actual definition. Scrum emphasizes empirical feedback, team self management, and striving to build properly tested product increments within short iterations. Doing Scrum as it s actually defined usually comes into conflict with existing habits at established non-agile organizations.
Agile refers to a set of values and principles put forth in the Agile 8 Manifesto. The Manifesto was a reaction against heavyweight methodologies that were popular, yet crippling software projects from actually doing what they needed to do create software that helped the customer Agile Manifesto s values are: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan And it s principles are: 1. Highest priority is customer satisfaction 2. Welcome changing requirements 3. Frequent delivery of software 4. Business people & developers cooperating daily 5. Build projects around motivated people 6. Face-to-face conversation is best 7. Progress measured by working software 8. Sustainable development pace 9. Continuous attention to technical excellence 10. Simplicity 11. Self-organizing teams 12. Regular reflection & adaptation Any project that follows these values and principles can rightly be considered to be agile. That said, there are definitely preferred practices that are common for agile teams to follow in order to achieve agility. Most commonly: Scrum or Kanban (or a hybrid of the two) for Management Practices Extreme Programming (XP) for Technical Practices (with new practices becoming popular, largely from Lean Startup such as Continuous Deployment and Testing in Production) A good agile team picks and choses the management & technical practices that best work for them. (a bad one just picks a couple of practices and falsely believes that somehow makes them agile see: Are We Agile Yet?). In Part II, I ll post summaries of these agile methods and practices.
Lean vs. Agile similarities and differences Similarities Based on values and principles Not theoretical products but based on practical experience People-oriented Focus is on high business value Fast deliveries Continuous improvement Differences Lean is based on a struggle for Toyota s survival. Agile, however, is based on a reaction to inefficient methods that were used in many IT projects. Lean is more about productivity and streamlining the workflow. Agile is more about adaptability. Lean is more scalable and has proven successful in processes other than just software development. Lean in software development has a wider range than Agile. Lean spans from the customer s vision of the system, to project approval, staffing collecting of user requests, development, maintenance, support, training informing etc. Agile on the other hand is more focused on the project phase. 9 Conclusion The facts box to the left sums up the similarities and differences between Lean and Agile. Even if there are differences between Lean and Agile we can conclude that they are closely tied and complete each other. What connects them the most is that they are both based on radical improvement of traditional methods to achieve highly productive software development. This kind of productivity is ultimately about (more often) doing the right things the right way
References 10 Untangling LEAN: By Krister Kauppi, coach and consultant at Elicit http://www.lean.org/whatslean/ http://www.elicit.se/wp-content/uploads/2010/08/elicit_untangling_lean_and_agile.pdf http://www.hackerchick.com/2012/01/agile-vs-lean-yeah-yeah-whats-the-difference.html http://agilemethodology.org/