Lean Software Development



Similar documents
The Agile Business Analyst: Eyes for Waste By Ellen Gottesdiener Copyright EBG Consulting, Inc., 2009 EBG Consulting, Inc.:

When agile is not enough

Applying Lean on Agile Scrum Development Methodology

Scaling Agile with the Lessons of Lean Product Development Flow Copyright 2012 Net Objectives, Inc. All Rights Reserved

Lean Agile Scrum Business Value Development and Delivery using Agility. Brenden McGlinchey Software Done Right, Inc.

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

How Product Management Must Change To Enable the Agile Enterprise

Lean Software Development and Kanban

Agile and lean methods for managing application development process

Lean Software Development

MTAT Software Engineering

Applying Agile Project Management to a Customized Moodle Implementation

Introduction to Agile and Scrum

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

Lean and Kanban at Scale Extending Kanban across the portfolio, program and team levels. Al Shalloway, Net Objectives. September 4 th, 2014

VISUAL REQUIREMENTS MANAGEMENT WITH KANBAN. Mahesh Singh Co-founder/ Sr. VP Product, Digite, Inc.

The Lego Lean Game. Danilo Sato, Francisco Trindade XP 2009 Sardinia - Italy. 25 th May 2009

Scrum vs. Kanban vs. Scrumban

Agile and lean methods for managing application development process

Agile Testing. What Students Learn

Introduction to Software Kanban

Scrum and CMMI Level 5: The Magic Potion for Code Warriors

Lean vs. Agile similarities and differences Created by Stephen Barkar -

An Introduction to Continuous Delivery

Agile Software Development

Leading Continuous Improvement in Established Agile Organizations

Scrum Is Not Just for Software

Nationwide Application Development Center

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

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

Quality Assurance in an Agile Environment

Lean Development A team approach to Software Application Development

Going Lean the ERP Way

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

Chapter 6. Iteration 0: Preparing for the First Iteration

Lean and Agile in Safety-critical Software Development Research and Practice. Henrik Jonsson

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

Software Engineering I (02161)

Software Development Life Cycle (SDLC)

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

Agile Project Management

Agile : Today and Tomorrow. presented by Rick Freedman Director, Project Management Adams Gabbert

Brent Atkins, Cris Hadjez An Agile BI Approach: Mead Johnson Uses Better Data to Push Boundaries and Increase Customer Value Session # 3544

Integrating Scrum with the Process Framework at Yahoo! Europe

LEAN SOFTWARE DEVELOPMENT ( As a Survival Tool in Recession )

Lean Metrics How to measure and improve the flow of work. Chris Hefley, CEO of LeanKit. November 5 th, 2014

The Co-Evolution of Agile and Continuous Integration. Jeffrey Fredrick Technical Evangelist

Continuous Delivery. Jez Humble, ThoughtWorks #continuousdelivery DevOpsDays, Hamburg

Agile with XP and Scrum

Release Notes Applied SAFe 4.0

Ensuring Reliability in Lean New Product Development. John J. Paschkewitz, P.E., CRE

Getting Started with Agile Project Management Methods for Elearning

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

Custom Software Development Approach

It s Not Called Continuous Integration for Nothing!

In today s acquisition environment,

Scaling Agile Is Hard, Here s How You Do It!

Agile Project Management

LEAN AGILE POCKET GUIDE

Kanban: Naturally suited for Enterprise Adoption

Lean Software Development

Lean Silver Certification Blueprint

Lean and Agile Development With Scrum (Part 2) Lucio Davide Spano

Best Practices in Release and Deployment Management

Agile Software Development Methodologies and Its Quality Assurance

Test Automation: A Project Management Perspective

Course Title: Managing the Agile Product Development Life Cycle

Waterloo Agile Lean P2P Group

Agile Testing Overview

agenda AGILE AT SCALE

Teaching an Elephant to Dance. Patterns and Practices for Scaling Agility

Agile Systems Engineering: What is it and What Have We Learned?

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Scaling Spotify

Continuous Delivery Workshop

Software Development Methodologies

Agile development of safety-critical software while meetings standards' requirements

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012

Introduction to Agile Methods

Scrum: A disciplined approach to product quality and project success.

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries

Agile support with Kanban some tips and tricks By Tomas Björkholm

Continuous Delivery. Martin Fowler, Jez Humble YOW! Brisbane, 5 December Wednesday, December 7, 11

Issue in Focus: Integrating Cloud PLM. Considerations for Systems Integration in the Cloud

Commercialization Life Cycle

Developing a Formidable Business / Continuous Improvement Methodology in Africa. By: Frederick O Popoola

SCM & Agile Business Intelligence. Anja Cielen

Transcription:

Lean Software Development Alexandre Boutin Responsable Stratégie International Développement Logiciel chez Yahoo Scrum Master & Practitioner Certifié Coach Agile Blog : www.agilex.fr Président du Club Agile Rhône Alpes

Agenda Overview Lean Software Development The 7 Lean Principles Eliminate Waste Improve the system Build Quality In Defer Commitment Deliver Fast Respect People Create Knowledge - 2-2

Overview - LEAN LEAN, at its core, is a management approach for streamlining production systems by Streamlining the value chain (even across companies) Eliminating waste from the flow Being disciplined about when decisions are made Leveraging people as the most flexible resource in the system, LEAN offers a set of tools to challenge our beliefs and find better way to deliver product Mary and Tom Poppendieck have transferred principles and practices from the manufacturing environment to the software development Mary said: There is nothing directly relating the LEAN and AGILE concepts, yet they fit together nicely in a software organization. - 3-3

Agenda Overview Lean Software Development The 7 Lean Principles Eliminate Waste Improve the system Build Quality In Defer Commitment Deliver Fast Respect People Create Knowledge - 4-4

