lean lego game workshop

52
Workshop Lean Development Martin van Amersfoorth, Freek Leemhuis, Maarten Metz Java & Oracle Practice, C&PS, Logica Original idea by Francisco Trindade & Danilo Sato

Upload: devnology

Post on 13-Jan-2015

4.992 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Lean Lego Game workshop

WorkshopLean Development

Martin van Amersfoorth, Freek Leemhuis, Maarten MetzJava & Oracle Practice, C&PS, Logica

Original idea by Francisco Trindade & Danilo Sato

Page 2: Lean Lego Game workshop

Workshop | Lean Development

Page 3: Lean Lego Game workshop

Agility

Page 4: Lean Lego Game workshop

Agility

Agile Manifesto

Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan …Craftsmanship over crap

Page 5: Lean Lego Game workshop

Agility | Methods

A group of software development methodologies that promotes development iterations, open collaboration, and process adaptability throughout the life-cycle of the project.

Page 6: Lean Lego Game workshop

Agility | Methods

Scrum49%

Scrum & XP22%

XP8%

Other21%

Bron: 3rd Annual ”State of Agile Development” Survey June-July 20083061 respondents from 80 countries

Page 7: Lean Lego Game workshop

More prescriptive More adaptive

XP(13)

Scrum(9)

Kanban(3)

Do Whatever(0)

• Architecture Reviewer• Business Designer• Business-Model Reviewer• Business-Process Analyst• Capsule Designer• Change Control Manager• Code Reviewer• Configuration Manager• Course Developer• Database Designer• Deployment Manager• Design Reviewer• Designer• Graphic Artist• Implementer• Integrator• Process Engineer• Project Manager• Project Reviewer• Requirements Reviewer• Requirements Specifier• Software Architect• Stakeholder• System Administrator• System Analyst• Technical Writer• Test Analyst• Test Designer• Test Manager• Tester• Tool Specialist• User-Interface Designer• Architectural analysis• Assess Viability of architectural

proof-of-concept• Capsule design• Class design• Construct architectural proof-of-

concept• Database design• Describe distribution• Describe the run-time architecture• Design test packages and classes• Develop design guidelines• Develop programming guidelines• Identify design elements• Identify design mechanisms• Incorporate design elements• Prioritize use cases• Review the architecture• Review the design• Structure the implementation model• Subsystem design• Use-case analysis• Use-case design• Analysis model• Architectural proof-of-concept• Bill of materials• Business architecture document• Business case• Business glossary• Business modeling guidelines• Business object model• Business rules• Business use case

• Whole team• Coding standard• TDD• Collective ownership• Customer tests• Pair programming• Refactoring• Planning game• Continuous integration• Simple design• Sustainable pace• Metaphor• Small releases

• Scrum Master• Product Owner• Team• Sprint planning meeting• Daily Scrum• Sprint review• Product backlogt• Sprint backlog• BUrndown chart

• Visualize the workflow• Limit WIP• Measure and optimize lead time

• Business use case realization• Business use-case model• Business vision• Change request• Configuration audit findings• Configuration management plan• Data model• Deployment model• Deployment plan• Design guidelines• Design model• Development case• Development-organization

assessment• End-user support mateirla• Glossary• Implementation model• Installation artifacts• Integration build plan• Issues list• Iteration assessment• Iteration plan• Manual styleguide• Programming guidelines• Quality assurance plan• Reference architecture• Release notes• Requirements attributes• Requirements

management plan• Review record• Risk list• Risk management plan• Software architecture

document• Software development

plan• Software requirements specification• Stakeholder requests• Status assessment• Supplementary business

specification• Supplementary specification• Target organization assessment• Test automation architecture• Test cases• Test environment configuration• Test evaluation summary• Test guidelines• Test ideas list• Test interface specification• Test plan• Test suite• Tool guidelines• Training materials• Use case model• Use case package• Use-case modeling guidelines• Use-case realization• Use-case storyboard• User-interface guidelines• User-interface prototype• Vision• Work order• Workload analysis model

RUP(120+)

