www.stephenbarkar.se Lean vs. Agile similarities and differences 2014-08-29 Created by Stephen Barkar - www.stephenbarkar.se



Similar documents
The Basics of Scrum An introduction to the framework

Agile Projects 7. Agile Project Management 21

Lean Software Development and Kanban

LEAN AGILE POCKET GUIDE

Review of Software Development Methodologies Used in Software Design

Agile and lean methods for managing application development process

Getting Started with Agile Project Management Methods for Elearning

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

Agile Software Development

Introduction to Agile and Scrum

Agile software development

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

Agile Project Management By Mark C. Layton

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

What is meant by the term, Lean Software Development? November 2014

Governments information technology

Agile and lean methods for managing application development process

How to manage agile development? Rose Pruyne Jack Reed

MTAT Software Engineering

Agile Project Management

Development. Lecture 3

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Agile Development for Application Security Managers

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson

Agile Overview. 30,000 perspective. Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013

Adapting Agile Software Development to Regulated Industry. Paul Buckley Section 706 Section Event June 16, 2015

Software Development with Agile Methods

Quality Assurance in an Agile Environment

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Lean Development A team approach to Software Application Development

Role of Agile Methodology in Software Development

Supporting Lean Maintenance

Agile Beyond The Team 1

Becoming Agile: a getting started guide for Agile management in Marketing and their partners in IT, Sales, Customer Service and other business teams.

LEAN SOFTWARE DEVELOPMENT ( As a Survival Tool in Recession )

White Paper. Process Improvement

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Agile for Project and Programme Managers

Scrum vs. Kanban vs. Scrumban

Software Processes. Agile Methods

Role of the Business Analyst in an Agile Project

Agile Development Overview

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

Managing TM1 Projects

The Need for Lean Training

Course Title: Managing the Agile Product Development Life Cycle

AGILE vs. WATERFALL METHODOLOGIES

Information Management for National Guard Agribusiness Development Teams: An Agile Development Case Study

Waterfall vs. Agile Methodology

Strategy. Agility. Delivery.

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

Computer Science Department CS 470 Fall I

ARTICLE IN PRESS. LeanThinking. journalhomepage: Driving Value in The Upstream Chain Management Through Lean Principles

THE AGILE WATERFALL MIX DELIVERING SUCCESSFUL PROGRAMS INVOLVING MULTIPLE ORGANIZATIONS

Risikominimering I IKT-prosjekter - experiences from the Danish Government

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

COMP 354 Introduction to Software Engineering

D25-2. Agile and Scrum Introduction

Introduction to Enterprise Agile Frameworks

To the point. a recipe for creating lean products. Paulo Caroli. This book is for sale at

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Scale your product NOT your Scrum

Getting Started with Kanban Paul Klipp

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game. July Developed and sustained by Ken Schwaber and Jeff Sutherland

The Agile Manifesto is based on 12 principles:

Taking the first step to agile digital services

Lean, Six Sigma, and the Systems Approach: Management Initiatives for Process Improvement

Understanding Agile Project Management

Agile Project Management with Scrum

The style is: a statement or question followed by four options. In each case only one option is correct.

Agile Project Management: Best Practices and Methodologies

Introduction to Agile Software Development

Business Analysts in an Agile World. Christian Antoine

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

More important than ever: The Business Analysts role in Agile software development

Agile Software Development in the Large

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Lean Software Development

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Software Requirements and Specification

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

In today s acquisition environment,

Scrum and Kanban 101

Five Tips to Achieve a Lean Manufacturing Business

PPM and Agile: Realizing the Best of Both Worlds

CREATING A LEAN BUSINESS SYSTEM

TPMG. Education. Lean. Transformation In Healthcare. Onsite Training: Executive Champion Workshop. Establish a Culture of Continuous Improvement!

APPLICATION OF KANBAN SYSTEM FOR MANAGING INVENTORY

Transcription:

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/