lean software development alan shalloway

46
[email protected] www.netobjectives.com 1 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009 Creating a Model to Understand Product (and Software) Development Going Beyond Toyota Alan Shalloway

Post on 14-Sep-2014

4.086 views

Category:

Technology


1 download

DESCRIPTION

Valetch Agile Edge event presentation October 1st 09 London

TRANSCRIPT

Page 1: Lean Software Development   Alan Shalloway

[email protected] www.netobjectives.com

1 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Creating a Model to Understand Product

(and Software) Development

Going Beyond Toyota

Alan Shalloway

Page 2: Lean Software Development   Alan Shalloway

2 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Net Objectives: Who We Are

Mission Assisting companies to maximize the return of their investment in software development. The goal is for companies to increase their ability to respond to changing business needs while improving the efficiencies of their development teams.

Services Assessments and consulting to help create the proper structure for the organization. Training and coaching in Lean, Agile, Scrum, Patterns, Test-Driven Development to manifest the plan.

Expertise Enterprise Technology Delivery

Lean Software Development

Agile Methods (Scrum, XP, Kanban)

Product Management

Agile Analysis

Design Patterns

Test-Driven Development / Quality Assurance

Page 3: Lean Software Development   Alan Shalloway

3 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Resources

Resources: www.netobjectives.com/resources – Webinars/Training Videos (PowerPoint with audio)– Articles and whitepapers– Pre/post course support Supporting materials– Quizzes– Recommended reading paths

Blogs and podcasts: blogs.netobjectives.com Annotated Bibliography After-Course Support (students only) Additional Training Two User Groups

– http://tech.groups.yahoo.com/group/leanagile – http://tech.groups.yahoo.com/group/leanprogramming

Join our e-mail list to receive regular updates and information about our resources and training of interest to you

Page 4: Lean Software Development   Alan Shalloway

4 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Alan Shalloway

[email protected]

CEO and Founder, Net Objectives

Deliver courses and coaching in:– Lean Software Development

– Kanban Software Development

– Lean-Agile / Scrum

– Lean Enterprise Release Planning

– Design Patterns and Advanced Software Design

MS in Computer Science from M.I.T. Author of:

Page 5: Lean Software Development   Alan Shalloway

5 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Agenda

What is Lean?

Product Development Is Not Manufacturing

Re-defining Lean

Lean-Thinking in Software Development

Page 6: Lean Software Development   Alan Shalloway

6 30 September 2009

What Is Lean?

Page 7: Lean Software Development   Alan Shalloway

7 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Lean-Thinking

Originates from The Machine That Changed the World: The Story of Lean Production, Womack and Jones, 1991

Commonly thought of as “How Toyota Does It”

Toyota

– Started with Deming

– Added “Just In Time” and Autonomation

– Created a culture of continuous improvement by Management that leads, not directs

Very effective methods for learning, sharing and communicating

Page 8: Lean Software Development   Alan Shalloway

8 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Poppendieck’s Translation of Lean Manufacturing

1. Eliminate Waste

2. Build Quality In

3. Learn Before Commitment

4. Deliver Fast

5. Respect People

6. Improve Relentlessly

7. Appreciate the System

* Note: These change slightly from book to book (an example of continuous improvement).

Page 9: Lean Software Development   Alan Shalloway

9 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Toyota as the Source of Lean

Lean Practices

ToyotaJIT Autonomation

Quality Management

Visual Controls

Continuous Learning /

ImprovementA3s, Kaizens

Deming

Page 10: Lean Software Development   Alan Shalloway

10 30 September 2009

Product Development

Is Not ManufacturingInsights May Be Different

Page 11: Lean Software Development   Alan Shalloway

11 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Software Development as Product Development

Software is more of a discovery process

Parallels the work of designing a product prior to manufacturing

– A useful definition of Product Development is that it is the collective activities, or system, that a company uses to convert its technology and ideas into a stream of products that meet the needs of customers and the strategic goals of the company

Product Development for the Lean Enterprise, by Michael Kennedy. Oaklea Press. 2003

_1dd

Page 12: Lean Software Development   Alan Shalloway

12 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

What Is Software Development Like?

It is not like building construction

– Where you know what you need to do

– Little discovery is taking place

Instead…

It is like product development

– Where you don’t know what to do

– Where much of your time is in discovery Discover what the customer wants

Discover how to build it

Build it

_1dd

Page 13: Lean Software Development   Alan Shalloway

