lean software development - net objectives development for the lean enterprise, ... “principles...

54
Lean Software Development 26 June 2009 Copyright © 2007 Net Objectives. All Rights Reserved. 1 1 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009 [email protected] www.netobjectives.com An Introduction to Lean Software Development For Managers and Team Leads Low Cost Speed Quality 2 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 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, RUP) Product Management Agile Analysis Design Patterns Test-Driven Development / Quality Assurance

Upload: buicong

Post on 03-Apr-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

1

1 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

[email protected] www.netobjectives.com

An Introduction to Lean Software Development

For Managers and Team Leads

Low Cost

Speed

Quality

2 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 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, RUP)

Product Management

Agile Analysis

Design Patterns

Test-Driven Development / Quality Assurance

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

2

3 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 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

4 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Alan Shalloway

CEO and Founder, Net Objectives

Deliver courses and coaching in:– Lean Software Development

– Kanban Software Development

– Scrum

– Lean Enterprise Release Planning

– Design Patterns and Advanced Software Design

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

[email protected]

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

3

5 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 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 customer and the strategic goals of the company

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

6 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Software Development As Product Development

In IT: software supports your company’s products/services

In product companies: software supports your customers products/services

Building products:

– Discover what the customer wants

– Discover how to build it

– Build it

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

4

7 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Imagine Our Development Team as a Pipeline

1. What are the right projects to go in the pipeline?2. What is the best size of projects to put in the pipeline?

1. How do we manage what is in the pipeline?2. How do we adapt when things change?

1. Our understanding2. External factors

8 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Maybe We Have Two Pipelines

Selecting what to work on Developing It

Give Feedback

Fast – Flexible - Flow

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

5

9 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Goal of Lean-Agile Software Development

Lean Software Development enables the discovery, prioritization, and delivery of highest business value

Agile methods enable the incremental delivery of business value based on the team’s capabilities

Support & Feedback

ProductApproval

ProductStaffing

ProjectDevelopment

ProjectDeployment

Visioning

Lean Agile as usually practiced

Patterns / TDD

10 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

[email protected] www.netobjectives.com

Lean FoundationsParadigm of Lean

Low Cost

Speed

Quality

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

6

11 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

What Is Lean Software Development?

The name given Toyota’s Production and Product Development System

Based on Edwards Deming

– Toyota added looking at time not resources

– Have systems flow, but detect errors and fix quickly

We will describe it as a combination of:

– Lean Thinking – Fast, Flexible Flow

– Lean Management

– Lean Knowledge Stewardship

12 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Lean Software Development

Goal of delivering value to customer quickly

Speed and quality results in low cost

Commitment to continuous process improvement

Process supports team

Team adjusts the process within the context of business needs

Management facilitates this

Focuses on the ability to add value quickly now, while improving the ability to add value quickly in the future

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

7

13 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Levels of Lean

Foundation– Respect People– System causes errors– Continuously Improve the Process To Support People

Attitude– When errors happen fix the system – no work arounds

Guidance– Think of what you are doing as fast-flexible-flow– Remove impediments to flow to remove waste – “Stop the line”

Principles– Optimize the whole– Eliminate waste– Build quality in

Practices– Agile/Scrum Methods

14 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

The Risks of Software Development

Building more than you need

Building lower priority items

Building the right thing wrong

Poor quality of software– Software is buggy

– Software is not maintainable

Architectural risks

Having the wrong resources

Discovering functional needs late in the project* but being unable to build them

* Could this be a good thing?

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

8

15 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Principles and Practices

“Principles are underlying truths that don’t change over time or space, while practices are the application of principles to a particular situation.

Practices can and should differ as you move from one environment to the next, and they also change as a situation evolves.”

Mary and Tom Poppendieck . Implementing Lean Software Development: From Concept to Cash, Addison-Wesley. 2006

16 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

A Reassessment

All three are essential

Starting with low cost:

– Has limited value

– Causes poor decisions

Starting with quality may not add value

Starting with speed with quality gives insights

