Agile & Lean / Kanban

Similar documents
KANBAN EXPLAINED Seeing the Constraints

Agile Program Development. Agile Manifesto 9/3/2013. What is Agile Development? 12 Principles of Agile Development 1 of 4

Agile 101. Brent Hurley Chief Problem Solver Gira Solutions. Values, Principles

Agile Software Development in a Regulated Environment. Natalie Custer

Lean IT Opex in the Clouds August 16, 2017 Sudhagar Raghavan

Agile. How would you implement agile methodologies and tools for web projects? What do you see as the benefits and challenges to doing this?

ONE! TEAM! 2010, Nick Athanassiadis. All rights reserved.!

CS314 Software Engineering Project Management

MIS Systems & Infrastructure Lifecycle Management 1. Week 10 March 24, 2016

Russell Pannone February 10, 2009

AGILE SOLUTIONS. Agile Basics

Agile at Scale -Beyond SAFe. John B Hudson, B.Sc., PMP, ACP, CSM, SPC

Knowledge Understanding. Knowledge Understanding: An Agile Journey 11/30/2017

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

Agile Projects 7. Agile Project Management 21

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development

8 th of April 2015 Bucharest, Romania Vlad Gabriel Sorin Agile PM/Scrum Master

Processes and Life- Cycles. Kristian Sandahl

Certified Scrum Developer Program Introduction presented by. Copyright Davisbase LLC

Agile QA s Revolutionary Impact on Project Management

Step 1. Empty your cup...


AGILE MYTH BUSTERS- THAT S NOT AGILITY!

INTRO TO AGILE PRESENTED BY. Copyright Davisbase LLC

Processes and Life- Cycles. Kristian Sandahl

Why agile? Principles and Values to Change our Perspective of the World SOFIA WOLOSCHIN ICA-ACC, CSM, PMI-ACP, PMP

Agile Development Methods: Philosophy and Practice. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed

Software Development Life Cycle

Scrum er ikke en religion

Agile/Lean & Safety: Perfect Match or Impossible Combination?

Agile Essentials Track: Business Services

Introduction to Disciplined Agile Delivery

Being Agile at a Small Agency How to Apply Agile Principles in a Not-So-Iterative Environment

Enterprise Agility starts with healthy teams. How healthy is YOUR Agile team?

Achieving Resiliency with Agile Methods

A philosophy first and methodology second

Kanban, Flow and Cadence

Agile Certified Professional

Scaling Agile. Theory and Practice. Bob

Session 11E Adopting Agile Ground Software Development. Supannika Mobasser The Aerospace Corporation

Agile Mindset (1/17/2019 for the Ocean State PMI)

04. Agile Development

CS 5704: Software Engineering

Certified Scrum Product Owner Course. Pre-Course Reading and Exercises

Application of Agile Delivery Methodologies. Bryan Copeland Energy Corridor Brown Bag Event August 31, 2016

Managing Requirements in an Agile World: Avoiding the Round Peg/Square Hole Dilemma

Agile Development Processes. CSCE Lecture 3-08/31/2017

Software Development Methodologies

Introduction. Agile overview. 12 Agile Principles

Callers are in a Listen Only Mode

User-centered System Design. Agile

Applying Agile Principles to Project Management. Tyler Monson PMP, CSM Hiren D. Vashi PMP, PMI-ACP, CSM, CSP

EVERYTHING YOU VE HEARD ABOUT AGILE DEVELOPMENT IS WRONG

Are we Agile Yet? Agile is NOT a Destination

Agile Culture Transformations from the Trenches

Challenges of Applying Conventional Software System Safety to Agile Software Development Programs

De-Mystifying Kanban:

SCEA 2010 EST06. Estimating Issues Associated with Agile Development. Bob Hunt Vice President, Services Galorath Incorporated

Build Agile Knowledge - Participate in a sprint!

Comparing Scrum And CMMI

HELP!!! THE SCRUM MASTER IS THE IMPEDIMENT!

Agile for Hardware Development

Architecting for Agility. William A. Estrem, Ph.D President

Feedback Loops. Effects (12) (13) Improve. (10) Visualize (4) (7) (12) (11) Lean. Improving Sustainably. See & Understand (WIP, Blocks, Queues)

The System Behind the Software

Waterfall Vs. Agile PM

Presented by Only Agile. What is Agile?

Agile for Hardware Development

BUILDING BUSINESS CAPABILITY 2017

AGILE DATA ARCHITECTURE CHEAPER, FASTER, BETTER AGILE DATA ARCHITECTURE SPRINTS: AGILE -VS- JAD 11/10/14. Agile! Full time co-location