13 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Principles Apply Everywhere

Practices depend upon context

May misinterpret the principles due to such different contexts

Here are two examples …

Page 14: Lean Software Development   Alan Shalloway

14 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Value – Not Just to the Customer

Three types of value

– Delivered value to the customer

– Improving the delivery mechanism

– Improving understanding of customer value

In manufacturing, delivered value to the customer works

Finding underlying principles in Lean Manufacturing may miss something

Page 15: Lean Software Development   Alan Shalloway

15 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Set Based Concurrent Engineering

SBCE is a risk mitigation practice

Alternatives exist in the software world

What we need is risk mitigation, not necessarily SBCE

Biggest risk in product development is market risk, not technical risk

Not saying SBCE wouldn’t be useful (but other methods may be as or more useful)

Page 16: Lean Software Development   Alan Shalloway

16 30 September 2009

Re-Defining Lean

Page 17: Lean Software Development   Alan Shalloway

17 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Toyota as an Example of Lean

DemingSystem of Profound

Knowledge

Lean Practices

ToyotaLean

Principles

ToyotaQuality

ManagementVisual Controls

Continuous Learning /

ImprovementA3s, Kaizens

JIT Autonomation

Page 18: Lean Software Development   Alan Shalloway

18 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

New Definition of Lean

Sorry, I am not qualified to re-define Lean. But I can speak to where the definition will come.

(for example) 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)

Page 19: Lean Software Development   Alan Shalloway

19 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Science / Experience as the Source of Lean

Toyota

Lean-ThinkingFlow

ServicesSoftware

Development

Lean Principles

JIT Autonomation

DemingSystem of Profound

Knowledge

Page 20: Lean Software Development   Alan Shalloway

20 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

The Lean Enterprise

Lean “Science”

Flow, Cadence, Pull

Driving from Value

Systems Thinking

Lean Knowledge Stewardship

Process & people improvement

A3s, Kaizens

5-whys

Lean Management

Leadership

Education

Visual Controls

Coaching

Lean Thinking

_1dd

Page 21: Lean Software Development   Alan Shalloway

21 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Components of Lean-Thinking

The Foundation of Lean-Thinking

– Deming Systems

People

Look to the whole

Page 22: Lean Software Development   Alan Shalloway

22 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

The Science of Lean Thinking

Flow, pull and cadence

Just In Time

– Improving speed of delivery is more important than improving productivity

– Transforms our view to Flow

Utilization Theory

– Queues / Batch Sizes / WIP / Little’s Law / Thrashing

– Telephone Switching Systems (100 yrs ago)

– Internet Flow

Improving flow improves quality and lowers cost

Page 23: Lean Software Development   Alan Shalloway

23 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Systems Thinking Opens Up New Possibilities

At the Miami Lean/Kanban Conference (May 2009) experience reports demonstrated that CPI was achieved faster than one would have expected from start up agile teams.

Why?

– Focus on process not people (less fear)

– Gave ability to test theories (true PDSA)

– Most importantly, enabled people to think in concrete terms and infer principles from what was happening

Page 24: Lean Software Development   Alan Shalloway

24 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Transparency Creates Management Opportunities

Management is not a dysfunctional role to be protected from

Management is a key component of any enterprise endeavor

Management is not servant leadership

Management is as committed as the teams

Page 25: Lean Software Development   Alan Shalloway

25 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Lean Management

What is management?

Perhaps, should ask – what should management be?

– Based on general business

– Based on enabling Lean-Science to manifest itself

Lean-Thinking provides the basis for Lean-Management

How does management and culture relate?

Page 26: Lean Software Development   Alan Shalloway

26 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Creating a Lean Culture

“Should a company target its culture in its efforts to transform its production processes and all the positions – high and low – associated with it? It is tempting to answer: Yes! But that would be a mistake.

Culture is no more likely a target than the air we breathe. It is not something to target for change. Culture is an idea arising from experience. That is, our idea of the culture of a place or organization is a result of what we experience there. In this way, a company’s culture is a result of its management system. The premise of this book is that culture is critical, and to change it, you have to change your management system.

So, focus on your management system, on targets you can see, such as leaders’ behavior, specific expectations, tools, and routine practices. Lean production systems make this easier, because they emphasize explicitly defined processes and use visual controls.”

David Mann. Creating a Lean Culture: Tools to Sustain Lean Conversions

_1dd

Page 27: Lean Software Development   Alan Shalloway