Agility | Methods

Page 8: Lean Lego Game workshop

Agility | ScrumScrum = Management Process

Scrum MasterProduct OwnerTeamSprint Planning MeetingDaily ScrumSprint ReviewProduct BacklogSprint BacklogBurndown Chart

Page 9: Lean Lego Game workshop

Agility | XPExtreme ProgrammingXP = Engineering Process

TestingSmall ReleasesRefactoringSimple DesignPlanning GamePair Programming

Onsite CustomerSystem MetaphorCollective Code OwnershipContinuous IntegrationCoding ConventionsSustainable Pace

Page 10: Lean Lego Game workshop

Performance

Page 11: Lean Lego Game workshop

PerformanceDetroit Automakers Industrial IT

Frequent crises of quality Notorious for low quality

Excessively long product development time

Long product development time

Borrowing against future income (leveraged buying)

Borrowing against future capability (leveraged delivery)

Building cars people don’t want to buy

IT stands up solutions that people don’t want but have no choice but to use

Source: Ross Petitt, Restructuring IT: The Detroitification of IT (2009)

Page 12: Lean Lego Game workshop

Performance

Page 13: Lean Lego Game workshop

Performance | ToyotaJust In Time ( ジャストインタイム ) – JITJidoka ( 自働化 ) Autonomation – automation with human intelligenceHeijunka ( 平準化 ) Production SmoothingKaizen ( 改善 ) Continuous ImprovementPoka-yoke ( ポカヨケ ) fail-safing – to avoid inadvertent errorsKanban ( 看板 , also かんばん ) Sign, Index CardAndon ( アンドン ) SignboardMuri ( 無理 ) OverburdenMura ( 斑 or ムラ ) UnevennessMuda ( 無駄 , also ムダ ) WasteGenchi Genbutsu ( 現地現物 ) Go and see for yourself

Page 14: Lean Lego Game workshop

Performance | BoeingDetailed customer knowledge and focusWe will seek to understand, anticipate and be responsive to our customers' needs.

Large-scale systems integrationWe will continuously develop, advance, and protect the technical excellence that allows us to integrate effectively the systems we design and produce.

Lean enterpriseOur entire enterprise will be a lean operation, characterized by the efficient use of assets, high inventory turns, excellent supplier management, short cycle times, high quality and low transaction costs.

Boeing’s core competencieshttp://boeing.com/aboutus/culture/index.html

Page 15: Lean Lego Game workshop

Performance | ZaraIn fashion, stock is like food, it goes bad quick(=> 35-40% sold at discounts)

New styles manufactured in Europe (@ 17-20 x higher labor costs than Asia)

Small batches to avoid oversupply (higher avg. selling price)

Designers in daily contact with store managers to discover bestselling items

Spends 5-10 x less on IT than its rivals

Page 16: Lean Lego Game workshop

Performance | Southwest AirlinesExcellent Customer ServiceReliable PerformancePoint-to-Point RoutingConsistent Low FaresNo “Nuisance Charges”Lots of Flight Options

Most PunctualLost the Least BagsHad the Fewest ComplaintsRated “Most Admired” US AirlineMade a profit every yearOperates at Lowest Load Factor

Page 17: Lean Lego Game workshop

Performance | New BalanceA Boston company and just about the onlyathletic footwear maker left manufacturing in the US

Deploys lean manufacturing principles to keepits domestic production (25%) globally competitive

30% of NB shoes sold in European market are manufactured at the New Balance facility in England

Reduced replenishment cycle from 110 to 5 daysallowing it to match stock levels to demandand prevents from manufacturing unwanted shoes

Page 18: Lean Lego Game workshop

Run #1 | Briefing

1. Table 1: sort on color. Move sorted bricks to table 2

2. Table 2: sort on color and form. Move sorted bricks to table 3

3. Table 3: collect bricks that are necessary to build 1 house. Move collection to table 4

4. Table 4: assemble house according to instructions

You’ve got 1 minute per table!

Page 19: Lean Lego Game workshop

Run #1 | Debriefing