Back to Basics Restoring Order to Software Development

Software Development: Theory and Exercises

THE COMPREHENSIVE FACTORS

PMI Agile Certified Practitioner (PMI-ACP) Duration: 48 Hours

Foundations of Software Engineering. Process: Agile Practices Michael Hilton

Are we measuring the right thing?

Introduction to Agile and Scrum

A Literature Review on Agile Model Methodology in software Development

Scaling Software Agility:

Agile Thinking. Petri Heiramo. Agile Coach, CST

Using Agile Software Development to Create an Operational Testing Tool

Data Driven

Mike Vincent. mvasoftware.net

INF5181: Process Improvement and Agile Methods in Systems Development

Kanban kick- start (v2)

AGILE methodology- Scrum

Scaled Agile Framework Making Agile Work for You. Clint Edmonson Principal Consultant Polaris Solutions Certified Safe Program Consultant (SPC)

Co-founder and Managing Director of RADTAC Specialist in Agile and Iterative approaches since mid 80s Agile Alliance Founder Member in 2002

Agile at Mid-Scale. Al Shalloway. Introducing FLow for Enterprise Transformations (FLEX)

Agile Manifesto Principles

AGILE BASICS. All slides copyright Philip Japikse

Scrum Intro What s in it for me?

Johanna Rothman. Chapter 1 Why Agile and Lean Approaches Work. Copyright 2017

The Stability States of Scrum: 2 Keys to Building High Performing Teams

Agile Development and Modern Computing Environments

Public Procurement Beyond Defined Scope: A Primer on the Opportunities and Challenges of Modular/Agile Procurement

Agile-ing Your TMF Using Software Development Methodology to Maintain Quality in the TMF

2. True or false: In Scrum all the requirements for the project are known prior to the start of development.

FIT2101 Software Engineering Process and Management

Lean Enterprise Portfolio Management

Transcription:

Agile & Lean / Kanban 0

What is Lean? 1

Agile Development Methods (Dogma) extreme Programming (XP) Scrum Lean Software Development Behavior Driven Development (BDD) Feature Driven Development (FDD) Crystal Clear Methodology DSDM Others: Test Driven Development (TDD), Model Driven Development (MDD), Rational Unified Process (RUP). 2

Lean Has History Standard software development practice for the last decade. Agile is the combination of principals that have existed for over 60 years. Lean Software Development exposes the pedigree of Agile. Almost all Agile practices can be traced back to Deming s System of Profound Knowledge and his 14 Points for Management. W. Edwards Deming Deming s System of Profound Knowledge: Deming advocated that all managers need to have what he called a System of Profound Knowledge, consisting of four parts: Appreciation of a system: understanding the overall processes involving suppliers, producers, and customers (or recipients) of goods and services (explained below); Knowledge of variation: the range and causes of variation in quality, and use of statistical sampling in measurements; Theory of knowledge: the concepts explaining knowledge and the limits of what can be known. Knowledge of psychology: concepts of human nature. Lean Lean Manufacturing Software Dev. Agile Quality Management (Six Sigma) 3

Agile Principals Communications Simplicity Feedback Courage Respect Visibility Honesty Realism Quality Lean Principals Optimize the Whole Eliminate Waste Create Knowledge Build Quality In Defer Commitment Deliver Fast Respect People 4

Eliminate Waste Everything not adding value to the customer is considered to be waste (Muda). This includes: Unnecessary code and functionality Delay in the software development process Unclear requirements Bureaucracy Slow internal communication 5

Create Knowledge / Amplify Learning Customer Feedback Short Cycle Times Refactoring Code Review Automated Test instead of documented defects. 6

Build Quality In Unit Test / TDD Automated Acceptance Tests Refactoring Pattern Based Development Continuous Integration 7

Defer Commitment Wait till the last Responsible moment to make an irreversible decision. Set Based Design Pursue multiple solutions eventually choosing the best one. Agile Version: Prioritize backlog, but don t commit more then one iteration at a time. 8

Deliver Fast Small Batch Sizes Short Iterations Feedback, Feedback, Feedback. Close Customer Collaboration Software Demos 9

Optimize the Whole Manage the Value Stream Look beyond the Development Team Standardize the process Efficiency vs. Effectiveness 10

Respect People Trust in people that they know the best way to do their jobs. Recognize Teams and Individuals for their effort and contribution People are not Resources Empower the team to make the right decisions and improve the process. 11

How Does Agile Fit? 12

The Agile Manifesto Agile Principals We are uncovering better ways of developing software... Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 13