Requires quality for sustainability

Speed and quality result in lower cost

Low Cost

Speed

Quality

Low Cost

Speed

Quality

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

9

17 26 June 2009

Fast-Flexible-Flow

Value

Value-Stream

Flow

Low Cost

Speed

Quality

18 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Customersand/or

Support

SharedComponents

DevelopmentOrganization

ProductRelated

New Products and/orEnhancements

The Flow of Software Development

Customers

Product ManagersBusiness Leaders

Trainers & Educators

Regional Coordinators

Product Owner(s)

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

10

19 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Lean Thinking: Value

Value is what the customer wants

What they are willing to pay for (or endears you to them if you are not charging them)

What you are trying to produce

Information that is used to create value

– For example, information that helps you decide what your customer needs

In the context of the business

20 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Lean Thinking: The Value Stream

The flow from beginning to end of creating the value

Often cuts across companies, virtually always cuts across organizations

It should look at the sequence of steps that transform the original idea into value in the customers’ hands

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

11

21 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Step 1: Identify Actions

1. Identify the actions taken in the value stream

ApproveRequest Reqts Sign Off

Review Deploy

Analysis

Design Code Test

_1dd

22 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Step 2: Determine Calendar Time

1. Identify the actions taken in the value stream2. Calculate the calendar time for each action.

i. Easiest to do by when the action started and when it ended. ii. If it is part of a meeting, the time is the entire meeting.

0.5 hrs 160 hrs8 hrs 8 hrs

120 hrs 280 hrs 240 hrs

100 hrs

8 hrs2 hrs

ApproveRequest Reqts Sign Off

Review Deploy

Analysis

Design Code Test

_1dd

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

12

23 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Step 3: Calculate Time Actually Worked on the Action

1. Identify the actions taken in the value stream2. Calculate the calendar time for each action3. Calculate time actually worked on each action

0.5 hrs 160 hrs8 hrs 8hrs

120 hrs 280 hrs 240 hrs

100 hrs

8 hrs2 hrs

Approve.1 hr value

Request0.5 hr value

Reqts60 hrs value

Sign Off1 hr value

Review 2 hrs value

Deploy3 hrs value

Analysis40 hrs value

Design40 hrs value

Code80 hrs value

Test40 hrs value

_1dd

24 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Step 4: Identify Time Between Actions

1. Identify the actions taken in the value stream2. Calculate the calendar time for each action3. Calculate time actually worked on each action4. Identify time between actions

Approve.1 hr value

Request0.5 hr value

Reqts60 hrs value

Sign Off1 hr value

Review 2 hrs value

Deploy3 hrs value

Analysis40 hrs value

Design40 hrs value

Code80 hrs value

Test40 hrs value

0.5 hrs 160 hrs8 hrs 8hrs

120 hrs 280 hrs 240 hrs

100 hrs

8 hrs2 hrs

320 hrs 80 hrs 320 hrs 80 hrs 80 hrs

160 hrs 80 hrs 80 hrs 80 hrs

_1dd

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

13

25 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Step 5: Identify Any Loop Backs Required

26 June 2009

1. Identify the actions taken in the value stream2. Calculate the calendar time for each action3. Calculate time actually worked on each action4. Identify time between actions5. Identify any loop backs required

Approve.1 hr value

Request0.5 hr value

Reqts60 hrs value

Sign Off1 hr value

Review 2 hrs value

Deploy3 hrs value

Analysis40 hrs value

Design40 hrs value

Code80 hrs value

Test40 hrs value

0.5 hrs 160 hrs8 hrs 8hrs

120 hrs 280 hrs 240 hrs

100 hrs

8 hrs2 hrs

320 hrs 80 hrs 320 hrs 80 hrs 80 hrs

160 hrs 80 hrs 80 hrs 80 hrs

65% DefectiveRepeat 3X

20% RejectedRepeat 1X

_1dd

26 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Last Step: Compute Process Cycle Efficiency

65% DefectiveRepeat 3X

20% RejectedRepeat 1X

