lean software development - net objectives development for the lean enterprise, ... “principles...
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:
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