2006_07_12_lean
TRANSCRIPT
-
8/13/2019 2006_07_12_lean
1/113
www.netobjectives.com Net [email protected]
software developmentsoftware development
l e a n -l e a n -
a g i l ea g i l eLean Software Development
Speed Quality Low Cost
-
8/13/2019 2006_07_12_lean
2/113
7/12/20062 Copyright2005 Net Objectives
Alan Shalloway
CEO, Net Objectives, CSM, Author
Net Objectives offers training/coaching in allaspects of agile development
Lean, ScrumAgile Analysis, Design Patterns, TDD, XP
Training/Coaching Design Patterns, LeanSoftware Development, Test-DrivenDevelopment
-
8/13/2019 2006_07_12_lean
3/113
July 063 Copyright2005 Net Objectives
Fast Flexible
Flow
The Context For This Seminar
-
8/13/2019 2006_07_12_lean
4/1137/12/20064 Copyright2005 Net Objectives
Lean Software Development
Lean Software Development has the goal of deliveringas much value to your customer as quickly as possible inthe most efficient manner possible. The keywords hereare speed and low cost. Accomplishing thisrequires your team to have a commitment to continuous
process improvement. This requires management to both respect and empower the people involved. Only theteam can create an effective process management mustfacilitate this not control them. Only by continuouslyimproving your process, increasing quality of both your
products and your process, can you sustain the highspeed and resulting low cost.
-
8/13/2019 2006_07_12_lean
5/1137/12/20065 Copyright2005 Net Objectives
What Is Lean Software Development?
A combination of:Lean Thinking Fast, Flexible Flow (Womack, Jones)
Toyotas Lean Principles applied in the software world(Poppendiecks)Knowledge Based Software Development (Kennedy)
Based on:Toyotas Lean Production
Toyotas Lean Product DevelopmentDemingTheory of Constraints
Includes Knowledge Management, Mindfulness
-
8/13/2019 2006_07_12_lean
6/1137/12/20066 Copyright2005 Net Objectives
Special Thanks
To Mary and Tom Poppendieck Course was originally based on their materials.Mary & Tom Poppendieck Lean Software
Development
Mary & Tom Poppendieck Implementing Lean Software Development: From Concept to
Cash
http://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=bookshttp://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=bookshttp://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=bookshttp://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=bookshttp://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=bookshttp://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=bookshttp://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=bookshttp://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=bookshttp://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=bookshttp://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=books -
8/13/2019 2006_07_12_lean
7/1137/12/20067 Copyright2005 Net Objectives
Why Learn It?
Complete foundation for agile.
What if you dont?
-
8/13/2019 2006_07_12_lean
8/1137/12/20068 Copyright2005 Net Objectives
What Is Different About Lean?
Focused on delivering value quickly.
A commitment to process improvement.A commitment to the people involved.
Focusing on the whole not decomposing intosteps.
Paying attention to the temporal nature of events.Being customer centric.
-
8/13/2019 2006_07_12_lean
9/1137/12/20069 Copyright2005 Net Objectives
Overview
Value to the customer in a timely manner.
Optimize the WholeDeliver Fast
Must continuously improve processPeople drive thisManagement facilitates it
-
8/13/2019 2006_07_12_lean
10/1137/12/200610 Copyright2005 Net Objectives
Value to the Customer
Time is an important element.
Net Present Value (NPV) of software is not
based on interest rates.
l
-
8/13/2019 2006_07_12_lean
11/1137/12/200611 Copyright2005 Net Objectives
Deliver System in Stages(When Possible)
Concentrate on the known, valuable, features
Customers are more certain about the mostvaluable features
Gives value sooner Creates clarity for whats nextDevelopment team gains knowledge as they go
Lowers risk Of building what you dont need
Of overbuilding what you do need
-
8/13/2019 2006_07_12_lean
12/1137/12/200612 Copyright2005 Net Objectives
A Financial Model
Software by Number by MarkDenne and Jane Cleland-HuangSelf-Funding
Breakeven
I n v e s t m e n t
P a y b a c k
P r o f i t
Time
C o s t
Copyright2005 Poppendieck.LLC
-
8/13/2019 2006_07_12_lean
13/113
7/12/200613 Copyright2005 Net Objectives
Staged Releases
Time
C
o s t
Release 1 ProfitRelease 2 Profit
Total Profit
Copyright2005 Poppendieck.LLC
-
8/13/2019 2006_07_12_lean
14/113
7/12/200614 Copyright2005 Net Objectives
Increased Profit
Time
C o s t
Profit
Investment
B r e a k e v e n
SingleRelease
S e l f - F u n d i n g
B r e a k e v e n
Software by Number by MarkDenne and Jane Cleland-Huang
Staged
Releases
-
8/13/2019 2006_07_12_lean
15/113
7/12/200615 Copyright2005 Net Objectives
Doing the Most Important Half
Standard development sequence
Suggested development sequence
Most important half of a feature
Less important half of a feature
-
8/13/2019 2006_07_12_lean
16/113
7/12/200616 Copyright2005 Net Objectives
Doing the Most Important 25%
Standard development sequence
Suggested development sequence
Most important quarter of a feature
Less important quarter of a feature
-
8/13/2019 2006_07_12_lean
17/113
July 0617 Copyright2005 Net Objectives
Fast Flexible
Flow
Paradigm of Lean
-
8/13/2019 2006_07_12_lean
18/113
7/12/200618 Copyright2005 Net Objectives
Stop-the-Line Culture
1. Detect every ambiguityDont work-around even the smallest problem
2. Stop the line immediatelyCorrect the immediate condition if necessary
3. Look for the root causeWhy? Why? Why? Why? Why?
4. Determine the best countermeasureUse many simple experimentsMeasure results
5. Make the countermeasure permanentConstant improvement = constant change
6. Do not allow for work arounds
Work arounds leave problems intact
Copyright2005 Poppendieck.LLC
-
8/13/2019 2006_07_12_lean
19/113
7/12/200619 Copyright2005 Net Objectives
Develop Thinking People
Software development requires people to solve problems.The team must understand the problem.They must be empowered to find the best solution.If you cant trust your people, you are in trouble.Trust local knowledge!
People build the process!
Copyright2005 Poppendieck.LLC
-
8/13/2019 2006_07_12_lean
20/113
7/12/200620 Copyright2005 Net Objectives
Lean A New Paradigm
4 industrial paradigms
Craft
1800Interchangeable Parts -
1900Interchangeable People Assembly line
2000Engaged, thinking people - Lean
-
8/13/2019 2006_07_12_lean
21/113
www.netobjectives.com Net [email protected]
software developmentsoftware development
l e a n -l e a n -
a g i l ea g i l e
Lean Thinking Lean SoftwareDevelopment
Speed Quality Low Cost
-
8/13/2019 2006_07_12_lean
22/113
7/12/200622 Copyright2005 Net Objectives
An Integration
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
D e v e l o p
m e n t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r e
D e v e l o p
m e n t
Lean Thinking: Banish Waste and Create
-
8/13/2019 2006_07_12_lean
23/113
7/12/200623 Copyright2005 Net Objectives
Lean Thinking: Banish Waste and CreateWealth in Your Corporation
By Womack and Jones. 1996, 2003.
Another way to look at lean includes both products and services.
They define 5 principles:ValueThe Value StreamFlowPull
Perfection
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
Principles of Lean
-
8/13/2019 2006_07_12_lean
24/113
7/12/200624 Copyright2005 Net Objectives
Principles of LeanSoftware Development
Optimize the Whole
Eliminate Waste
Build Quality In
Defer Commitment
Respect People Create Knowledge
Deliver Fast
Speed
Quality Low Cost
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
-
8/13/2019 2006_07_12_lean
25/113
7/12/200625 Copyright2005 Net Objectives
A Reassessment
Speed
Quality Low Cost
All three are essential
Starting with low cost:Has limited value
Causes poor decisionsStarting with speed gives insights
Requires quality for sustainabilitySpeed and quality results in lower cost
-
8/13/2019 2006_07_12_lean
26/113
July 0626 Copyright2005 Net Objectives
Fast Flexible
Flow
Value
L Thi ki VALUE
-
8/13/2019 2006_07_12_lean
27/113
7/12/200627 Copyright2005 Net Objectives
Lean Thinking - VALUE
Value is what the customer wants.
What they are willing to pay for.What you are trying to produce.
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
I A il /S
-
8/13/2019 2006_07_12_lean
28/113
7/12/200628 Copyright2005 Net Objectives
In Agile/Scrum
Focus on customer
Requires a product owner
L Thi ki THE VALUE STREAM
-
8/13/2019 2006_07_12_lean
29/113
7/12/200629 Copyright2005 Net Objectives
Lean Thinking THE VALUE STREAM
The flow from beginning to end of creating the
value.Often cuts across companies, virtually alwayscuts across organizations.
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
S ti l V l St
-
8/13/2019 2006_07_12_lean
30/113
7/12/200630 Copyright2005 Net Objectives
Sequential Value Stream
Q85
8 wksApprove
5 min
Q8
2 wksRequest
30 min
Reqts2 wks value2 wks waste
Q40
8 wksSign Off
1 hr
Q8
2 wks
Q8
2 wks
Q32
4 wksReview
2 hrs
Q8
2 wks
Q24
2 wks
Q18
2 wks
Deploy3 hrs
65% DefectiveRepeat 3X
20% RejectedRepeat 1X
Analysis1.5 wks value
1 wk waste
Design1 wk value
2 wks waste
Code2 wks value.5 wks waste
Test1 wk value.5 wk waste
65% Defective
Process Cycle Efficiency =Value Added Time
Total Cycle Time= 17%=
345 hrs
2000 hrs
20% Rejected
Copyright2005 Poppendieck.LLC
T l F
-
8/13/2019 2006_07_12_lean
31/113
7/12/200631 Copyright2005 Net Objectives
Temporal Focus
Timing is important
Focusing on delays uncovers problemsUltimately, we want to optimize the whole
Focusing on:DelaysTask switching (which cause delays)
gives insights into speeding up the process andeliminating waste.
Principles of
-
8/13/2019 2006_07_12_lean
32/113
7/12/200632 Copyright2005 Net Objectives
pLean Software Development
Optimize the Whole
Eliminate Waste
Build Quality In
Defer Commitment
Respect People Create Knowledge
Deliver Fast
Speed
Quality Low Cost
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
Principle: Optimize the Whole
-
8/13/2019 2006_07_12_lean
33/113
7/12/200633 Copyright2005 Net Objectives
Principle: Optimize the Whole
Vicious Cycle #2:Vicious Cycle #2:1. Testing is overloaded with work 2. Result: Testing occurs long after coding3. Result: Developers dont get immediate feedback 4. Result: Developers create more defects
5. Result: Testing has more work. Systems have more defects.6. Result: Feedback to developers if delayed further. Repeat cycle.
Vicious Cycle #1:Vicious Cycle #1:1. A customer wants some new features yesterday2. Developers hear: Get it done fast, at all costs!3. Result: Sloppy changes are made to the code base4. Result: Complexity of code base increases5.
Result: Number of defects in code base increases6. Result: Exponential increase in time to add features
Copyright2005 Poppendieck.LLC
Myth: Optimize through Decomposition
-
8/13/2019 2006_07_12_lean
34/113
7/12/200634 Copyright2005 Net Objectives
Myth: Optimize through Decomposition
DecompositionYou get what you measure
You cant measure everythingStuff falls between the cracksYou add more measurementsYou get local sub-optimization
ExampleMeasure Cost, Schedule, & Scope
Quality & Customer Satisfactionfall between the cracksMeasure these too!
AggregationYou get what you measure
You cant measure everythingStuff falls between the cracksYou measure UP one levelYou get global optimization
ExampleMeasure Cost, Schedule, & Scope
Quality & Customer Satisfactionfall between the cracksMeasure Business Value withP&L or ROI instead.
From to ! From to!
Measure UP
-
8/13/2019 2006_07_12_lean
35/113
7/12/200635 Copyright2005 Net Objectives
Measure UP
Span of InfluenceHold people accountable for
what they can influenceMeasure at the team levelFosters collaboration
Product Manager Everyone in the company
knows that their job dependsupon delighting customers.
Span of ControlHold people accountable for what
they can control Measure at the individual levelFosters competition
Testing Manager We cant let testers write
tests before developers writecode. If we did that, thedevelopers would simply
write code to pass the tests!Copyright2005 Poppendieck.LLC
-
8/13/2019 2006_07_12_lean
36/113
July 0636 Copyright2005 Net Objectives
Fast Flexible
Flow
FLOW
Lean Thinking FLOW
-
8/13/2019 2006_07_12_lean
37/113
7/12/200637 Copyright2005 Net Objectives
Lean Thinking - FLOW
Improving flow increases value as well as
decreasing waste.All impediments to flow are waste.
Just-in-Time Flow
-
8/13/2019 2006_07_12_lean
38/113
7/12/200638 Copyright2005 Net Objectives
Just-in-Time Flow
Value should be added in a smooth flow
There should be no impedimentsSteps should not be required to waitThere should never be large inventories or queues
Large queues and inventories hide problems to flowPoor flow does not allow for quick deliveryPoor flow does not allow for flexibility
Hides quality problemsCopyright2005 Poppendieck.LLC
Principles of
-
8/13/2019 2006_07_12_lean
39/113
7/12/200639 Copyright2005 Net Objectives
Lean Software Development
Optimize the Whole
Eliminate Waste
Build Quality In Defer Commitment
Respect People Create Knowledge
Deliver Fast
Speed
Quality Low Cost
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
Principle:
-
8/13/2019 2006_07_12_lean
40/113
7/12/200640 Copyright2005 Net Objectives
Eliminate Waste
Waste is anything that does not add customer valueWaste is anything that does not add customer valueCustomers wouldnt choose to pay for it.Doesnt add to the knowledge needed to develop a product.
Waste is anything that has been started but is not being used in production.
Waste is anything that delays developmentor keeps people waiting.
Waste is any extra featuresthat are not needed now.
Waste is making the wrong thingor making the thing wrong.
Copyright2005 Poppendieck.LLC
Eliminate Waste
-
8/13/2019 2006_07_12_lean
41/113
7/12/200641 Copyright2005 Net Objectives
Eliminate Waste
Put on Customer Glasses
Copyright2005 Poppendieck.LLC
The Seven Wastes
-
8/13/2019 2006_07_12_lean
42/113
7/12/200642 Copyright2005 Net Objectives
The Seven Wastes
The Seven Wastes of ManufacturingThe Seven Wastes of Manufacturing-- Shigeo ShingoShigeo Shingo
1. Inventory2. Processing
3. Overproduction4. Motion
5. Transportation6. Waiting
7. DefectsCopyright2005 Poppendieck.LLC
The Seven Wastes
-
8/13/2019 2006_07_12_lean
43/113
7/12/200643 Copyright2005 Net Objectives
The Seven Wastes
1. Partially Done Work 2. Paperwork
3. Extra Features
The 7 Wastes ofThe 7 Wastes ofSoftware DevelopmentSoftware Development
The Seven Wastes of ManufacturingThe Seven Wastes of Manufacturing-- Shigeo ShingoShigeo Shingo
1. Inventory2. Processing
3. Overproduction4. Motion
5. Transportation6. Waiting
7. Defects
The task then is to refine the code base tobetter meet customer need. If that is not clear,the programmers should not write a line of code.Every line of code costs money to write and moremoney to support. It is better for the developersto be surfing than writing code that won't beneeded. If they write code that ultimately is notused, I will be paying for that code for the lifeof the system, which is typically longer than myprofessional life. If they went surfing, they wouldhave fun, and I would have a less expensivesystem and fewer headaches to maintain.
-- Jeff Sutherland, CTO PatientKeeperCopyright2005 Poppendieck.LLC
The Seven Wastes
-
8/13/2019 2006_07_12_lean
44/113
7/12/200644 Copyright2005 Net Objectives
The Seven Wastes
1. Partially Done Work 2. Paperwork
3. Extra Features4. Task Switching
5. Handoffs6. Delays
7. Defects
The 7 Wastes ofThe 7 Wastes ofSoftware DevelopmentSoftware Development
The Seven Wastes of ManufacturingThe Seven Wastes of Manufacturing-- Shigeo ShingoShigeo Shingo
1. Inventory2. Processing
3. Overproduction4. Motion
5. Transportation6. Waiting
7. DefectsCopyright2005 Poppendieck.LLC
Principles ofL S f D l
-
8/13/2019 2006_07_12_lean
45/113
7/12/200645 Copyright2005 Net Objectives
Lean Software Development
Optimize the Whole
Eliminate Waste Build Quality In
Defer Commitment
Respect People Create Knowledge
Deliver Fast
Speed
Quality Low Cost
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
Ask Any Development Team
-
8/13/2019 2006_07_12_lean
46/113
7/12/200646 Copyright2005 Net Objectives
y p
Q: Where do you spend most of your time?A: Fixing bugs
Why?Because the quality of their code is poor.
Because 60-80% of the work done on a software product is inmaintenance , yet we dont focus on this during its developmentBecause Waterfall methods is not long-term thinking it is short-
term thinking: Get it out as soon as possible without regard to thecustomers opinion or the codes quality
But Developers Are Wrong( t l t b t thi )
-
8/13/2019 2006_07_12_lean
47/113
7/12/200647 Copyright2005 Net Objectives
(at least about this)
They dont actually spend much time fixing bugs
They spend their time in finding bugsBecause their code is hard to understand.Their code is inter-connected and hard to modifyA lot of this happens because of the Emperors Clothesmentality that they are doing it right the first time and
wont have to change it.
Move Inspection Forward
-
8/13/2019 2006_07_12_lean
48/113
7/12/200648 Copyright2005 Net Objectives
p
The job of testing is to prevent defects If you are focused on finding defects you are not doing your job.
A quality process builds quality into the code
If you routinely find defects during verification your process is defective.
Defects are not caused by developers Defects are caused by a systemwhich allows defects. Defects are a management problem.
Copyright2005 Poppendieck.LLC
Types of Testing
-
8/13/2019 2006_07_12_lean
49/113
7/12/200649 Copyright2005 Net Objectives
yp g
AcceptanceAcceptanceTestsTests
Business Intent(Design of the Product)
UsabilityUsabilityTestingTesting
ExploratoryExploratoryTestingTesting
UnitUnit
TestsTestsDeveloper Intent
(Design of the Code)
PropertyProperty
TestingTestingResponse,Security
Scaling,
F r o m
B r i a n
M a r i c k
Technology Facing
Business Facing
S u p p o r t
P r o g r a m m
i n g
C r i t i q u e
P r o d u c t
Automated Manual
Automated Tool-Based
Copyright2005 Poppendieck.LLC
Testing Is Validation
-
8/13/2019 2006_07_12_lean
50/113
7/12/200650 Copyright2005 Net Objectives
g
We have to validate
That we understand what is neededThat we did what we wantedThat the product is of sufficient quality
We must push testing up early.Tests improve the conversation betweencustomers and developers.
Tests become executable specifications.
Why Test?
-
8/13/2019 2006_07_12_lean
51/113
7/12/200651 Copyright2005 Net Objectives
The job of tests, and the people that develop and run tests,is to prevent defects, not to find them. A quality assuranceorganization should champion processes which build qualityinto code from the start, rather than test quality in later.This is not to say that verification is unnecessary. Finalverification is a good idea; its just that finding defects
should be the exception, not the rule, during verification. Ifverification routinely triggers test-and-fix cycles, then thedevelopment process is defective.
- Implementing Lean Software Development: From Concept to Cash,Mary and Tom Poppendieck.
-
8/13/2019 2006_07_12_lean
52/113
July 0652 Copyright2005 Net Objectives
Fast
Flexible
Flow
PULL
Lean Thinking - PULL
-
8/13/2019 2006_07_12_lean
53/113
7/12/200653 Copyright2005 Net Objectives
Pull in simplest terms means that no one
upstream should produce a good or service untilthe customer downstream asks for it, but actuallyfollowing this rule in practice is a bit morecomplicated.
- Lean Thinking, Womack and Jones.
Empirical or Deterministic?
-
8/13/2019 2006_07_12_lean
54/113
7/12/200654 Copyright2005 Net Objectives
Software Development is inherently a non-
deterministic process.Doesnt mean cant be controlled.
Means cant be managed completely through prediction.Must react and adapt.Basis for Scrum and other Agile methods.
Principles ofLean Software Development
-
8/13/2019 2006_07_12_lean
55/113
7/12/200655 Copyright2005 Net Objectives
Lean Software Development
Optimize the Whole
Eliminate Waste Build Quality In
Defer Commitment
Respect People Create Knowledge
Deliver Fast
Speed
Quality Low Cost
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
Principle 4: Defer Commitment
-
8/13/2019 2006_07_12_lean
56/113
7/12/200656 Copyright2005 Net Objectives
p
Typically, decisions are made too early .
We dont want to make decisions that arbitrarilyconstrain our solution
Happens if dont have all the informationDefer decisions that we dont need to make now
Dont wait too longThat wouldnt be responsible or safe!
Copyright2005 Poppendieck.LLC
Early Decisions Cause Waste
-
8/13/2019 2006_07_12_lean
57/113
7/12/200657 Copyright2005 Net Objectives
Premature decisions wont have all theinformation available later.Getting information before its needed means:
Youll need to get it again later You wont use the most up to date information later
Deciding When To Decide
-
8/13/2019 2006_07_12_lean
58/113
7/12/200658 Copyright2005 Net Objectives
PilotsIn Pilot training, we learned that when we had tomake a decision, we should first decide when thedecision should be made, then when the time comes,make the decision based on the availableinformation.
Military
One of the most important thing I taughtyoung recruits is that when they were threatened,they should decide on the timebox for a response, and
not respond until the end of the timebox.Copyright2005 Poppendieck.LLC
Lean Thinking - PERFECTION
-
8/13/2019 2006_07_12_lean
59/113
7/12/200659 Copyright2005 Net Objectives
Provides the vision for continuously improving
your value stream to increase flow, decreasewaste and add value to the customer.
Improve Process
-
8/13/2019 2006_07_12_lean
60/113
7/12/200660 Copyright2005 Net Objectives
Discover what customer needs.
Go to root causeAlways have a process
But improve itProcess become baseline for changeMust incorporate knowledge management techniquesto both discover and retain knowledge
Applying Lean thinking
-
8/13/2019 2006_07_12_lean
61/113
7/12/200661 Copyright2005 Net Objectives
Applying Lean thinking to manufacturing creates
a Production System which creates many of thesame type defect free, but which canaccommodate many typesApplying Lean Thinking to Softwaredevelopment creates a Production Process which
accommodates and creates many types ofsoftware near defect free
Principles ofLean Software Development
-
8/13/2019 2006_07_12_lean
62/113
7/12/200662 Copyright2005 Net Objectives
Lean Software Development
Optimize the Whole
Eliminate Waste Build Quality In
Defer Commitment
Respect People Create Knowledge
Deliver Fast
Speed
Quality Low Cost
Copyright2005 Poppendieck.LLC
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
Principle:Respect People
-
8/13/2019 2006_07_12_lean
63/113
7/12/200663 Copyright2005 Net Objectives
p p
Only after American carmakers had exhausted
every other explanation for Toyotas success an undervalued yen, a docile workforce, Japanese culture, superior automation were they finally able to admit that Toyotas realadvantage was its ability to harness the intellect
of ordinary employees.Management Innovation by Gary Hamel, Harvard Business Review , February, 2006
Copyright2005 Poppendieck.LLC
Enable Local Decisions
-
8/13/2019 2006_07_12_lean
64/113
7/12/200664 Copyright2005 Net Objectives
When to Plant MaizeLocal authority Squanto
Advice plant corn when the oak leaves were the size of a squirrels earActually, many factors involved this just the trigger
Universal Measure Fanners AlmanacTypical local edition would be planting corn in May after the first fullmoon or after May 20.Requires adjustment, even by region.
Is safer but loses planting timeSeafaring Captains use Pilots when get close to a harbor Airlines
Flight AttendantsCopyright2005 Poppendieck.LLC
Myth:There is One Best Way
-
8/13/2019 2006_07_12_lean
65/113
7/12/200665 Copyright2005 Net Objectives
y
Frederick Winslow Taylor:Grandfather of the ProcessPolice
Taylors View of EfficiencyEmployers get higher profitsWorkers get higher pay
But Scientific ManagementAffronts human dignity
Discourages worker creativity
Copyright2005 Poppendieck.LLC
The Eighth Waste Lost Knowledge
-
8/13/2019 2006_07_12_lean
66/113
7/12/200666 Copyright2005 Net Objectives
Knowledge discovered but not shared
Person who needed it didnt look Person who knew it wasnt consulted
Knowledge forgotten
Principles ofLean Software Development
-
8/13/2019 2006_07_12_lean
67/113
7/12/200667 Copyright2005 Net Objectives
p
Optimize the Whole
Eliminate Waste Build Quality In
Defer Commitment
Respect People Create Knowledge
Deliver Fast
Speed
Quality Low Cost
Copyright2005 Poppendieck.LLC
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
Software Development As ProductDevelopment ~c
-
8/13/2019 2006_07_12_lean
68/113
7/12/200668 Copyright2005 Net Objectives
p
Software is more of a discovery process.
Parallels the work of designing a product prior tomanufacturing.A useful definition of Product Development is that itis the collective activities, or system, that a companyuses to convert its technology and ideas into a streamof products that meet the needs of customer and thestrategic goals of the company Product Developmentfor the Lean Enterprise, Michael Kennedy.
Principle:Create Knowledge
-
8/13/2019 2006_07_12_lean
69/113
7/12/200669 Copyright2005 Net Objectives
One Year Later.
Get requirementsPlan it all out
Scientific Method
Do something, see how itworked
Alan MacCormack
Harvard Business School
A Tale of Two Projects
Not ConsistentModify Hypothesis
ConsistentPublish Results
New Knowledge
Obser-vations
Predic-tionsTests
Hypothesis
Copyright2005 Poppendieck.LLC
One Year Later
-
8/13/2019 2006_07_12_lean
70/113
7/12/200670 Copyright2005 Net Objectives
Team that figured it outPoor productivity
Poor market acceptancePoor expert quality rating
Team that tried and learnedGreat market success
Alan MacCormack Harvard Business School
Copyright2005 Poppendieck.LLC
Iterative Development
-
8/13/2019 2006_07_12_lean
71/113
7/12/200671 Copyright2005 Net Objectives
Review Meeting
featuresdesirable
list of Prioritized
Backlog:
Deployment
Stories
Planning Meeting
Daily
One Iteration
Ahead
Every 2-4
Weeks
Iteration
Execution
Iteration
Planning
Deployment- Ready
Software
Copyright2005 Poppendieck.LLC
Principles ofLean Software Development
-
8/13/2019 2006_07_12_lean
72/113
7/12/200672 Copyright2005 Net Objectives
Optimize the Whole
Eliminate Waste Build Quality In
Defer Commitment
Respect People
Create Knowledge
Deliver Fast
Speed
Quality Low Cost
Copyright2005 Poppendieck.LLC
F a s t F l e x i b l e
F l o w
Lean-Agile
L e a n
S o f t w
a r e
e v e l o
p m e n
t A g i l e
K n o w
l e d g e
B a s e
d S o f
t w a r
D e v e l o p
m e
Case Study - PatientKeeper
-
8/13/2019 2006_07_12_lean
73/113
7/12/200673 Copyright2005 Net Objectives
Speed to market45 cycles while competition does one
Maintenance releases once or twice a week
New feature releases every month New applications released every quarter
Predictable Delivery Never a late releaseProblems are seen long before the release dateThe company self-organizes around the problems
Pull from DemandPriorities reorganized on a weekly basis by CEO, sales, and account managementCustomer impact and schedule impacts are dealt with at the time of the decision
No Abnormalities because rapid cycle time:Eliminates buggy software because you die if you don't fix thisFixes the install process because you have to install 45 releases a year Improves the upgrade process because of a constant flow of mandatory upgrades
It forces standardization of software via new features rather than customization
Jeff SutherlandCTO PatientKeeper
Copyright2005 Poppendieck.LLC
Myth:Haste Makes Waste
-
8/13/2019 2006_07_12_lean
74/113
7/12/200674 Copyright2005 Net Objectives
Companies that compete on the basis of speed:Enjoy a significant cost advantage relative to peers
A 25-30% cost advantage is typical.Dell claims a 50% cost advantage.
Have extremely low defect ratesIt is impossible to go fast unless quality is high.Attacking quality issues is the first step for going faster.
Develop a deep customer understandingFast companies can take an experimental approach to
product developmentFast companies fail fast and learn quickly
Have a sustainable competitive advantage.Copyright2005 Poppendieck.LLC
-
8/13/2019 2006_07_12_lean
75/113
-
8/13/2019 2006_07_12_lean
76/113
www.netobjectives.com Net [email protected]
software developmentsoftware development
l e a n -l e a n -a g i l ea g i l e
Lean-Agile Connection Agility In The Context of Lean
Lean Process
-
8/13/2019 2006_07_12_lean
77/113
7/12/200677 Copyright2005 Net Objectives
Lets contrast a software development process based on the notion you can plan ahead (classic push) with one based on Lean (a classic pull system).
Building Functionality With The WaterfallMethodology
-
8/13/2019 2006_07_12_lean
78/113
7/12/200678 Copyright2005 Net Objectives
Waterfall method has us do the following:Significant requirements conversationsVirtually complete analysis of the use casesDevelop an architecture for the applicationCreate local designsImplement the designs
Test the code (if there is time remaining)
Waterfall: Use Cases, Stories and Architecture
-
8/13/2019 2006_07_12_lean
79/113
7/12/200679 Copyright2005 Net Objectives
Class1
Class2
Class3
Class4 Class5
Class1
Class2
Class3
Class4 Class5
Define our use casesComplete our analysisBreak out into stories
Analyzed Architected Designed
CdCc
Ca
Cb
Class1
Class2
Class3
Class4 Class5
U s e C a s e s
S t o r i e sArchitect the System
Refine the design
Waterfall: From Architecture Through Test
-
8/13/2019 2006_07_12_lean
80/113
7/12/200680 Copyright2005 Net Objectives
Define our use casesComplete our analysisBreak out into stories
Analyzed Architected Designed Coded Tested
Architect the System
Refine the designFinish CodingFinish Testing
U s e C a s e s
S t o r i e s
Waterfall: Wheres The Problem?
-
8/13/2019 2006_07_12_lean
81/113
7/12/200681 Copyright2005 Net Objectives
Stories by work typeTimeline of workWheres the waste?
Analyzed Architected Designed Coded Tested
Delays
Task SwitchingWork in progress
S t o r i e s
Predictability
-
8/13/2019 2006_07_12_lean
82/113
7/12/200682 Copyright2005 Net Objectives
Future product development tasks are driven primarily by the results of the prior tasks, andtherefore cant be predetermined. A better
paradigm is to distribute the planning and control
to those who understand and can react to theinterim results.
Lean: Story Centric ProcessIteration Planning
-
8/13/2019 2006_07_12_lean
83/113
7/12/200683 Copyright2005 Net Objectives
Define our use casesInitial analysisIdentify some stories
S t o r i e sSelect stories to work on
Do Commonality-Variability Analysis
U s e C a s e s
Lean: How To Pick Stories
-
8/13/2019 2006_07_12_lean
84/113
7/12/200684 Copyright2005 Net Objectives
Pick Stories to:Mitigate risk
Help select system architectureTo build application architecture
Customer feedback requiredBuild most valuable software for customers
Lean: Iteration Build The Stories
-
8/13/2019 2006_07_12_lean
85/113
7/12/200685 Copyright2005 Net Objectives
Stories by work typeTimeline of work
Analyzed
ArchitectedDesigned
Coded
Tested
S t o r i e s
No delaysNo task-switchingLittle work in progress
Opportunity to AdjustNew stories become availableStories become re-prioritized
Lean Thinking In Agile
-
8/13/2019 2006_07_12_lean
86/113
7/12/200686 Copyright2005 Net Objectives
Incremental product (stories) built a la teamswarm work cells.Use TOC to improve the process as you movealong the project.People have no flexibility in following the
process, but they have complete flexibility in
defining the processat least within the context of management goals andguidelines.
The Lean-Agile Connection
-
8/13/2019 2006_07_12_lean
87/113
7/12/200687 Copyright2005 Net Objectives
Use Lean Thinking to:Help decide/speed the process in which projects to build
Value Stream Maps
Create cross-functional teamsThink Work-CellsOptimizing the whole
Use Lean Software Development:Build stories in a low-cost, high quality manner
Use agile methods to:Iterations with replanningSynchronize stories
Create Management Visibility
The Purpose of Iterations
-
8/13/2019 2006_07_12_lean
88/113
7/12/200688 Copyright2005 Net Objectives
Iterations allow us to:Coordinate separate storiesCoordinate planning sessionsGet feedback to customers at predictable times
Synchronize story productionCreate visibility to management.
Iterations give the opportunity to adjust betweenthem.
Flow in Software
-
8/13/2019 2006_07_12_lean
89/113
7/12/200689 Copyright2005 Net Objectives
Get a feature describedDefine test for its acceptanceBuild itTest it
Validate it
Remove impediments from this flow
Requires system of small, prioritized, stories.
-
8/13/2019 2006_07_12_lean
90/113
www.netobjectives.com Net [email protected]
software developmentsoftware development
l e a n -l e a n -a g i l ea g i l e
Impediments to Lean
-
8/13/2019 2006_07_12_lean
91/113
91 Copyright , 2006 Net Objectives 5/15/2006
-
8/13/2019 2006_07_12_lean
92/113
Command And Control
-
8/13/2019 2006_07_12_lean
93/113
7/12/200693 Copyright2005 Net Objectives
ViolatesRespect peopleCreate knowledgeDefer commitment
Eliminate waste (causes waste)
Ignores reality that software development is not a
deterministic process
Work-Arounds Vs. Fixing Root Causes
-
8/13/2019 2006_07_12_lean
94/113
7/12/200694 Copyright2005 Net Objectives
Continues wasteful practices
Disrespects peoples timeCreates an attitude that eliminating waste isntimportantCant improve ongoingly
Perhaps the Biggest
-
8/13/2019 2006_07_12_lean
95/113
7/12/200695 Copyright2005 Net Objectives
Software is different from other industriesWe therefore believe we cant learn from otherindustriesWe therefore cant learn about lean because even
though it works elsewhere, it wont work here
Imagine
Back in the 80s when it was clear Toyota was doing
-
8/13/2019 2006_07_12_lean
96/113
7/12/200696 Copyright2005 Net Objectives
Back in the 80s, when it was clear Toyota was doingsomething different, instead of this attitude:Oh, thats because they are Japanese, they work harder andlisten to what their managers tell them besides We therefore cant use what they have developed
We said:Oh, they are doing something correctly. Maybe we shouldlearn their techniques, thoughts, process, paradigm, and seeif we can improve our own.
What would the automotive industry look like now?
Now imagine, what if we in software development say What can we learn from Lean, now?Where will we be in 20 years?
Influence Diagram
-
8/13/2019 2006_07_12_lean
97/113
7/12/200697 Copyright2005 Net Objectives
ll e a n -
-
8/13/2019 2006_07_12_lean
98/113
www.netobjectives.com Net [email protected]
software developmentsoftware development
l e a n -a g i l ea g i l e
Thank You! More Information: www.netobjectives.com and
www.poppendieck.com
A Short List of Books1. Taiichi Ohno Toyota Production System
-
8/13/2019 2006_07_12_lean
99/113
7/12/200699 Copyright2005 Net Objectives
2. Mary & Tom Poppendieck Lean Software Development
3. Mary & Tom Poppendieck Implementing Lean Software Development: FromConcept to Cash
4. Michael Kennedy Product Development in the Lean Enterprise
5. Mike Cohn Agile Estimating and Planning
6. Mugridge & Cunningham Fit for Developing Software
7. William Bridges Managing Transitions
8. Geoffrey Moore Dealing with Darwin
Copyright2005 Poppendieck.LLC
Net Objectives Who We Are
Vision : Effective software development without suffering
http://www.amazon.com/exec/obidos/ASIN/0915299143/ref=ase_thenorthwestleanhttp://www.amazon.com/gp/reader/0738208248/ref=sib_dp_pt/103-9805499-1641469http://www.amazon.com/gp/product/images/0321437381/ref=dp_image_0/103-9805499-1641469?%5Fencoding=UTF8&n=283155&s=books -
8/13/2019 2006_07_12_lean
100/113
7/12/2006100 Copyright2005 Net Objectives
Vision : Effective software development without suffering.Mission : To assist companies in maximizing the businessvalue returned from their efforts in software development
and maintenance. We do this by providing training,coaching, and consulting that both directly assists andempowers our customers to create and sustain this ability.
Our staff: Includes several recognized experts in the area ofScrum, Use Cases and Design Patterns.Our expertise includes:
Lean Software DevelopmentAgile methods (Scrum, XP, RUP)Agile AnalysisDesign Patterns
Test-Driven Development
Net Objectives Community of Practice
We provide a public forum for discussion of topics
-
8/13/2019 2006_07_12_lean
101/113
7/12/2006101 Copyright2005 Net Objectives
We provide a public forum for discussion of topicsincluding:Design patterns
Agile methods (including XP, Scrum, RUP)Use casesEmergent design
We also have several books under development on-line forreview by the community.Go to http://www.netobjectivesgroups.com for moreinformation.To subscribe to our e-zine, go tohttp://www.netobjectives.com/subscribe.htm and fill out ouronline subscription form.
Upcoming Free Seminars
http://www.netobjectivesgroups.com/http://www.netobjectives.com/subscribe.htmhttp://www.netobjectives.com/subscribe.htmhttp://www.netobjectives.com/subscribe.htmhttp://www.netobjectivesgroups.com/ -
8/13/2019 2006_07_12_lean
102/113
7/12/2006102 Copyright2005 Net Objectives
Executive Briefing On Agile Software
Development June 7, Seattle
See http://www.netobjectives.com/events/pr_main.htm
for more information
Upcoming Public Coursesin California
f
http://www.netobjectives.com/events/pr_main.htmhttp://www.netobjectives.com/events/pr_main.htm -
8/13/2019 2006_07_12_lean
103/113
7/12/2006103 Copyright2005 Net Objectives
ScrumMaster Certification Aug 7-8The Product Owner: Managing Agile Requirements Aug 9-10
Design Patterns Explained Aug 15-17ScrumMaster Certification Oct 10-11The Product Owner: Managing Agile Requirements Oct 12-13
All courses 9am-5pm
See http://www.netobjectives.com/events/pr_main.htmfor more information
Overview of Training Lean Software Development
Lean Software Development: A Practitioners CourseLean Software For Managers
http://www.netobjectives.com/events/pr_main.htmhttp://www.netobjectives.com/events/pr_main.htm -
8/13/2019 2006_07_12_lean
104/113
7/12/2006104 Copyright2005 Net Objectives
Lean Software For ManagersAgile/Scrum
Certified ScrumMaster TrainingCertified Product Owner: Managing Agile Requirements
Introduction to ScrumAgile AnalysisEffective Use Case AnalysisAgile Use Case Analysis
Design Patterns
Design Patterns ExplainedTest-Driven Development
Test-Driven Development: Iterative Development With Refactoringand Unit-Testing
Effective Programming
Effective Object-Oriented Analysis and DesignEffective Agile ProgrammingASP.NET
Effective ASP.NETTest-Driven ASP.NET
Integrated CustomAgile Software Development with Design Patterns
Business/Corporate PerspectiveLean Software Development
Lean Software Development: A Practitioners Course. Of themany methods that have arisen to improve software development,
-
8/13/2019 2006_07_12_lean
105/113
7/12/2006105 Copyright2005 Net Objectives
Lean is emerging as one that is grounded in decades of workunderstanding how to make processes better. Lean thinkingfocuses on giving customers what they want, when and where thewant it, without a wasted motion or wasted minute. This 2-daycourse teaches how to apply lean principles such as: RapidResponse, Constant Learning, Built-in Quality, Local Responsibilityand Global Optimization to software development by workingthrough real problems with your peers . This course is based onthe work of Mary and Tom Poppendieck.
Lean Software For Managers What do PatientKeeper, a hospitaldata management system, and Zara, a high fashion clothing chain,have in common with Dell Computer and Toyota MotorCorporation? All four companies are overwhelming their
competition with a constant flood of new products that seem to beexactly what customers want, even as they set the standard forquality and value. How do they do it? To these companies, LeanThinking is a way of life: Rapid Response, Constant Learning,Built-in Quality, Local Responsibility and Global Optimization arepart of the culture.
Project Management Perspective Agile/Scrum
Certified ScrumMaster Training. Agile project management is asradically different from traditional project management as agile
-
8/13/2019 2006_07_12_lean
106/113
7/12/2006106 Copyright2005 Net Objectives
processes are different from traditional methodologies. One of the mostpopular agile methods is called Scrum, and this course is aboutmanaging Scrum projects. Rather than plan, instruct and direct, theagile project manager (called the ScrumMaster) facilitates, coaches andleads. In this course you are certified as a ScrumMaster and learn howto make a development team, a project, or an organization agile. Thecourse consists of lecture, hands-on discussions and exercises, casestudies, and examples used to educate you in the way of theScrumMaster.
Certified Product Owner: Managing Agile Requirements. Iterativedevelopment has proven itself to be successful but, managing businessexpectations and driving development is still hard. We demonstrate howto strike this balance. Further, we explore the benefits andresponsibilities of the Product Owner, arguably the hardest job in
software development. The existence of a qualified, empowered,Product Owner with analytic support is one of the major success factorsfor processes.Introduction to Scrum. Learn why Scrum is an easy to apply agilesoftware development method that can apply to large and smallorganizations alike. All students who successfully complete this coursebecome Certified Scrum Masters.
Technical Perspective Agile Analysis
Effective Use Case Analysis. Use Cases are the best tool known forcapturing, documenting, and validating the functional requirements for
-
8/13/2019 2006_07_12_lean
107/113
7/12/2006107 Copyright2005 Net Objectives
capturing, documenting, and validating the functional requirements fora system. Unfortunately, trying to capture a system's use cases all atonce often leads to a severe case of "analysis paralysis". Our approachto use case development is an incremental one that allows us to
develop, refine, and validate use cases as we move to more detailedsoftware requirements. We call this technique the Ever-Unfolding Story,and it is the subject of this course.Agile Use Case Analysis. Agile software development is based on asimple concept: work on the most important things first, and iterativelylook for what is 'now' the most important thing. By doing this adevelopment team is able to adapt to changes as they occur, andmaximize effectiveness of the development effort. We use the term"Agile Use Cases" to refer to an incremental technique for iterativelydeveloping Use Cases and refining them into software requirementsusing the Ever-Unfolding Story. Agile Use Cases provide for frequent
validation of the requirements, thus supporting agile development.These courses are similar in content, but with different focus, the first is for larger,more traditional, projects; while the second is designed to support agiledevelopments. Each of these 3-day courses consists of lecture and hands-onexercises, and the use case portion is largely based on Alistair Cockburn's book"Writing Effective Use Cases" - winner of the Jolt Productivity Award for 2001.
Technical PerspectiveDesign Patterns,
Test-Driven DevelopmentDesign Patterns Explained: A New Perspective on Object-Oriented
Design. This 3-day course goes beyond merely teaching several designI l h h i i l d i h k d i
-
8/13/2019 2006_07_12_lean
108/113
7/12/2006108 Copyright2005 Net Objectives
Test Driven Development patterns. It also teaches the principles and strategies that make designpatterns good designs. This enables students to use these advanceddesign techniques in their problems whether design patterns are even
present. After teaching several patterns and the principles underneaththem, the course goes further by showing how patterns can worktogether to create robust, flexible, maintainable designs.
Test-Driven Development: Iterative Development With
Refactoring and Unit-Testing. 3 days. The practice of Agile SoftwareDevelopment requires, among other things, a high degree of flexibilityin the coding process. As we get feedback from clients, stakeholders,and end users, we want to be able to evolve our design and
functionality to meet their needs and expectations. This implies anincremental process, with frequent (almost constant) change to thecode we're working on. Refactoring, the discipline of changing codewithout harming it, is an essential technique to enable this process. Unittesting, which ensures that a given change has not caused an
unforeseen ripple effect in the system, is another.
Technical PerspectiveEffective Programming
Effective Object-Oriented Analysis and Design. This 5-day courseis taught in C++, C#, and/or Java. C++, C#, and Java are powerful
-
8/13/2019 2006_07_12_lean
109/113
7/12/2006109 Copyright2005 Net Objectives
programming languages. Their true value emerges only if they areapplied with good object-oriented practices. Without these, they can bedifficult languages to maintain and extend. Although many people
understand the basics of object-oriented programming (polymorphism,interfaces, encapsulation, ...) they don't understand how to use theseeffectively. This course starts with a better way to do analysis than istraditionally taught. It follows up with 14 practices that both enablebetter object-oriented coding as well as create a better understandingof object-oriented design. These practices come from both designpatterns and new agile coding methods. (This course is about 40% lab)
Effective Agile Programming. Requirements change. This is the new
(or not so new) mantra of software development. Changingrequirements mandate changeable code. This 3-day course deals withhow we write changeable code. It covers issues of code quality, corecoding practices, basic object-orientation, refactoring and unit-testing. It then discusses the issue of how to deal with existing legacycode.
Language Support ASP.NET Training
Effective ASP.NET. Microsoft's ASP.NET is a powerful new technology
for developing web applications. Its very power of being a simple toolfor building robust applications also gives it the tendency to generatei t ight if t d i t l Th bl b gi
-
8/13/2019 2006_07_12_lean
110/113
7/12/2006110 Copyright2005 Net Objectives
maintenance nightmares, if not used appropriately. The problems beginwhen the application grows beyond a few simple pages. Solid designtechniques must be used to keep such applications flexible andmaintainable. We take the time to clearly reveal how web applicationswork, and how they differ from traditional GUI or console-basedapplications.Test-Driven ASP.NET. Test-Driven Development (TDD) is a powerfultool for combining software design, testing, and coding to increasereliability and productivity. With ASP.NET, however, Microsoft hascreated a tool that doesn't easily lend itself to test-driven development.Furthermore, the ease of creating ASP and ASP.NET applications has ledto established applications that don't have any tests, making changesdifficult and risky. Savvy developers have been looking for ways toapply test-driven development to both new and existing code so they
can make changes quickly and safely. In this course, we teach you howto use NUnitAsp to perform test-driven ASP.NET. We show you "bestpractices" for performing test-driven development of new ASP.NET andthen dive into the challenges and solutions of adding tests to existingcode. We provide guidance in test-driven development, NUnitAsp, andthrow in lots of pithy comments derived from years of experience witharchitecting web applications.
Customized Integrated
-
8/13/2019 2006_07_12_lean
111/113
7/12/2006111 Copyright2005 Net Objectives
Agile Software Development with Design Patterns. This 5-day course analyzes what it means to be an agile project, andprovides a number of best practices that enhance agility(focusing on XP). After teaching several patterns and theprinciples underneath them, the course goes further by showinghow patterns can work together with agile developmentstrategies to create robust, flexible, maintainable designs.
Bibliography
-
8/13/2019 2006_07_12_lean
112/113
7/12/2006112 Copyright2005 Net Objectives
Best search engine for buying books: www.bestbookbuys.com
Full bibliography at http://www.netobjectives.com/bib . Includes:
Articles by us
Streamzines by us
Recommended reading list
Toyota Production System
http://www toyota co jp/en/vision/production sys
http://www.netobjectives.com/bibhttp://www.netobjectives.com/bibhttp://www.toyota.co.jp/en/vision/production_system/video.htmlhttp://www.toyota.co.jp/en/vision/production_system/video.html -
8/13/2019 2006_07_12_lean
113/113
7/12/2006113 Copyright2005 Net Objectives
http://www.toyota.co.jp/en/vision/production_system/video.html
http://www.toyota.co.jp/en/vision/production_system/video.htmlhttp://www.toyota.co.jp/en/vision/production_system/video.htmlhttp://www.toyota.co.jp/en/vision/production_system/video.htmlhttp://www.toyota.co.jp/en/vision/production_system/video.html