Approve.1 hr value

Request0.5 hr value

Reqts60 hrs value

Sign Off1 hr value

Review 2 hrs value

Deploy3 hrs value

Analysis40 hrs value

Design40 hrs value

Code80 hrs value

Test40 hrs value

Process Cycle Efficiency =Time Worked

Total Cycle Time= 14.9%=

509 hrs

3433 hrs

0.5 hrs 160 hrs8 hrs 8hrs

120 hrs 280 hrs 240 hrs

100 hrs

8 hrs2 hrs

.5+ .1+ 60+ 1+ 40+ 40+ 2+1*0.2*( 40+ 2)+80+ 40+ 3*0.65*( 80+ 40)+ 3= 509 0.5+320+8+80+160+320+8+80+100+80+120+160+2+1*0.2*(120+160+2)+80+280+80+240 +3*0.65*(280+80+240)+80+8= 3433

The tasks of the processThe calendar time those tasks takeThe time between the tasks

320 hrs 80 hrs 320 hrs 80 hrs 80 hrs

160 hrs 80 hrs 80 hrs 80 hrs

_1dd

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

14

27 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Focus on Time

Time is important

Focusing on delays uncovers problems

Ultimately, we want to optimize the whole

Focusing on:

– Delays

– Context/task switching (which cause delays)…gives insights into speeding up the process and

eliminating waste

28 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Current Value Stream

Sales was trying to sell quickly

– Not concerned about dev problems

– Not preparing the customer

Devs. were running into deployment problems

– Caused extra work

– Resulted in thrashing

Sales

Have sales focus on # of successful deployments

– Not # of sales

– Work with development team to prepare customer

Customers were happy with this

Would have been willing to lose any that weren’t

Development

Deployment

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

15

29 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

What We Should Learn from This

Metrics can cause problems

The problem we are experiencing may be caused in another area

Improving a team may not require changing the team, but rather may involve removing problems the team is dealing with that they haven’t caused

30 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Impediments Are Waste

Impediments often occur between boundaries Are often caused by another area Must eliminate impediments to improve flow

Look for:– Delays

from time get information until use it from time make an error until discover it From time need information until get it

– Thrashing (multi-tasking)– Pushing more work than have capacity– Too many projects

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

16

31 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

[email protected] www.netobjectives.com

The Business Case for Agility

Low Cost

Speed

Quality

32 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Different Reasons for Going Agile

Add business value quickly

Get clarity on customer needs

Project management

Help the team

Technical perspective

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

17

33 26 June 2009

Add Business Value Quickly

Low Cost

Speed

Quality

_1dd

34 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Time-To-Market

Decreased Time-to-Market

Greater market share

Greater profit margins

Lower investment

Faster return on investment

Lower risk

Longer product lifetime

Increased customer satisfaction

Increased bandwidth to pursue more markets

Disclaimer: Assumes the right product

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

18

35 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Time

Cas

h f

low

First Release

InvestmentPeriod

PaybackPeriod

ProfitPeriod

BreakevenPoint

A Financial Model

Mark Denne and Jane Cleland-Huang, Software by Numbers.

36 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Cas

h f

low

Staged Releases

Release 1 Net Return

Release 2 Net Return

First Release

Invest-ment

Period

ProfitPeriod

Pay-back

Period

SecondRelease

Invest-ment

Period

Pay-back

Period

BreakevenPoint

Mark Denne and Jane Cleland-Huang, Software by Numbers.

Time

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

19

37 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Cas

h f

low

Staged Releases

Release 1 Net Return

Release 2 Net Return

Release 1

Total Net Return

ProfitPeriod

Investment

Invest-ment

Period

Pay-back

Period

BreakevenPoint

Mark Denne and Jane Cleland-Huang, Software by Numbers.

Time

38 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Cas

h f

low

Increased Profit

Net Return

Breakeven

SingleRelease

First Release

Investment

Mark Denne and Jane Cleland-Huang, Software by Numbers.

Time

StagedReleases

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

20

39 26 June 2009

