Lean Software Development Nathan Decker February 4, 2010.

Slides:



Advertisements
Similar presentations
CAPA is Lean p Toyota mantra: People + Brilliant processes = Amazing results Always: Add value Smooth flow Pull not push Make decisions slowly,
Advertisements

A Brief Introduction to Lean Concepts for the Office Bill Motley, CEM, CQMgr, PMP Program Director, Production, Quality & Manufacturing Curricula Development.
02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,
Test Automation Success: Choosing the Right People & Process
Developing Lean Process Strategies That Work Randy Benson, Ph.D. Executive Director, RHQN.
SDLC – Beyond the Waterfall
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
AgileMan Consulting So what the heck is Agile? It came about as a response to the high failure rate of software projects (> 60%), where failure means late,
Presents Establishing a Lean Quality Approach to Denial and Appeal Management.
© conchango Agile Architecture Microsoft Architect Insight Conference Howard van Rooijen
Agile-Scrum in QA – Case study at TraderTools Amitay Itskovitch TraderTools LLC QA Manager Phone: ,
JIT, TPS, and Lean Operations
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
The Challenge to Survive in Today’s Software Development Environment Evaluating the Agile Methodology.
Iterative development and The Unified process
Lean Software Development
© AgiliX Agile Development Consulting Agile Demystified Cesario Ramos.
Basics of Lean How to See and Eliminate Waste Slides courtesy of Doug Fingles, MERC.
The Value of Lean Thinking Presented by: Brian D Krichbaum Process Coaching Incorporated.
Continuous improvement is about removing stuff that get in the way of your things working well. Lean Thinking.
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
Linda M Cook Bio  Lean/Agile Coach at Fortune 500 Companies, focused in Financial Services Sector  Certified Scrum Master 2003  Advanced Scrum Master.
Software SYSTEMS DEVELOPMENT
Introduction To Lean Software Development And Value Stream Mapping
LeanSigma ® Fundamentals Module 2 – Time-Based Strategy & LeanSigma Execution.
Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
Agile Software Development Brian Link
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Value Analysis/ Flow Analysis
Process Improvement An Overview of Lean Agenda: The origin of Lean
New Directions Learning & Development  All Rights Reserved. Lean Your Library: How Lean Six Sigma Strategies Can Improve Operations.
Using Lean Principles to Eliminate Proposal Waste
Are You People Ready for Lean? Presented by Doug Howardell.
JUST IN TIME Operational Systems for Manufacturing… JIT and Lean Production.
1 4-Oct-15©Sprick, Stegall & Associates, LLC Selected Bibliography 1. Balle, Freddy and Michael Balle. The Gold Mine: A Novel of Lean Turnaround. Lean.
Lean Production The elimination of waste in the production process.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
© 2007 BigVisible Solutions, Inc. All Rights Reserved Training Solutions Agile Training Game v
Bringing Sense, Sensibility, and Sanity to projects.
PROJECT NAME EMPIRE BELT(S) Month Day, Year. 2 Agenda Lean Overview Introduction to the Project & Team The Process Next Steps.
Softec 2011 Kuala Lumpur, Malaysia Gary A. Gack
Shelve more with less – with Lean Nancy Kress University of Nevada Las Vegas.
Lean Software Development (Can Çetin)
Application of Lean in IT/ITES
Lean Manufacturing. Why do this? Lets look at jobs on Monster.com that refer to Lean - ployer/?WT_srch=1&s_kwcid=job%20ope.
10 key principles of agile software development
Evan Leybourn STARTING WITH VSM & KANBAN A practical workshop on value stream mapping & WIP Starting with Value Stream Mapping and Kanban by Evan Leybourn.
Central Massachusetts Regional Library System Libraries and Lean Thinking An Overview / Workshop May 11, 2009.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
Agile Manifesto Values. Agile Manifesto - Values In 2001, a group of expert software development professionals met to agree on a common set of guiding.
1 Requirements Engineering for Agile Methods Lecture # 41.
Top lean six sigma consulting strategies for businesses Lean Six Sigma Manufacturing Consulting By: Group50.com.
Steve Lundquist, PMP, M.Sc..  As a PMP certified program manager, there are numerous tools, processes, methodologies, and tricks that are available to.
Applying Lean Principles in Warehouse Operations
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Leveraging Technology and Process Optimization Ivan Nedovba Manager - Revenue Cycle.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Group 6 : - Yesika Kristina Dea Pradana D Sukianti Merianti Meshiya Caterlee
Lean Manufacturing. Lean Enterprise - A business system for organizing and managing product development, operations, suppliers and customer relations.
Lean Manufacturing Series
Continuous Delivery- Complete Guide
Welcome to my presentation
Agile Process: Overview
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

Lean Software Development Nathan Decker February 4, 2010

Overview  What is lean development?  The basics of lean development  Origins of lean software development  Principles of lean software development  Recap  References

What is lean development?  Implementation of lean manufacturing principles into a software development model  Goal : Reduce the waste in a system and produce a higher value for the final customer

What is lean development?  Similarities to Agile Development  Agile Manifesto refresher: Developers shall value  Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over customer negotiation  Responding to change over following a plan  Based on, yet a basis for Agile projects

Basics of Lean Development  Muda  Any activity that uses of resources, but adds no value  Examples of waste  Partially done work  Extra processes  Defects

Basics of Lean Development  Value  What the customer wants the product to do  45% of all software features go unused  What do customers really need?

