Enterprise Software Engineering & Software Engineering in the Enterprise. Kanban. Scrum Problems



Similar documents
Kanban. A Toyota s manufacturing system for Software Development CERN EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH. Eloy Reguero Fuentes

Scrum vs. Kanban vs. Scrumban

Lean Software Development and Kanban

Kanban For Software Engineering

Agile and lean methods for managing application development process

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

WHY KANBAN? Troy Tuttle. blog.troytuttle.com. twitter.com/troytuttle. linkedin.com/in/troytuttle. Project Lead Consultant, AdventureTech

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

MTAT Software Engineering

Program & Portfolio! Management using! Kanban! Copyright 2013 Davisbase Consulting. Limited Display License Provided to ASPE

Kanban vs Scrum Making the most of both

agenda AGILE AT SCALE

Agile and lean methods for managing application development process

Introduction to Agile and Scrum

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

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

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

LEAN AGILE POCKET GUIDE

Kanban A Lean approach to Agile software development

Kanban vs Scrum Making the most of both

Kanban kick- start. By Tomas Björkholm at Crisp, April 2011

Global Business Services, GBS. Scrum and Kanban. Processer & IT nord seminar 5v3. Gitte Klitgaard Hansen, IBM

Using a Lean and Kanban Approach in Agile Development. Jeff Patton AgileProductDesign.com jpatton@acm.org

Software Engineering I (02161)

Getting Started with Agile Project Management Methods for Elearning

FREE ONLINE EDITION. If you like the book, please support the authors and InfoQ by. purchasing the printed book:

CMMI and KANBAN is it possible?

The Basics of Scrum An introduction to the framework

Kanban what is it and why should I care?

The only person who likes change is a baby with a wet diaper. Mark Twain. Charan CA Atreya

The Agile Manifesto is based on 12 principles:

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

AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

USAGE OF KANBAN METHODOLOGY AT SOFTWARE DEVELOPMENT TEAMS

White paper: Scrum-ban for Project Management

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

Kanban in a nutshell. Chapter Origins and Principles

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

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

Creating a High Maturity Agile Implementation

Improving Software Development through Combination of Scrum and Kanban

Designing your Kanban Board to Map your Process

An Introduction to Kanban for Scrum Users. Stephen Forte Chief Strategy Officer,

KANBAN. Mads Troels Hansen. Prosa, October 4 th Mads Troels Hansen. October 09, 2009 Mads Troels Hansen

Appendix Lean Glossary Page 1

WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS.

Kanban. Marek Majchrzak, Andrzej Bednarz Wrocław,

Introduction to Enterprise Agile Frameworks

EXIN Agile Scrum Foundation. Sample Exam

Agile Scrum Workshop

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Assignment 1: Your Best Backlog

Modern Risk Management with Kanban

Lean. Agile. Demystifying Kanban. White Papers. essential. by Alan Shalloway. Business-Driven Software Development

Introduction to Agile

Lean Principles by Jerry Kilpatrick

Getting Started with Lean Process Management

4/4/2013. Copyright 2013, Robert Ward

Agile and the Seven Deadly Sins of Project Management

Agile Methodologies and Its Processes

Toyota Production System. Lecturer: Stanley B. Gershwin

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

Leading Continuous Improvement in Established Agile Organizations

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

A Glossary of Scrum / Agile Terms

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

Agile Project Management

A Hundred Days of Continuous Integration

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

Scrum and Kanban 101

Agile with XP and Scrum

Agile and Secure: Can We Be Both?

Lean Development A team approach to Software Application Development

Agile to the Bone. Introduction to Agile by Pietari Kettunen

Thoughts on Agile. These types of project are known as closed or semi-closed projects: the objective is clear 2.

IMPACT OF PROCESS VARIABILITY ON LEAN MANUFACTURING SYSTEMS

Achieving Basic Stability By Art Smalley

WHITE PAPER. Assessing Kanban fitment in the Fluid and Fast-paced World of Software Development

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

Agile Software Development

Scrum includes a social agreement to be empirical as a Team. What do you think an empirical agreement is?

Measuring ROI of Agile Transformation

Lean Software Development

The traditional project management uses conventional methods in software project management process.