Get Clarity on Customer Needs

Low Cost

Speed

Quality

40 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Do Customers Know What They Want?

When do customers know what they want?

How can we get them to know what they want earlier?

Is there an alternative to “customers only know what they want after I show them what they don’t want”?

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

21

41 26 June 2009

Improve Project Management

Low Cost

Speed

Quality

_1dd

42 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

When Do We Learn, For Sure, Where We Are?

_1dd

Analysis Design Code Test

Spri

nt

0

Rel

ease

1

Rel

ease

2

Rel

ease

3

Rel

ease

4

Rel

ease

5Waterfall Project

Iterative Development

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

22

43 26 June 2009

Team Perspective

Low Cost

Speed

Quality

44 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Wins and Losses

Quick wins for morale

Quick losses for corrections

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

23

45 26 June 2009

Technical Perspective

Low Cost

Speed

Quality

46 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

What if the First Four Reasons Do not Apply?

No value to a partial release

Customer had certainty on what they wanted

Management trusted team to get the result

Team knew how to do agile so no learning curve

Would you still want to develop iteratively?

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

24

47 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Yes, Here Is Why

If you don’t, and do a Big Design Up-Front

– Don’t get to take advantage of what you learn as you go

– Easy to overbuild

– Bigger system is more complex and also harder to test

– Harder to do

When you do

– Developers get to take advantage of what they’ve learned

– They get to deal with risks sooner

– But they have to write quality code

48 26 June 2009

Lean Is More Than Flow

Low Cost

Speed

Quality

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

25

49 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

The Lean Enterprise

Lean “Science”

Flow, Cadence, Pull

Real Options

ToC

Lean Knowledge Stewardship

A3s, Kaizens

Continuous improvement

5-whys

Lean Management

Leadership

Education

Visual Controls

Lean Thinking

_1dd

50 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 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

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

26

51 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Lean Management

Based on an emphasis of systems

Need to educate/coach people in improved systems

Teams create their process

Manage with visual controls

– A mapping of the workflow

– Shows state of work

– Used by team

– Provides information to managers

52 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 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

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

27

53 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Lean Knowledge Stewardship

A3s

Kaizens

AARs

5-whys

Value-Stream Mapping

54 26 June 2009

Lean ThinkingCreate Flow in Software

Development

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

28

55 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Cycle Time

Queuing Theory

– Minimize average time stood in line (Cycle Time)

– Maximize the people served over time (Throughput)

56 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

The easy problem

One Stakeholder

One Request (240 PersonDays)

12 member team

1 Month!

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

29

57 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

The Easy Problem

One Stakeholder

One Request (240 PersonDays)

12 member team

1 Month!

Request 1

58 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

A Harder Problem

Three Stakeholders

Three Requests (240 PersonDays each)

12 member team (Split into 3 teams to allow “focus”)

3 Months!

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

30

59 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

A Harder Problem

Three Stakeholders

Three Requests (240 PersonDays each)

12 member team (Split into 3 teams to allow “focus”)

3 Months!

Request 1/Team 1

Request 2/Team 2

Request 3/Team 3

60 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Building Trust?

Stakeholder 1: “Why does something that used to take 1 month, now take 3?”

– “I’m willing to pay for 240 PersonDays”

– “Why do I have to spread it out over 3 months?”

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

31

61 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Lean: Delay is Waste

Stakeholder 1: “Now I have to forecast 3 months in advance instead of 1”

– “The market changes enough as it is in just 1 month”

62 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Response

“This is complex stuff.”

– UI

– Midtier

– Dataflow

– Enterprise Data

“To gain efficiency, (economy of scale), let’s reorganize a bit, and break the work down into skill areas”

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

32

63 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

So This …

Three Stakeholders

Three Requests (240 PersonDays each)

12 member team (Split into 3 teams to allow “focus”)

3 Months!

Request 1/Team 1

Request 2/Team 2

Request 3/Team 3

64 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

… Becomes This!

Three Stakeholders

Three Requests (240 PersonDays each)