Basics of Lean Development  Value Stream  All actions required to bring project from creation to completion  Types of actions  Add value  No value added, but unavoidable  No value added, avoidable

Basics of Lean Development  Flow  Product is in motion at all time  Compare this with a classic batch + queue methodology  Which is more efficient?

Basics of Lean Development  Pull  No product is made until the customer requests it  Requires a process that flows  Pros:  Correct number of items every time  Easier to customize products  Cons:  No inventory to draw from

Basics of Lean Development  Pursuit of perfection  After a project flows… keep improving it  Long-term improvement and short-term improvement  Luckily, perfection is not a reachable goal!

Origins of Lean Software Development  Lean development at Toyota  Original author : Taiichi Ohno  Inventor of Just-In-Time manufacturing  “Costs do not exist to be calculated. Costs exist to be reduced.”  Taiichi Ohno  Implementation at Toyota  Lean vs Batch and Queue

Origins of Lean Software Development  Adapted by Mary and Tom Poppendieck  Lean Software Development: An Agile Toolkit 

Lean Software Development  Lean applied to software  Iterative cycles  Feedback vs Forecast  Essentially, an implementation of the Agile Manifesto  Based off and a basis

Principle 1: Eliminate Waste  Remove all wastes that add no value to project  Three types of waste  Waste in code development  Waste in project management  Waste in workforce potential

Wastes in Code Development  Partially completed work  Can become outdated and unusable  Solution: Iterative cycle with modular code  Defects  Correction and retesting  Solution: Up-to-date test suite, customer feedback

Wastes in Project Management  Extra processes  Wasteful/ Unnecessary documentation  Solution: Documentation review  Code Handoffs  Loss of knowledge  Solution: Don’t handoff code  Extra Functions  The customer doesn’t want or need a feature  Solution: Continuous interaction with customer

Wastes in Workforce Potential  Task Switching  The danger of multi-tasking  Solution: Focus on a task each release  Waiting for instructions or information  Developers are too expensive to be sitting around!  Allow developers to make decisions, access to information

Principle 2: Amplify Learning  Learning is not compulsory... neither is survival.  Deming  Full knowledge is impossible, need to learn as project is developed  The customer should be learning too!

Principle 2: Amplify Learning  Use the scientific method  Create hypothesis  Conduct rapid tests of possible solutions  Compare results  Implement the best solution  Also used: Six Sigma  Lean Six Sigma / Six Sigma with lean

Principle 3: Delay Commitment  Decisions are often made on incomplete or incorrect information  Delay until the last responsible moment  Benefits:  More knowledge for decision  Leave options open

Principle 4: Empower the Team  Make decisions as “low” as possible  Shift from complete documentation to goals and guidelines  Developers closest to code know the problem best  Developers can get feedback for personal improvement  Developers must be experienced in domain  “The best executive is one who has sense enough to pick good people to do what he wants done, and self-restraint enough to keep from meddling with them while they do it.”  Theodore Roosevelt

Principle 5: Deliver Fast  Customers change their mind.  Solution: Deliver so fast, they don’t have time to!  Short release cycles  About two weeks  Requirements:  Don’t overload developers with requests  No partially completed work

Principle 5: Deliver Fast  Doesn’t fast delivery lead to hasty, buggy code?  Don’t confuse speed with rushing to get something done on time!  Speed vs Schedule  Flowing processes  Development  Knowledge gathering

Principle 6: Build Integrity In  Perceived Integrity  Does exactly what the customer wants, even if they don’t know it yet  Again, continual interaction with the customer  Conceptual Integrity  The product works smoothly and functions well

Principle 7: See the whole  Optimize the entire product, not just parts  Short delivery cycles can lead to optimized parts, sub optimized whole  Don’t worry about scope!  By focusing on what customers want, scope will handle itself  Don’t have customer overestimate what the product will do

Recap  Lean development is focused on removing waste from a system and improving value for the customer  Principles of Lean software development  Eliminate Waste  Amplify Learning  Delay Commitment  Empower the Team  Deliver Fast  Build Integrity in  See the whole

References  [1] Poppendieck.llc Retrieved from [2] Womack, J.P., & Jones, D.T. (2003). Lean thinking: banish waste and create wealth in your corporation, revised and updated. New York: Free Press. [3] Womack, James, & Jones, Daniel. (2005). Lean solutions: how companies and customers can create value and wealth together. New York: Free Press. [4] Ødegård, F. (2007). Lean execution: six questions for software executives. Retrieved from %20Six%20Questions%20for%20Software%20Executives.pdf [5] Middleton, Peter, & Sutton, James. (2005). Lean software strategies. Productivity Pr. [6] Poppendieck, Mary, Poppendieck, Tom. (2002). Agile software development ecosystems. Addison-Wesley Professional.

References  [7] Poppendieck, Mary. (2003, Fall). Lean software development. C++ Magazine, methodology issue, Retrieved from [8] Poppendieck, Mary. (2007, May). The Challenges of bringing lean to software development. Retrieved from [9] Poppendieck, Mary. (2001, May). Lean programming. Software Development Magazine, Retrieved from [10] Manifesto for agile software development. (2001). Retrieved from [11] Poppendieck, Mary. (2002). Principles of lean thinking. Retrieved from [12] Ophir, Eyal, Nass, Clifford, & Wagner, Anthony D. (2009). Cognitive control in media multitaskers. Retrieved from