27 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Lean Knowledge Stewardship

Continuous process improvement

Improved skills

Knowledge sharing

A3s

Kaizens

AARs

5-whys

Value-Stream Mapping

Page 28: Lean Software Development   Alan Shalloway

28 30 September 2009

A Personal Story

Page 29: Lean Software Development   Alan Shalloway

29 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Ups and Downs

Lean-thinking leads to

– Lean-management leads to Lean knowledge stewardship

Organizations can evolve at all levels

Page 30: Lean Software Development   Alan Shalloway

30 30 September 2009

Lean Thinking Throughout the

EnterpriseExtending Agility Beyond the

Development Team

Page 31: Lean Software Development   Alan Shalloway

31 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Enterprise Agility Requires

Business Agility– set direction

Product Portfolio Management– apply resources

Team Agility– do the work

Proper Management– tie Teams Together

Technical Skills– keep software quality high

Page 32: Lean Software Development   Alan Shalloway

32 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

In Depth

Business Agility– Shorter planning cycle – Continuous re-planning– Focused on maximizing ROI of consumed products– Product Development value streams create business operational value

streams

Product Portfolio Management– Manage via MMFs and value delivered– Enable well-defined teams

Team Agility– Build and deliver incrementally based on business needs– Continuously improve process– Use visual controls to create transparency

Proper Management– Improve organizational structure to reduce impediments to flow– Coach teams to ensure process being improved

Technical Skills– Take advantage of best engineering and testing practices– Continuously improve technical skills and approach

Page 33: Lean Software Development   Alan Shalloway