Connecting Assembly with Batch Processes Via Basic Pull Systems

ACP Exam Prep Plus Desk Reference including the Project Management Agile Body of Knowledge TM (PMABOK TM )

Agile Requirements Definition and Management (RDM) How Agile requirements help drive better results

David J. Anderson President, Modus Cooperandi, Performance Through Collaboration

How to Initiate and Sustain Lean Process Improvement

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

Using the Lean Model for Performance Improvement

Essence of Being Lean and Agile

AN INDUSTRIAL APPLICATION OF THE SMED METHODOLOGY AND OTHER LEAN PRODUCTION TOOLS

Capstone Agile Model (CAM)

THE BUSINESS VALUE OF AGILE DEVELOPMENT

Master Thesis. University of Oslo. Henning Lundheim. Department of Informatics. < 60 Credits >

3 Steps to an Effective Retrospective December 2012

Agile Software Development. Stefan Balbo / Patrick Dolemieux

Personal Kanban. Stop wasting your life

Development phase 1.3. isupport. Project Name: isupport Date: Release: 1.3. Document Name: HCCH isupport Development phase project team 1

Transcription:

Enterprise Software Engineering & Software Engineering in the Enterprise Kanban 1 Scrum Problems

Length of Iterations (% respondents) No Iterations > 8 Weeks 7-8 Weeks 1,4 1,9 1,9 5-6 Weeks 4 Weeks 6,6 21 83% 3 Weeks 12,5 2 Weeks 32,6 1 Week 17 < 1 Week 5 Scott W. Ambler, Agile Adoption Survey 2007 3 Short Iterations (time boxes) Advantages: More effective feedback More effective iterations (sprints) planning 4

Short Iterations (time boxes) Disadvantages: Smaller stories are often too small to be valuable and difficult to identify In the backlog of smaller stories could be hundreds of items, instead of couple dozen in Kent Beck s days (extreme programming). New problem of management of stories has emerged. 5 Testers Race in the End of Sprint Development work often continues throughout a cycle while testing starts late and never seems to get enough time 6

OK, Let s kanban now 7

Kanban Takes the Best from the Buffet 9 Kanban 10

Kanban A card attached to boxes of parts that regulates pull in the Lean System by signaling upstream production and delivery. 11 Primary Goal: Eliminate Waste Any activity that consumes resources but creates no value is waste 12

Scrum Practices could be Sources of Waste 13 Kanban Software Development David Anderson "No Agile one's 2007 job conference title changes, that initially no sparked one's roles widespread and interest in responsibilities Kanban change, and any changes that we do make will be made incrementally." 14

Using a Kanban approach in software drops timeboxed iterations in favor of focusing on continuous flow. 15 Pull Don t build features that nobody needs right now Don t write more specs than you can code Don t write more code than you can test Don t test more code than you can deploy 16

Pull When a customer requests a given feature for a software product, they want to pull that feature out of testing so that they can start using it. 17 Pull Once that feature has been moved out of Testing and the customer is ready to pull the next feature out, there isn't anything to pull. At this point, the Testing people would then try to pull the next feature out of Development. 18

Pull And the same pull happens from Analysis to Development. 19 Limiting Work In Progress (WIP) Given a value stream, a WIP limit governs the number of work items that can be in a given state at any instant. 20

Kanban in Nutshell Pull value through the Value Stream Limit WIP Make it visible! 21 A Minimal Marketable Feature (MMF) A minimal marketable feature (MMF) is a chunk of functionality that delivers a subset of the customer s requirements, and that is capable of returning value to the customer when released as an independent entity. 22

Stories, MMFs, Themes and Epics MMF The smallest valuable set of stories in the Thema 23 MMF 24

Rolling Wave Planning Different planning buckets for different time horizons: 6 week bucket: well defined MMFs 3 month bucket: loosely defined features 6 month bucket: broad feature areas 1 year bucket: strategies, goals, market forces Update ALL of the buckets once every 6 weeks OR every time an MMF completes. 25 Cycle Time 26

Disclaimer No Engineering Practices Looks Simple, Is Hard No Silver Bullet Not Complete Takes Time Henrik Kniberg Scrum vs. Kanban Mattias Skarin 28