12 member team (Split into 3 teams to allow “focus”)

3 Months!

Request 1/Team 1

Request 2/Team 2

Request 3/Team 3

UI- Request 1

UI- Request 2

UI- Request 3

Midtier-Request 1

Midtier-Request 2

Midtier-Request 3

Data Flow-Request 1

Data Flow-Request 2

Data Flow-Request 3

Enterprise Data Request 1

Enterprise Data Request 2

Enterprise Data Request 3

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

33

65 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

… Becomes This!

Request 1/Team 1

Request 2/Team 2

Request 3/Team 3

UI- Request 1

UI- Request 2

UI- Request 3

Midtier-Request 1

Midtier-Request 2

Midtier-Request 3

Data Flow-Request 1

Data Flow-Request 2

Data Flow-Request 3

Enterprise Data Request 1

Enterprise Data Request 2

Enterprise Data Request 3

UI- Request 1 UI- Request 2 UI- Request 3

Midtier-Request 1Midtier-

Request 2Midtier-Request 3

Data Flow-Request 1

Data Flow-Request 2

Data Flow-Request 3

Enterprise Data Request 1

Enterprise Data Request 2

Enterprise Data Request 3

UI “Team”

Midtier “Team”

Data Flow “Team”

Enterprise Data “Team”

66 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

… Becomes This!

UI- Request 1 UI- Request 2 UI- Request 3

Midtier-Request 1Midtier-

Request 2Midtier-Request 3

Data Flow-Request 1

Data Flow-Request 2

Data Flow-Request 3

Enterprise Data Request 1

Enterprise Data Request 2

Enterprise Data Request 3

?

?

?

?

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

34

67 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

… Becomes This!

UI- Request 1 UI- Request 2 UI- Request 3

Midtier-Request 1Midtier-

Request 2Midtier-Request 3

Data Flow-Request 1

Data Flow-Request 2

Data Flow-Request 3

Enterprise Data Request 1

Enterprise Data Request 2

Enterprise Data Request 3

?

?

?

?

What’s this?

68 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

… Which Becomes This!

UI- Request 1 UI- Request 2 UI- Request 3

Midtier-Request 1Midtier-

Request 2Midtier-Request 3

Data Flow-Request 1

Data Flow-Request 2

Data Flow-Request 3

Enterprise Data Request 1

Enterprise Data Request 2

Enterprise Data Request 3

?

?

?

?

We need to:•Integrate•Fix Integration bugs•Get better requirements•Do better analysis

•…and process?

?

?

?

?

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

35

69 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

… as More “Requests” Are Taken in Parallel…

UI- Request 1 UI- Request 2 UI- Request 3

Midtier-Request 1Midtier-

Request 2Midtier-Request 3

Data Flow-Request 1

Data Flow-Request 2

Data Flow-Request 3

Enterprise Data Request 1

Enterprise Data Request 2

Enterprise Data Request 3

?

?

?

?

We have to figure out how to keep people busyNO PROBLEM!…but why do we need more testing?….if we discover bugs during integration, shouldn’t we allow MORE time for integration testing?

…what about cycle time?

?

?

?

?

70 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

So Why Can’t This…

Three Stakeholders

Three Requests (240 PersonDays each)

12 member team (Split into 3 teams to allow “focus”)

3 Months!

Request 1/Team 1

Request 2/Team 2

Request 3/Team 3

…is there another way to think about this problem?

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

36

71 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

… Become This!

Three Stakeholders

Three Requests (240 PersonDays each)

12 member team

3 Months!

Request 1

Request 2

Request 3

…quicker feedback, eliminates potential waste due to delays.

72 26 June 2009

Waste in Software

DevelopmentWhere is it hiding?

~a _so

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

37

73 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Waste: Building What You Do Not Need

Always7%

Often13%

Sometimes16%

Rarely19%

Never Used45%

Source: Standish GroupStudy of 2000 projects at 1000 companies

Usage of Features and Functions in Typical System

_g

74 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Observation

