Lean Software Development (Can Çetin)

Slides:



Advertisements
Similar presentations
ATMAN HB summary seminar # Challenges 2 ATMAN project 9/17/2010.
Advertisements

CAPA is Lean p Toyota mantra: People + Brilliant processes = Amazing results Always: Add value Smooth flow Pull not push Make decisions slowly,
02 | Define an Effective End-to-End Software Development Lifecycle Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant,
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Introduction to Lean. Benefits of Lean Why go Lean? Improvements in: –Customer service –Quality and efficiency –Staff morale –Internal communication and.
SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
Steve Collins Richland County IT Manager Agile.  Have Fun  Learn About Agile  Tell Some Stories.
An introduction to Lean tools and methodologies
NAUG NAUG Knowledge Evening – th February 2007.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
JIT, TPS, and Lean Operations
Software Life Cycles ECE 417/617: Elements of Software Engineering
Just-In-Time and Lean Systems
Operations Management Just-in-Time Systems Supplement 12
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.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
S12-1 Operations Management Just-in-Time and Lean Production Systems Chapter 16.
Lean Software Development Nathan Decker February 4, 2010.
Benefits of Lean Manufacturing: To benefit from Lean Manufacturing, the processes must be maintained consistently and correctly. Everyone involved must.
LEAN MANUFACTURING Jason Prior. Introduction to Lean  Overview of Lean in Toyota video.video  Main Concept: ELIMINATING WASTE  Not an acronym  Not.
If Agile had Oscars, which of its principles would qualify as “leading” vs “supporting?” David Greene BEFORE THE TALK:
Lean Culture and Procurement October 29, 2013 Renee Smith Nyberg Process Improvement Program.
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
© ABSL Power Solutions 2007 © STM Quality Limited STM Quality Limited Introduction to Lean Manufacturing TOTAL QUALITY MANAGEMENT Lean Manufacturing.
Lean Principles, Agile Techniques and Team System Joel Semeniuk Imaginet Microsoft MVP – Team System Microsoft Regional Director.
Kanban “Signboard”.
How Team-Oriented Problem Solving Unleashes Workforce Creativity Gerard M. Cronin Kaizen Promotion Office Manager Massachusetts General Hospital CCM Vivarium.
ITEC 370 Lecture 27 Life-cycles(3). Life-cycles Review Questions? F give update on project (demo optional) Case study –Actual focus of project (long/short.
Agile Software Development What is Agile? And How are we implementing Agile?
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Building a new HMS from scratch Bite size software delivery Richard Troote Alex Stephenson Head of ICT Head of Property Services.
The Successful Business Analyst’s Role in the Scaled Agile Framework®
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
1 The Application of Industrial Production Techniques to Health Care Delivery Summary of notes Pittsburgh Regional Healthcare Initiative: Perfecting Patient.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
1 Employability skills (a) Employers value people who: fit well into their team and workplace use initiative to solve routine problems work productively.
CS3100 Software Project Management Agile Approaches.
When you are Agile you get Lean How Agile reduces waste in software develpment.
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Kaizen Eventing: The process of observation and the elimination of waste in a process.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
© The McGraw-Hill Companies, Inc., Just-in-Time and Lean Systems.
Application of Lean in IT/ITES
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Evan Leybourn STARTING WITH VSM & KANBAN A practical workshop on value stream mapping & WIP Starting with Value Stream Mapping and Kanban by Evan Leybourn.
Yeah but.. What do I do? Software Leadership Dan Fleck 2007.
It’s Agile …. like! A Corkman’s introduction to Agile software delivery.
Central Massachusetts Regional Library System Libraries and Lean Thinking An Overview / Workshop May 11, 2009.
Just In Time ….. Just in Time Philosophy Salient features  The notion of waste in any operating system  JIT as a philosophy of elimination of waste.
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
Kanban Advanced Software Engineering Dr Nuha El-Khalili.
Productive and Lean Improvement Initiatives Team Champions Training 26 th July, :00 – 13:00 Parkland Hospital.
Beginning Software Craftsmanship Brendan Enrick Steve Smith
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Presented By : Prima Business Solutions. Agile Software Development Process.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Introducing an Agile Process to an Organization By Mike Cohn and Doris Ford IEEE Computer.
Sample Wiki Comments?.
Software Development methodologies
Real Metrics for Real Decisions
Agile Fundamentals Logo Here.
Welcome to my presentation
Using Kanban Techniques to Control Incremental Development
Scott VandenElzen Kanban Scott VandenElzen
International Institute of Business Analysis
Presentation transcript:

Lean Software Development (Can Çetin) Mary Poppendieck, Poppendieck.LLC Michael A. Cusumano, Massachusetts Institute of Technology

What is Lean? Toyota’s production line. Not a short story…

KEY TENETS Eliminate Waste Optimize the Whole Build Quality In Learn Constantly Deliver Fast Engage Everyone Keep Getting Better

Eliminate Waste Over-production Unnecessary transportation Inventory Motion Defects Over-processing Waiting

Eliminate Waste unnecessary code or functionality starting more than can be completed delay in the software development process unclear or constantly changing requirements bureaucracy slow or ineffective communication partially done work defects and quality issues task switching

Waste Things that does not add value to the customer is waste. Bugs are waste. So Logging bugs are waste? If your first aim produce bug free product.

Eliminate Waste

Optimize the Whole Think big, act small, fail fast; learn rapidly A customer wants some new features ‘yesterday’. Developers hear: get it done fast, at all costs! Result: sloppy changes are made to the code. Complexity of the code base increases. Number of defects in the code increases.

Optimize the Whole Testing is overloaded with work. Result: testing occurs a long time after the code is originally written, or testing is reduced. Developers don’t get immediate feedback, or some things are not properly tested. There are more defects in the code. Testers have more work. Feedback to developers and quality improvements are delayed further.

Optimize the Whole A lean organisation seeks to optimise the whole value stream, not just individual functions or teams. Cost of early vs late fixing.

Defer Commitment is decide as late as possible, particularly for decisions that are irreversible, or at least will be impractical to reverse. In areas of complexity or uncertainty, where things are very likely to change, this is especially important. Options have the value if the future is uncertain*.

Build Quality In waste in testing the code more than once. waste in logging defects. waste in fixing them. Automated testing frameworks are currently the most common technique used to implement the lean principle of building quality in.

Story How I stopped logging bugs and started living happy http://mysoftwarequality.wordpress.com/category/lean-software-development/

Learn Constantly Pair Programming Code reviews Documentation Wiki – to let the knowledge base build up incrementally Thoroughly commented code Knowledge sharing sessions Training Use tools, such as tinyPM, to manage requirements/User Stories WIP role changes

Deliver Fast Is it Funny? Rules Have the Right People (Thinking people) Keep It Simple (Just simple) Work as a Team If I deliver fast, I will expose errors to the production? Eliminate Waste Build Quality In

Deliver Fast many lean development environments, production releases occur frequently weekly, daily, even continuously.

Engage Everyone With same respect, CEO, a developer, project manager, the receptionist or the cleaner, respect everyone equally. Empathy Responsibility Problems Without losing control of the outcome?

Engage Everyone(Possible Problems) People who can think for themselves and are experts in their area often need to be empowered to feel respected.

Engage Everyone(Possible Solution) How do you empower people enough, without losing control of the outcome? One way is to make sure that the empowered person still communicates about their intended approach, and why they think it’s the best approach. Then there is a chance to discuss pros and cons and understand why the person wants to take that particular decision. Questions can be asked to challenge whether or not someone has thought something all the way through, but can be asked in such a way to establish and maybe extend their own thinking, not to take over the solution or take the decision away from them, leaving them feeling disempowered and not in control.

Keep Getting Better improve constantly

JIT – JIC Pull & JIT Push & JIC WALMART vs MC Donalds Ford JIC based on Estimation JIT On demand

PUSH VS PULL Ford Australia (produce when “ordered/demand” not before)

PUSH strategy 1)Applied to that portion of the supply chain where demand uncertainty is relatively small 2)Production and distribution decisions are based on long term forecasts Inability to meet changing demand patterns Large and variable production batches (miss opportunity) Excessive inventories due to the need for large safety stocks

Pull strategy Applied to that portion of the supply chain where demand uncertainty is high Production and distribution are demand driven No inventory, response to specific orders Decrease in lead time

KANBAN When slot is free, alert.

KANBAN When slot is free, alert. WIP CONWIP

Lean Priciples optimize the whole, eliminate waste, build quality in, learn constantly, deliver fast, engage everyone, and keep getting better.

XP & Lean Test-Driven Development TDD Specification By Example (SBE) Dehavior-Driven Development (BDD) Automated testing frameworks are currently the most common technique used to implement the lean principle of building quality in

Scrum & Lean Incremental delivery

Scrumban board

Lean Startup* Eric Ries Split testing Continous deployment MVP NeedFeed (invalidated work) Rent a coder Fake facebook 47 of 50 disliked.