Kanban Limits WIP per Workflow State, Scrum Limits WIP per Iteration 29 Scrum Resists Change within an Iteration 30

What if someone turns up and wants to add E to the Kanban board? A Kanban might say Feel free to add E to the To Do column. But the limit is 2 for that column, so you will need to remove C or D in that case. We are working on A and B right now, but as soon as we have capacity we will pull in the top item from To Do. 31 Scrum Board is Reset between each Iteration 32

Scrum Prescribes Crossfunctional Teams 33 Kanban could have Specialised Teams The whole board is served by one cross-functional team. Just like Scrum. The product owner sets priorities in column 1. A crossfunctional development team does development (column 2) and test (column 3). Release (column 4) is done by a specialist team. There is slight overlap in competencies, so if the release team becomes a bottleneck one of the developers will help them. 34

Scrum Backlog Items must fit in a Sprint A Scrum team will only commit to items that they think they can complete within one iteration. If an item is too big to fit in a sprint, the team and product owner will try to find ways to break it into smaller pieces until it does fit. 35 Kanban can have Long Running Items Kanban indirectly creates an incentive to break items into relatively small pieces. But there is no explicit rule stating that items must be small enough to fit into a specific time box. 36

Scrum Prescribes Estimation and Velocity 37 Scrum Prescribes Estimation and Velocity 38

Scrum s Development Cycle When the sprint is done, the team delivers potentially shippable code to the product owner. So the team finishes the sprint, does a sprint review, and proudly demonstrates features A, B, C, and D to the product owner. 39 Full Development Cycle in Kanban 40

Kanban Daily Meetings 41 LEAN THINKING 42

Self organization: Natural Behavior of Ants 43 CAS Complex Adaptive System Lean Thinking The root of Scrum is CAS theory 44

Natural Behavior of Ants 45 Natural Behavior of Ants 46

Swarm Intelligence Prof. Marco Dorigo 47 Emergent Systems a colony of ants, the stock market, the human body immune system, and just about any collection of humans such as an industry, a business organization, a department within an organization, a team, a church group, a family, or the Rotary Club. Emergent Systems: Stock Market The stock market is an example of emergence on a grand scale. As a whole it precisely regulates the relative prices of companies across the world, yet it has no leader; there is no one entity which controls the workings of the entire market. agents, or investors, have knowledge of only a limited number of companies within their portfolio, and must follow the regulatory rules of the market. through the interactions of individual investors the complexity of the stock market as a whole emerges. 48

Self organization Self organization is a dynamical and adaptive process where systems acquire and maintain structure themselves, without external control. 49 Self organized Team In a self organized team, individuals take responsibility for managing their own workload, shift work among themselves based on need and best fit, and participate in team decision making. Team members have considerable leeway in how they deliver results, but they are accountable for those results and for working within the established flexible framework. 50

For Self organization all we NEED is: 51 Micromanagement Micromanagers will always have to micromanage, complaining the whole time about staff members who are unwilling to take responsibility. 52

So: we need a Cultural Shift Command Control is too slow: Can t process information fast enough Can t make decisions fast enough 53 So: we need a Cultural Shift 54

Lean Thinking Tools 55 Lean 56

Lean Production The first Lean system was applied by Taiichi Ohno in Toyota in 1953 to: Reduce inventory and production cycle time Improve productivity It involves several practices, such as just in time development (JIT), total quality management, and continuous process improvement (kaizen). 57 Reduction of Waste The reduction of waste is extremely important because waste always generates further waste. 58

Lean Production The term "Lean" was first coined by Womack and colleagues in their book, The Machine That Changed the World. In Japan it is known as the Toyota Production System (TPS), also, "The Toyota Way," because Toyota has recognized that the management method can be applied to more than just production. 59 Toyota Production System (TPS) The foundation of TPS is the absolute elimination of waste in both product and process. TPS aggressive elimination of waste led to the twin values of rapid product flow and built in quality. 60

Example At 9.40am on April 1, 2010, the plant produced its last car, a red Toyota Corolla S 61 seiri (sort/organization) 5S Seiton is setting everything in order. Seiso means shiny clean. Shitsuke is discipline and discipline should be sustained. Seiketsu means standardized cleanup. 62