Anticipation of long delivery cycles encourages piling on of poorly prioritized requirements

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

38

75 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Observation

Requirements are not fully understood even after inspection & sign-off

76 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Observation

Requirements change often during software development

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

39

77 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Observation

Users know what they wantonly after they see an initialversion of the software

78 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Observation

New tools and technologies make implementation strategies unpredictable Technology changes occur faster

than traditional software development projects can complete (12-18 months), so software is obsolete before projects complete

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

40

79 26 June 2009

Product Portfolio Management

Smaller, high-value projects through the development

stream faster

~a _so

80 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Yearly Planning Cycle (Project Driven)

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

41

81 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Big Bang Project Plan

82 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Big Bang Project Plan

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

42

83 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Batching Capabilities = Projects

• Capabilities 1-7 are “Batched” up and run through project plan together• Lean tells us this is waste• Risky integration and testing is delayed until the end

84 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

What Does Lean Say?

Shorten time-to-delivery

Focus on Quality

Optimize the whole

Don’t work in batches, build one thing at a time

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

43

85 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Project Portfolio--Yearly Planning Cycle

• Projects Prioritized

• HLE’s

• Strawman Schedules

• Resource Loaded

86 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

PPM: Resource Driven

Calendar Year

Project Completion Milestone

• Projects shifted to flatten Resource Load• Business Driven?

New:•Idea•Opportunity•Threat

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

44

87 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Legacy Organization: Matrix Resources to Projects

Project 1

Project 2

Project 3

Project 4

Project N

•Unsolvable Problem•Managers Must Practice AdministrativeExcellence•Org Chart NOT aligned with business

•“Manage the business”

88 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Key Points on Waste

Big Batches of Requirements = Inventory

– Hides priorities—lots of WIP (work in process)

– Allows us to build stuff we don’t need

– Requires Administrative Excellence

– Requires organizing around technical challenges

– Hides defects, technical debt

– Slows time-to-market

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

45

89 26 June 2009

Is There a Better Way?

Fast Flexible Flow:

Can your organization do this?

~a _so

90 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Yearly Planning Cycle (Project Driven)

BF-1

BF-2

BF-3

BF-4

BF-5

BF-6

BF-7

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

46

91 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Lean Portfolio View

BF-1

BF-2

BF-3

BF-4

BF-5

BF-6

BF-7

Calendar Year

Project 1

BF-1

BF-2

BF-3

BF-4

BF-5

Project 2

BF-1

BF-2

BF-3

BF-4

BF-5

BF-6

Project 3

BF-1

BF-2

BF-3

BF-4

BF-5

Project 4

BF-1

BF-2

BF-3

BF-4

BF-5

BF-6

BF-7

Project N

Don’t build what you don’t need

Fast, Flexible, Flow7%

45%

New:•Idea•Opportunity•Threat

92 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

How to do this…

Business:

– Must be able to continuously prioritize and decompose incremental features across the organization

Management:

– Must organize cross-functional teams that can deliver incremental (end-to-end) features

Teams:

– Must work together, everyday, delivering fully tested & integrated code

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

47

93 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Results Of Approach

Limit work in process to teams’ capacity

Minimize thrashing

Maximize ROI of what is being worked on

Decrease time to market

94 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Business Value Realization Trends

Bu

sin

ess

valu

e re

ali

zed

Time

rele

ase

rele

ase

rele

ase

Ideal Trend

Bu

sin

ess

valu

e re

ali

zed

Time

rele

ase

rele

ase

rele

ase

Minimal build out

Bu

sin

ess

valu

e re

ali

zed

Time

rele

ase

rele

ase

rele

ase

Not Ideal (typical Waterfall)

Bu

sin

ess

valu

e re

ali

zed

Time

rele

ase

rele

ase

rele

ase

Portfolio blend

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

48

95 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

[email protected] www.netobjectives.com

Q&A

96 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

[email protected] www.netobjectives.com

Summary

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

49

97 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Lean Software Development

Stop starting stuff – start finishing stuff

Work in process is waste

