introduction to lean software delivery -...

11
Disciplined Agile Delivery: Scaling © Scott Ambler + Associates 1 Introduction to Lean Software Delivery Principles and Practices for Scaling Agile © Scott Ambler + Associates 1 Scott W. Ambler Senior Consulting Partner scott [at] scottambler.com @scottwambler Agenda Two “bold assertions” What does it mean to be lean? What are the advantages of a lean approach? One thing I don’t like about lean Lean Software Development Kanban practices Lean Startup practices Lean and Disciplined Agile Delivery (DAD) Why agile works Enabling agility at scale

Upload: phamanh

Post on 17-May-2018

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 1

Introduction to Lean Software DeliveryPrinciples and Practices for Scaling Agile

© Scott Ambler + Associates 1

Scott W. Ambler

Senior Consulting Partner

scott [at] scottambler.com

@scottwambler

Agenda

• Two “bold assertions”

• What does it mean to be lean?

• What are the advantages of a lean approach?

• One thing I don’t like about lean

• Lean Software Development

• Kanban practices

• Lean Startup practices

• Lean and Disciplined Agile Delivery (DAD)

• Why agile works

• Enabling agility at scale

Page 2: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 2

Lean and Agile?

Bold Assertion #1: Lean explains why agile works

Bold Assertion #2: Lean enables agility at scale

© Scott Ambler + Associates 3

What does it mean to be lean?

© Scott Ambler + Associates 4

Decentralized Control

Systems thinking

Insightful

experimentation

Leadership

Customer

Delight

PDCA

Continuous

Learning

Page 3: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 3

Principles of Simpler Business Systems

1. Customer defines value

2. Deliver value to customers on demand

3. Standardize and solve to improve

4. Transformational learning requires deep personal experience

5. Mutual respect and shared responsibility enable higher performance

© Scott Ambler + Associates 5

Source: www.simpler.com

What are the advantages of a lean approach to

software development?

• Observations:

– Based on proven theories and practices from industry

– Simple place to start

– Continuous improvement at various levels

• Reasonable claims:

– It is easier to evolve from an existing base than to do a radical

transformation

– Increases motivation of team members

– Provides a solid, long-term foundation for success

• “Interesting” claims:

– Lean organizations will eventually dominate their industries

© Scott Ambler + Associates 6

Page 4: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 4

One thing I don’t like about lean

The gratuitous (although respectful) use of Japanese terminology when the terms do

in fact translate well into English

© Scott Ambler + Associates 7

Japanese English

Gemba The real place

Hansei Personal reflection

Kaizen Continuous improvement

Muda Waste

Mura Uneven

Muri Absurdity/unreasonableness

Nagara Smooth production flow

Poka-Yoke Simple

Observation: This is potentially waste that can make lean harder to understand, and therefore

adopt.

Lean Software Development Principles

© Scott Ambler + Associates 8

Eliminate waste

Build in quality

Create knowledge

Optimize the whole

Respect people

Deliver quickly

Defer commitment

Page 5: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 5

9© Scott Ambler + Associates

Limit

Work in Progress

(WIP)Visualize Your

Workflow

© Scott Ambler + Associates10

Split testing

Minimum viable product

PivotActionable metrics

Continuous deployment

Page 6: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 6

DAD Lifecycle: Advanced/Lean

11© Scott Ambler + Associates

DAD Lifecycle: Continuous Delivery

© Scott Ambler + Associates 12

Page 7: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 7

Why Agile Works: Coordination Meetings

The team meets regularly, often daily, to coordinate their activities. Often called a

Scrum meeting or daily stand up meeting.

© Scott Ambler + Associates 13

Decentralized ControlRespect people Visualize Your

WorkflowPDCA

Why Agile Works: Initial Architecture Envisioning

Early in the project the team thinks through one or more technical strategies for

providing a solution.

© Scott Ambler + Associates 14

Systems thinking

Eliminate waste

Build in quality

Defer commitment

Deliver quickly

Optimize the whole

PDCA

Page 8: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 8

Why Agile Works: Potentially Consumable Solutions

A solution may encompass software, hardware, changes to the business process,

changes to the organizational structure, and supporting documentation. A solution is

consumable when it not only can be used by people but the people want to use it and

better yet delight in using it. An extension to Scrum’s “potentially shippable software”

concept.

© Scott Ambler + Associates 15

Customer

Delight

Respect people

Deliver quickly

PDCA

Continuous

Learning

Why Agile Works: Test-Driven Development (TDD)

An approach to development where a single test is written before sufficient production

code that fulfills that test is written.

© Scott Ambler + Associates 16

Eliminate waste

Build in quality

Deliver quickly

PDCA

Continuous

Learning

Page 9: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 9

Why Agile Works: Demos

On a regular basis, often at the end of each iteration or sprint, the team demonstrates

the latest features of their working solution to key stakeholders.

© Scott Ambler + Associates 17

Customer

DelightInsightful

experimentation

Build in qualityRespect people

PDCA

Continuous

Learning

Why Agile Works: Release Train

A release train is a pre-defined release schedule which is effectively a collection of

release windows. A release window is a period of time during which one or more

teams may release into production. Release trains are commonly used on

programmes to simplify release dependency management.

© Scott Ambler + Associates 18

Customer

Delight

Respect people Optimize the whole

Page 10: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 10

Lean Enables Agility at Scale

Lean explains agile practices, including the “scaling practices”

Lean provides a set of principles/philosophies that provide supporting guidance

Systems thinking motivates enterprise awareness

© Scott Ambler + Associates 19

Context Counts – Tailoring and Scaling Agile

© Scott Ambler + Associates 20

Agile

Disciplined

Agile

Delivery

Agility

at

Scale

• Construction focus

• Value driven lifecycle

• Self-organizing teams

• Prescriptive

• Project team aware

• Delivery focus

• Risk-value driven lifecycle

• Self-organization with appropriate governance

• Goal driven

• Enterprise aware

Disciplined agile delivery with one or more complexity factors:

� Large teams

� Geographically distributed teams

� Compliance

� Domain complexity

� Technical complexity

� Organizational distribution

Page 11: Introduction to Lean Software Delivery - gotocon.comgotocon.com/dl/goto-zurich-2013/slides/ScottAmbler_IntroductionTo...Introduction to Lean Software Delivery Principles and Practices

Disciplined Agile Delivery: Scaling

© Scott Ambler + Associates 11

Got Discipline?

© Scott Ambler + Associates 21

DisciplinedAgileConsortium.orgDisciplinedAgileDelivery.com

scott [at] scottambler.com@scottwambler