Winston W. Royce, Managing the Development of Large Software Systems (1970)

Page 20: Lean Lego Game workshop

LeanThinking

Page 21: Lean Lego Game workshop

Lean Thinking | GuidelinesSpecify value: value is defined by the customer in terms of specific products and services

Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste

Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”

Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production

Pursue perfection: pursue continuous process of improvement striving for perfection

James Womack and Daniel T. Jones, Lean Thinking, 1996

Page 22: Lean Lego Game workshop

Lean Thinking | Value

Specify value: value is defined by the customer in terms of specific products and services

Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste

Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”

Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production

Pursue perfection: pursue continuous process of improvement striving for perfection

Page 23: Lean Lego Game workshop

Lean Thinking | ValueAgile Manifesto: “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software”“Business people and developers must work together daily throughout the project.”

Practices: Onsite Customer (XP), Product Owner (Scrum)

Page 24: Lean Lego Game workshop

Lean Thinking | Value Agile Manifesto: “Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”

Practices: Team (Scrum), Scrum Master (Scrum)

© 2007 Poppendieck LLC

Page 25: Lean Lego Game workshop

Lean Thinking | ValueValue Added ActivityTransforms or shapes material or information or peopleAnd it’s done right the first timeAnd the customer wants it

Non-Value Added Activity – Necessary WasteNo value is created, but cannot be eliminated based on current technology, policy, or thinkingExamples: project coordination, regulatory, company mandate, law

Non-Value Added Activity – Pure WasteConsumes resources, but creates no value in the eyes of the customerExamples: idle/wait time, inventory, rework, excess checkoffs

Lean Thinking v6.3 © Massachusetts Institute of Technology.

Page 26: Lean Lego Game workshop

Run #2 | Briefing

1. Table 1: sort on color. Move only value adding sorted bricks to table 2

2. Table 2: sort on color and form. Move only value adding sorted bricks to table 3

3. Table 3: collect bricks that are necessary to build 1 house. Move collection to table 4

4. Table 4: assemble house according to instructions

You’ve got 1 minute per table!

Page 27: Lean Lego Game workshop

Run #2 | DebriefingManufacturing Software Development

OverproductionCreating too much material or information

Extra FeaturesSo focus on the top 20% (MoSCoW)

InventoryHaving more material or information than you need

Partially Done WorkStrict Definition of Done (DoD)

TransportationMoving material or information

HandoffsWork with customers

Unnecessary MovementMoving people to access or process material or information

Finding InformationCo-location

WaitingWaiting for material or information, or material or information waiting to be processed

Waiting for DecisionsFrequent, small releases

Defective OutputsErrors or mistakes causing the effort to be redone to correct the problem

Defects, Bugs not CaughtTest Driven Development

Over-ProcessingProcessing more than necessary to produce the desired output

Intermediate Artifacts“The Code is the Model”

Page 28: Lean Lego Game workshop

Lean Thinking | Value

Often or always used: 20%, rarely or never used: 64%.Source: Standish Group Study reported at XP2002 by Jim Johnson (Chairman)

7 13

16

19

45

Features and Functions Used in a Typical System

AlwaysOftenSometimesRarelyNever

Page 29: Lean Lego Game workshop

Lean Thinking | Value StreamSpecify value: value is defined by the customer in terms of specific products and services

Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste

Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”

Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production

Pursue perfection: pursue continuous process of improvement striving for perfection

Page 30: Lean Lego Game workshop

Lean Thinking| Value StreamAgile Manifesto: “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”“Working software is the primary measure of progress”

The Planning Game, Small Releases (XP), Sprints and Sprint Planning Meeting, Sprint Backlog (Scrum)

Page 31: Lean Lego Game workshop

Lean Thinking | Value Stream Agile Manifesto: “Simplicity – the art of maximizing the amount of work not done – is essential”“The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”

Simple Design, System Metaphor, Coding Conventions (XP)

Page 32: Lean Lego Game workshop

Value Stream | Example

Bron: via www.poppendieck.com

Page 33: Lean Lego Game workshop

Value Stream | Example