Scrum relies on trust, Lean relies on Leadership

98 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

[email protected] www.netobjectives.com

Thank You!

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

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

50

99 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 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

100 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Help Us Spread the Word of Lean

Contact us if you want a free day of Lean Software Development at your site, shared with your community. Contact Alan Shalloway [email protected]

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

51

101 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

A Short List of Books - Lean Related

Womack & Jones: Lean-Thinking Mary & Tom Poppendieck

– Lean Software Development– Implementing Lean Software Development: From Concept to Cash

Jeff Liker: The Toyota Way Michael Kennedy: Product Development in the Lean Enterprise Taiichi Ohno: Toyota Production System Ronald Mascitelli: Building a Project-Driven Enterprise: How to Slash Waste and

Boost Profits Through Lean Project Management Kennedy, Harmon, Minnock: Ready, Set, Dominate: Implement Toyota's Set-based

Learning for Developing Products and Nobody Can Catch You

See http://www.netobjectives.com/resources/bibliography for a full bibliography

102 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Lean Management and Other Relevant Books

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

David Mann: Creating A Lean Culture: Tools to Sustain Lean Conversions

William Bridges: Managing Transitions Weick & Sutcliffe: Managing the Unexpected: Assuring High

Performance in an Age of Complexity Alexander: The Timeless Way of Building Shalloway, Beaver,Trott: Lean-Agile Software Development Shalloway & Trott: Lean-Agile Pocket Guide for Scrum Teams

See http://www.netobjectives.com/resources/bibliography for a full bibliography

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

52

103 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

A Short List of Books - Technical

Mugridge & Cunningham: Fit for Developing Software

Michael Feathers: Working Effectively with Legacy Code

Shalloway & Trott: Design Patterns Explained, A New Perspective on Object-Oriented Design

Bob Martin: Agile Software Development: Principles, Patterns and Practices

Freeman, Freeman, Bates, Sierra: Head First Design Patterns

Martin Fowler, Refactoring: Improving the Design of Existing Code

Ken Pugh: Prefactoring

Scott Bain: Emergent Design: The Evolutionary Nature of Professional Software Development

See http://www.netobjectives.com/resources/bibliography for a full bibliography

104 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Upcoming Free Events

Newport News, VA Free Event

– The Hampton Roads Lean-Agile Open – June 22

Bellevue, WA Lean-Agile Seminar Series 2009

– Sustainable Test-Driven Development – July 1

– Extending Scrum with Lean: Introducing Scrum#– July 23

– Acceptance Test-Driven Development – August 20

– Which Agile Process is Right for You? Choosing Between Scrum, Kanban and Scrumban – September 17

– Synergies Between Patterns and TDD – October 15

– Introduction to Lean Software Development – November 5

– Transition Testing: Cornerstone of Database Agility – December 10

Agile Opens are 12:30pm – 5:00pmBellevue seminars are 6:00pm – 8:30pm

For more information, see www.netobjectives.com/free-seminars

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

53

105 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 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.

• Lean Scrum Master 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.

106 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 2009

Tester

Technical

Senior Management

IT Management

Business Management

Analyst

Process

Exec Mgmt

IT Mgmt

Business Mgmt

Analyst

Process

Lean Agile Overview for

Leaders

Implementing Lean-Agile for

Your Team

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 Objectives

Story Writing and

Acceptance Tests

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

Effective Object-

Oriented Analysis and

Design(if needed)

Lean-Agile Enterprise

Release Planning

TesterImplementing

Story Acceptance

TestsDeveloper

Technical Training: C++, C#, Java

Best Practices Curriculum

Agile Planning and

Estimating with User

Stories

OR

Story Writing & Acceptance

Tests

Lean Software Development

26 June 2009Copyright © 2007 Net Objectives. All Rights Reserved.

54

107 Copyright © 2007 Net Objectives. All Rights Reserved. 26 June 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– Lean Scrum Master Certification by Net Objectives– 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– Story Writing and Acceptance Tests– Implementing Story Acceptance Tests– 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