Poka Yoke Early Error Detection Errors will not turn into defects if feedback and action take place at the error stage Dr. Shigeo Shingo Utah State University founded the Shingo prize for excellence in manufacturing in 1988 63 Poka Yoke Early Error Detection Do it right the first time! 64

Poka Yoke Early Error Detection Do it right the first time! 65 Poka Yoke Early Error Detection Concurrent testing Continuous integration Test Driven Development Active stakeholder participation Pair Programming Simple Design Collective Code Ownership etc. Do it right the first time! 66

Thinking Tools #1 Lean Thinking Thinking Tools #1 Lean Thinking 67 Thinking Tools #2 Theory of Constraints Thinking Tools #2 Theory of Constraints 68

Bottlenecks Thinking Tools #2 Theory of Constraints 69 Constraints is anything that limits a system from achieving higher performance versus its goal. Thinking Tools #2 Theory of Constraints 70

THE NEW DEFINITION OF LEAN 71 72

The New Definition of Lean The Principles of Product Development Flow, Don Reinertsen Economic Principles (21 rules) Queuing Principles (16 rules) Variability Principles (16 rules) Batch Size Principles (22 rules) WIP Constraint Principles (23 rules) Flow Control Principles (30 rules) Fast Feedback Principles (24 rules) Decentralization Principles (23 rules) 73 Kanban Top 3 Tools are: Your own brain Your own brain Your own brain 74

5 Reasons for Applying Kanban 1. Ability to release anytime Scrum and XP, usually do not release in the middle of the sprint. This is not the case with Kanban. 2. Ability to change priorities on the fly Scrum is reluctant to change the priorities in the middle of the sprint. In Kanban, if there is an urgent request to implement or a really important user story, the team can just put it on top of the queue. 3. No need in iterations Iterations are perfect for getting into a rhythm. However, after a point, when the flow is established, iterations could rather become a waste. 4. No need in estimates Just as iterations, estimates could also become a waste. You can take the most important user story from backlog and implement it. 5. Perfect flow visualization Kanban Board provides a very clear view on current work in progress. It visualizes flow and enables fast planning and tracking. 75 Why Kanban? Q: Scrum works flawlessly for all of my teams. Why overly complicate things by adding Kanban constraints? A: Kanban is built for competition. Maybe you are not in a competitive situation. Maybe your competitors are inept. If, however, you are under any pressure for systematic performance improvement, then the Kanban address inefficiencies that are built into Scrum. 76

Kanban & Agile 77 78

CMMI & Kanban love and marriage 79 80

81 A Coding Dojo A Coding Dojo is a place where programmers come to improve their skills, by following a pattern similar to the martial arts dojo. Participants meet for at a pre arranged time in a room that has one computer attached to a screen. A programming challenge is posed for each session. There are a couple of ways this is done that will be discussed later. During the session, the group spends a pre set amount of time developing a solution to the challenge. At the end of the session the code is discarded (often it is archived for future reference and study). The amount of time spent on the problem is fixed. Regardless of the state of the solution, when the time expires, the session is done. 82

Code Katas Kata (Japanese for form or pattern) are an exercise where the novice repeatedly tries to emulate a master. In karate, these kata are a sequence of basic moves (kicks, blocks, punches, and so on), strung together in a way that makes sense. You ll never be attacked in such a way that you could repeat a kata to defend yourself: that isn t the idea. Instead the idea is to practice the feel and to internalize the moves. (Interestingly, kata are not just used in the martial arts. Calligraphers also learn using kata, copying their masters brush strokes.) 83 Kumite Once you get some way into your training, you start kumite, or sparring. Kumite is a supervised exercise between two students, or between a student and a master. Here they learn to assemble the basic moves into coherent sequences, combining offensive and defensive elements into something that works. While kata could be considered static, repeating the same sequence over and over, kumite is dynamic. 84

Koans Once a kata has been learned, then the kata needs to be forgotten. Koans are questions without absolute answers which are used to break down assumptions and reveal underlying truths. The goal of a koan is not the answer, but thinking about the question. 85 Application Development: from Crafting Software to Software Craftsmanship 86