Page 34: Lean Lego Game workshop

Lean Thinking | FlowSpecify value: value is defined by the customer in terms of specific products and services

Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste

Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”

Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production

Pursue perfection: pursue continuous process of improvement striving for perfection

Page 35: Lean Lego Game workshop

Lean Thinking| Flow

“This may be the single most import device ever created to help control traffic safely and smoothly” (Discover, June 2001).

Page 36: Lean Lego Game workshop

Run #3 | Briefing

1. Table 1: collect bricks that are necessary to build 1 house. Move collection to table 2

2. Table 2: assemble house according to instructions

You’ve got 2 minutes per table!

Page 37: Lean Lego Game workshop

Run #3 | Debriefing

Page 38: Lean Lego Game workshop

Lean Thinking | Flow Agile Manifesto: “Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.”

Testing, 40-Hour Week, Continuous Integration, Collective Code Ownership, Sustainable Pace (XP), Daily Scrum (Scrum)

S.J. Chapman, Hours of Labor, The Economic Journal, 1909

Page 39: Lean Lego Game workshop

Lean Thinking | Flow

Source: Scott W. Ambler

Page 40: Lean Lego Game workshop

Lean Thinking | PullSpecify value: value is defined by the customer in terms of specific products and services

Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste

Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”

Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production

Pursue perfection: pursue continuous process of improvement striving for perfection

Page 41: Lean Lego Game workshop

Lean Thinking | PullLittle’s Law: Time Through System = # Things in Process / Avg Completion Rate

Optimize Throughput – Not Utilization- Minimize # Things in Process- Minimize Size of Things in Process

Limit Work to Capacity- Timebox, Don’t Scopebox- Pull – Don’t Push

Level the Workload- Even out the Arrival of Work- Establish a Regular Cadence

Page 42: Lean Lego Game workshop

Lean Thinking | Kanban

Source: Henrik Kniberg

−Visualize the workflow−Limit WIP (work in progress)−Measure & optimize flow To do Dev Release

FH C

I

2Test

35Done!

3

D

GJ

K

EA

B

FLOW

Page 43: Lean Lego Game workshop

Run #4 | Briefing

1. Use KanBan cards to build houses according to customer demand.

You’ve got 4 minutes!

Page 44: Lean Lego Game workshop

Run #4 | Debriefing

Source: Henrik Kniberg

Page 45: Lean Lego Game workshop

Lean Thinking | PullAgile Manifesto: “Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.”

Onsite Customer (XP), Product Owner, Product and Sprint Backlog (Scrum)

Page 46: Lean Lego Game workshop

Lean Thinking | PerfectionSpecify value: value is defined by the customer in terms of specific products and services

Identify the value stream: map out all end-to-end linked actions, processes and functions necessary for transforming inputs to outputs to identify and eliminate waste

Make value flow continuously, having eliminated waste, make remaining value-creating steps “flow”

Let customers pull value: customer’s “pull” cascades all the way back to the lowest level supplier, enabling just-in-time production

Pursue perfection: pursue continuous process of improvement striving for perfection

Page 47: Lean Lego Game workshop

Lean Thinking | Perfection Agile Manifesto: “The best architectures, requirements, and designs emerge from self-organizing teams”“Continuous attention to technical excellence and good design enhances agility”

Pair Programming, Testing, Refactoring (XP), Sprint Review / Retrospective, Burndown Chart (Scrum)

Argentina vs. Serbia and Montenegro (6-0), World Cup 2006

Page 48: Lean Lego Game workshop

Lean Thinking | Perfection

(based on Poppendieck, Grady)

Functional Testing

Unit Testing Integration Testing

Usability Testing

Property Testing

Test Business Design

Test Technical Design

Test

to S

peci

fica

tion

Test

to F

ailu

re

FU

RPS+

FURPS+FunctionalityUsabilityReliabilityPerformanceSupportability+ (constraints)

Page 49: Lean Lego Game workshop

Lean Thinking | Perfection

Adaptation of Toyota’s A3 Sheet

Page 52: Lean Lego Game workshop

Thank You