The Seven Wastes The Seven Wastes of Manufacturing - Shigeo Shingo 1. Inventory 2. Overproduction 3. Extra Processing 4. Motion 5. Transportation 6. Waiting 7. Defects The 7 Wastes of software Development 1. Partially Done Work 2. Extra Features 3. Extra Processes 4. Task Switching 5. Handoffs 6. Delays 7. Defects Principle 1: Eliminate Waste - 5-5

Extra Features Features and Functions Used in a Typical System Often or Always Used: 20% Sometimes 16% Rarely 19% Often 13% Never 45% Always 7% Standish Group Study Reported at XP2002 by Jim Johnson, Chairman Rarely or Never Used: 64% Principle 1: Eliminate Waste - 6-6

Value Stream Mapping Example 1 week 1 week 6 weeks working together Principle 1: Eliminate Waste - 7-7

Agenda Overview Lean Software Development The 7 Lean Principles Eliminate Waste Improve the system Build Quality In Defer Commitment Deliver Fast Respect People Create Knowledge - 8-8

Brilliant Products Breaking the Customer / Supplier model The job that customers need done Mind Meld The right technology to do that job Understands The Business Understands The Technology Principle 2: Improve the system - 9-9

Think Products, not Projects Up-front funding Scope fixed at onset Success = cost/schedule/scope Team disbands at completion Documentation tossed over-the-wall to maintenance Projects Start of Project Completion Maintenance Incremental funding Scope expected to evolve Success = profit/market share Team stays with product Team uses its own documentation Principle 2: Improve the system Products Concept Internal Release Feasibility Alpha Release - 10 - Beta Release Dot upgrade First Production Release Major Release System Thinking 10

Architecture The Role of Systems Design (Architecture): Provide a foundation for growth Create a common infrastructure Enable incremental development Minimize dependencies Modularize potential change Create space for teams to innovate Design, code and test are different aspects of the same job and must be done concurrently Leave room for the future Evolve the architecture over time Principle 2: Improve the system - 11-11

Agenda Overview Lean Software Development The 7 Lean Principles Eliminate Waste Improve the system Build Quality In Defer Commitment Deliver Fast Respect People Create Knowledge - 12-12

Continuous Integration Every few minutes Check in code, build and run unit tests Every day Run acceptance tests Every week Run more complete test suites Every iteration Deployment-ready code Every Release Deploy and run in production Principle 3: Build Quality In - 13-13

Technical Debt Anything that makes code difficult to change increases the Technical Debt Complexity The cost of complexity is exponential. Regression Deficit Every time you add new features the regression test grows longer! Unsynchronized Code Branches The longer two code branches remain apart, the more difficult merging will be. Low Technical Debt High Technical Debt You can pay full price for code when you build it or you can incur technical debt. But interests rates are very high. Principle 3: Build Quality In - 14-14

Testing contribution to quality Two Kinds of Inspection Inspection to Find Defects is WASTE Inspection to Prevent Defects is Essential The Role of Testing The job of Testing is not to find defects The job of Testing is to prevent defects. A quality process builds quality into the code If you routinely find defects during verification Your process is defective. Principle 3: Build Quality In - 15-15

Agenda Overview Lean Software Development The 7 Lean Principles Eliminate Waste Improve the system Build Quality In Defer Commitment Deliver Fast Respect People Create Knowledge - 16-16

Change Tolerant Software 60-80% of all software is developed after first release to production. A development process that anticipates change will result in software that tolerates change. System architecture should support the addition of any feature at any time Make decisions reversible whenever possible. Make irreversible decisions as late as possible. Ex: When do you really need the user interface designed? Principle 4: Defer Commitment - 17-17

Set-Based Engineering Point-Based Developers Set-Based Design Solution Architect Modify Analyze & Critique Testers UI Designers Product Manager Business Logic Approaches Accept able GUI Alternatives Technical Capabilities Multiple options are prepared for the decision. There is always an option that will work. Paradox: This is not waste! Principle 4: Defer Commitment - 18-18

Agenda Overview Lean Software Development The 7 Lean Principles Eliminate Waste Improve the system Build Quality In Defer Commitment Deliver Fast Respect People Create Knowledge - 19-19

Push vs Pull Principle 5: Deliver Fast - 20-20

Iterative Development SCRUM KANBAN - 21-21

Agenda Overview Lean Software Development The 7 Lean Principles Eliminate Waste Improve the system Build Quality In Defer Commitment Deliver Fast Respect People Create Knowledge - 22-22

Environment A TEAM - 23-23

Provide Effective Leadership Marketing Leader Business Responsibility Customer Understanding Roadmap Planning Tradeoffs Technical Leader System Architecture At a high level Work daily with those developing the details Technical Guidance Integration Tradeoffs Process Leader Build Block Disciplines Iterative Development Visible Workspace Project Leader Funding (Scheduling) Tracking Functional Leader Staffing Teaching Standards Principle 6: Respect People - 24-24

Agenda Overview Lean Software Development The 7 Lean Principles Eliminate Waste Improve the system Build Quality In Defer Commitment Deliver Fast Respect People Create Knowledge - 25-25

Predictable performance is driven by feedback Set Up the feedback Loop The job that customers need done The right technology to do that job Do it often and regularly Stop asking for Understands The Business Mind Meld Understands The Technology More documentation, more details in requirements, more plans, more commitments Deliver! Prototype, Minimum Features set, Draft document Then ask for Feedback Principle 7: Create Knowledge - 26-26

Capturing Knowledge The A3 Report Two sheets of letter paper Standards 1 A4 page Principle 7: Create Knowledge - 27-27

Thank You!