Individuals & Interactions > Process and Tools We value communication and teamwork over strict processes and the tools to enforce them. Most software problems can be traced back to communication problems early on in a products lifecycle. Osmotic communication means that information flows into the background hearing of members of the team, so that they pick up relevant information as though by osmosis. 14

Working Software > Comprehensive Documentation Working Software requires just as much documentation as the customer needs. No More & No Less. 15

Customer Collaboration > Contract Negotiation Remove barriers between the developers and the customers. Understand that the closer the relationship between the customer and the development team the better the product. 16

Responding to Change > Following a Plan 17

Agile Principals Some of the principles behind the Agile Manifesto[6] are: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 18

Typical Agile Adoption 1. User Stories 2. Acceptance tests 3. Iterative Development 4. Burn Down Charts 5. Story Boards V.S. 6. Daily stand-ups 7. TDD / Unit Tests 8. Continuous integration Simple Lean Adoption 1. User Stories 2. Acceptance tests 3. Iterative Development 4. Burn Down Charts 5. Kanban Boards 6. Daily stand-ups 7. TDD / Unit Tests 8. Continuous integration 19

Kanban 20

Kanban Signboard or Billboard Kan means "visual," and ban, means "card" or "board Is a signaling system to trigger action Uses cards to signal the need for work to be done Another Toyota Lean lesson focusing on Just in Time production Example: 20 car doors, 5 left = time to make more doors Doors are requirements, requirements are inventory 21

3 Rules 1. Strict Queue Limits 2. Pull Value Through 3. Make it Visible Kanban Strict Queue Limits Pull Value Through Make it Visible 22

Example Development Boards 23

Example 2 24

Example 3 25

Work In Progress (WIP) Create Columns for Each Step in your process Pick Limits for Active Queues (team size divided by 2 or just be logical) Set Wait Queues to 2 or 3, keep small, Eliminate waste, get feedback FIFO If a slot is full, can t start more work (A.K.A. PULL) Team sets Queue sizes to be most efficient, experiment Designed to Limit WIP, More WIP means slower flow 26

WIP Visible feature goals to minimize thrashing MMF = minimal marketable feature or MUF = minimal usable feature Can Only reorder in Wait Queue to move MUF forward Put Team Signals/Rules Above WIP Queue & Cross Team Signals On Bottom Could add a Queue for External Team 3 Rules: Strict Limit, Pull Value, Visible 27

What Goes On A Card 28

Cycle Time / Throughput Goal is to get optimum flow How many days does it take to flow through the team once it enters the WIP? Keep a chart: Wait/Cycle Time for each card size Good teams/systems: XS to Medium cards, Large = Bad If 22 ~same size cards in WIP, track 22 as well Sum up unit value on each board Velocity is a trailing indicator Throughput is a measure of demonstrated capacity 29

Backlog Board 3 Queues to show priorities Set back log limit for each board to equal number of slots on WIP Make assumption relative sizes will be close Same number of items in WIP on each board (22 in this example) Add up the units to ensure they are close, move wait line if they are considerably (not marginally) off Can now forecast based on logical assumptions Schedule regular backlog honing meetings with customer, rules at top Trigger release planning meetings when necessary Card is a TOKEN, physical means real, avoid temptation to live by a tool 30

What s Changed: Optimize/Continuous Flow No Iteration Planning Meetings FIFO work order, don t sign up Cycle Time replaces velocity, always updated Signal Event Show & Tell RPM Scheduled Events Retrospectives Releases per MMF/MUF or Cadence 31

Agile & Lean 32

Scrum vs. Kanban Why do we really care? Agile Manifesto is about uncovering better ways of doing software not about one practice vs. another Principles Frequent Delivery does not mean you must do iterations Maintain a constant pace indefinitely (sustainable pace AND consistent pace?) 33

Daily Scrum/Standup Used to Be What did I do yesterday What am I going to do today Do I have any road blocks Could Now Be How are things flowing? Team stands and reviews the WIP Talk about blocks & constraints Downstream work is most important Take Turns with each person reading the flow 34

Agile & Lean Together 35

Agile & Lean Teams 1 Team Agile 2 Week Interations 1 Team Lean Kanban Coordination: Release on the Cadence 2 Weeks Separate Stand-Ups / Scrum of Scrums Rotating Testing & Verification Product Owners provide work to both teams based on criteria. Velocity, Lead Time & Cycle Time can all be coordinated. 36

Kaizen - Continuous Improvement 改善 Team retrospectives, Scrum of Scrums, Scrum Master Retrospectives Product Owner Retrospectives, Release Retrospectives The entire process of development at an Agile Enterprise should be regularly inspected and improved. The outcome of the PDCA process must include the Check and Act portions. 37