33 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Deployment`

Deployment

Development Driven Contrasted with Business Driven

Business Portfolio Mgt Development

Business Portfolio Mgt Development

Development Driven Value Stream:• Improve development work cell. • Pulling from business affords them the opportunity to ask for smaller things.

Direct ControlInfluence

Business Driven Value Stream:• Quarterly planning and releases affects all of value stream• Improves delivery of value regardless of development methodology• Encourages development team to do iterative development

Direct Control

Strong influence

Less Influence

Strong influence Strong influence

Strong influence

Page 34: Lean Software Development   Alan Shalloway

34 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Business Agility + Team Agility = Enterprise Agility

Proper management needed to facilitate this

Technical agility needed to sustain it

Page 35: Lean Software Development   Alan Shalloway

35 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Transitioning to Business Agility

Transition from:– yearly planning cycle with yearly delivery

– to quarterly planning with incremental delivery.

Can be done in stages:– Yearly planning & yearly delivery

– Yearly planning & quarterly delivery Gives appearance of agility – but is not

– Quarterly planning with quarterly release plan Requires no change to development team

– Quarterly planning with iterative release plan True iterative development

Page 36: Lean Software Development   Alan Shalloway

36 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

The Lean Enterprise

Business

Incremental business value driven

Portfolio & release planning

Manage-ment

Continuous flow of

business value

Impediment Mgt

Technical Agility

Best engineering practices –ATDD, TDD, Design Patterns

Continuous incremental improvement of engineering

practices

Team Agility

Visual Controls

Focus on speed while maintaining integrity

LeanEnterprise

Make

Value

Flow

Sustainably

Page 37: Lean Software Development   Alan Shalloway

37 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Customersand/or

Support

SharedComponents

DevelopmentOrganization

ProductRelated

New Products and/orEnhancements

The Flow of Software Development

Customers

Product ManagersBusiness Leaders

Trainers & Educators

Regional Coordinators

_1dd

Product Owner(s)

First Generation

Scrum XP

Second Generation

Kanban

Business Driven Enterprise Agility

Scrumban

Page 38: Lean Software Development   Alan Shalloway

38 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Expanding Agility to the Enterprise

Agility

BusinessAgility

Devel-opmentAgility

Business Driven Software DevelopmentAchieving Enterprise and Team Agility

Page 39: Lean Software Development   Alan Shalloway

39 30 September 2009

Question and Answer

Page 40: Lean Software Development   Alan Shalloway

[email protected] www.netobjectives.com

40 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Thank You!

… and following is more to help you plan your next steps

Page 41: Lean Software Development   Alan Shalloway

41 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Resources

Resources: www.netobjectives.com/resources – Webinars/Training Videos (PowerPoint with audio)– Articles and whitepapers– Pre/post course support Supporting materials– Quizzes– Recommended reading paths

Blogs and podcasts: blogs.netobjectives.com Annotated Bibliography After-Course Support (students only) Additional Training Two User Groups

– http://tech.groups.yahoo.com/group/leanagile – http://tech.groups.yahoo.com/group/leanprogramming

Join our e-mail list to receive regular updates and information about our resources and training of interest to you

Page 42: Lean Software Development   Alan Shalloway

42 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Bibliography

Science of Lean-Thinking

– Managing the Design Factory, Don Reinertsen

– Principles of Product Development Flow: Second Generation Lean Product Development, Donald Reinertsen

– Lean Thinking: Banish Waste and Create Wealth in Your Corporation, Revised and Updated, James Womack, Daniel Jones

Lean Management

– Leader’s Handbook: Making Things Happen, Getting Things Done, Peter Scholtes

– Creating a Lean Culture: Tools to Sustain Lean Conversions, David Mann

Lean Learning

– Managing to Learn, John Shook

Page 43: Lean Software Development   Alan Shalloway

43 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

New Online Course

Everywhere (Internet)– Lean Software Development – TBD starting this summer

For more information, see www.netobjectives.com/courses

Page 44: Lean Software Development   Alan Shalloway

44 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Net Objectives Services

Training in Sustainable Product Development

Net Objectives offers the most comprehensive Lean-Agile training in the world. Our offerings include Lean, Agile Analysis, Scrum, Design Patterns, Test-Driven Development, and Lean-Agile Testing.

Our approach is a blend of principles and practices to provide a complete team and/or enterprise wide training solution.

Certification Programs by Net Objectives

Net Objectives offers certification programs that provides a road-map of knowledge as well as resources to get there.

• Scrum Certification

• Scrum Master Certification

• Product Owner Certification

Net Objectives is not affiliated with the Scrum Alliance

Assessment Services

An effective way to embark on an enterprise level transition to Lean-Agile methods is to start with an assessment of where you are, where you want to go and options on how to get there that are right for you and your budget.

Lean-Agile Coaching

While training provides foundational knowledge and is a great jump start, coaching is another effective way to increase the abilities of teams.

Our coaches work with your teams to provide guidance in both the direction your teams need to go and in how to get there.

Coaching provides the knowledge transfer while working on your own problem domain.

Page 45: Lean Software Development   Alan Shalloway

45 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

Best Practices Curriculum

Tester

Technical

Senior Management

IT Management

Business Management

Analyst

Process

Exec Mgmt

IT Mgmt

Business Mgmt

Analyst

Process

Lean Agile Overview for

Leaders

Implementing Scrum for Your Team

OR

Implementing Agile

Development With VSTS for Agile Teams

Agility for Managers (if not taking

Implementing Scrum for Your Team course)

Lean Software Development

For Management

Scrum Master Practitioner

Scrum Master Certification

By Net ObjectivesLean Software

Development

Design Patterns for Agile

Developers

Sustainable Test-Driven

Development Emer

gen

t D

esig

n

Advanced Software

Design

TDD Database Boot Camp

Business Product Owner

Advanced Agile

Lean-Agile Testing

Practices(if not taking

Implementing Scrum for Your Team course)

Effective Object-

Oriented Analysis and

Design(if needed)

Lean-Agile Enterprise

Release Planning

Tester

Acceptance Test-Driven

Development

Developer

Technical Training: C++, C#, Java

Agile Planning and

Estimating with User

Stories

OR

Page 46: Lean Software Development   Alan Shalloway

46 Copyright © 2008 Net Objectives. All Rights Reserved. 30 September 2009

A Top 5 CourseA New Course

Net Objectives Courses

Lean Software Development– Lean Software Development for Management– Lean Software Development– Lean-Agile Software Development

Agile/Scrum– Implementing Scrum for Your Team– Implementing Scrum for Multiple Teams– Scrum Master Certification by Net Objectives– Lean-Agile Enterprise Release Planning– Agile Planning and Estimating with User Stories– Agile Life-Cycle Management with VersionOne– Product Owner Certification by Net Objectives– Implementing Agile Development with Microsoft™

Visual Studio Team System™

Agile Software Development– Design Patterns Explained– Emergent Design: Effective Agile Software

Development– Design Patterns for Agile Developers– Sustainable Test-Driven Development– Acceptance Test-Driven Development– TDD Database Boot Camp– Advanced Software Design– Lean-Agile Testing Practices– Test-Driven ASP.NET– Effective Object-Oriented Analysis and Design

For more information, see: www.netobjectives.com/training