Más contenido relacionado La actualidad más candente (20) Similar a Form Follows Function: The Architecture of a Congruent Organization (20) Form Follows Function: The Architecture of a Congruent Organization2. Ken Pugh
Net Objectives
A fellow consultant with Net Objectives (netobjectives.com), Ken Pugh helps companies
transform into lean agile through training and coaching. Ken’s particular interests are in
communicating (particularly, effective requirements communication), delivering business value,
and using lean principles to deliver high quality quickly. He trains, mentors, and testifies on
technology topics ranging from object-oriented design to Linux/Unix. Ken has authored the Jolt
Award winning Prefactoring, Interface-Oriented Design, and Lean-Agile Acceptance Test Driven
Development: Better Software Through Collaboration. He has helped clients from London to
Boston to Sydney to Beijing to Hyderadad. When not computing, Ken enjoys snowboarding,
windsurfing, biking, and hiking the Appalachian Trail. He can be reached
at ken.pugh@netobjectives.com.
3. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
info@netobjectives.com
www.netobjectives.com
Form Follows Function:
The Architecture of a
The Architecture of a
Congruent Organization
Guiding Your Organization, People and Processes
Guiding Your Organization People and Processes
To Congruency
Ken Pugh, Fellow Consultant, Net Objectives
All pictures Copyright © Ken Pugh, except as noted
1
Copyright © 2012Net Objectives. All Rights Reserved.
August, 201
V3
12 September 2012
Ken Pugh
Fellow Consultant for Net Objectives
Photo
Size:
Height: 2.25
Position:
from top left corner
Horizontal 0.75
Vertical 1.
Picture Style: Simple Black
Frame
Lean, Agile, ATDD, TDD, OO, etc.
Over 2/5
Over 2/5 century of software development
of software development
experience
Author of seven books, including:
– Prefactoring: Extreme Abstraction, Extreme
ken.pugh
@netobjectives.com
Separation, Extreme Readability (2006 Jolt Award)
– Interface Oriented Design
– Lean Agile Acceptance Test‐Driven Development:
l
l
Better Software Through Collaboration
No code goes in till the test goes on.
A journey of two thousand miles begins with a single step.
2
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
1
4. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Overall Rule
There are exceptions to every statement, except this
one
Ideas expressed in this talk may not work for all
organizations
3
3
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Form and Function
Feedback
Lean
Tools
Trust
Time
Business Value
Metrics
Teams
Communication
4
Copyright © 2011 Net Objectives
Estimating
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
2
5. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Head above the clouds
5
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Form and
Function
6
Copyright © 2011 Net Objectives
12 September 2012
3
6. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Form Follows Function
7
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
8
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Copyright © 2011 Net Objectives
4
7. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
9
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
10
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Copyright © 2011 Net Objectives
5
8. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Function Follows Form
11
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Congruency
Congruency = all actions work toward an agreed upon
goal
Actions and form of an organization match its desired
processes
12
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
6
9. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Shared vision
13
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
14
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Copyright © 2011 Net Objectives
7
10. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Lean
15
12 September 2012
Lean
Lean – congruent process
– Drive from business value
– Deliver in small pieces
– Transparency
Concentrate on
– Flow
– Waste
16
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
8
11. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Small
17
Copyright © 2012 Net Objectives. All Rights Reserved.
Idea
18
Copyright © 2011 Net Objectives
Business decision
Flow
Implementation
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Availability
12 September 2012
9
12. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
business value
Why?
20
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
10
13. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Definition of Done
21
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
22
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Copyright © 2011 Net Objectives
11
14. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
23
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Small
24
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
12
15. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Business Value
25
12 September 2012
Both Sides
How many measure savings / earnings versus the cost
part?
26
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
13
16. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Business Value – What Is It? (1)
"I can't define it, but I know it when I see it"
27
27
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Business Value – What Is It? (2)
Business Value can be:
– Increased revenue (sales, royalties, fees) ($$)
–D
Decreased expenses ($$)
d
($$)
Less resources
More efficient use of resources
– Customer satisfaction ($$ ??)
Promoters / Satisfiers/ Detractors
– Staying in business ($$ ??)
– Staying out of jail ($$ ??)
Staying out of jail ($$ ??)
– Avoiding risk ($$ ??)
28
28
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
14
17. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Business Value Measurement
Customer estimate business value for items
Could use $$
Often difficult to do or compute
Business value is unit‐less
– Relative
– Allows comparison between non‐$$ and $$
As item is "done", business value achieved
29
29
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Bang for the Buck
BfB is estimate of “return on investment”
BfB = BV/EE
– EE – relative effort estimation
30
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
15
18. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Business Value Chart
BV
Iteration
31
31
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Teams
32
Copyright © 2011 Net Objectives
12 September 2012
16
19. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Football teams
Product team
– offensive unit
– defensive unit
– special teams unit
– customer unit
– developer unit
– tester unit
33
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
34
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Copyright © 2011 Net Objectives
17
20. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
© U.S. Army
35
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Successful Teams
Successful teams:
–
–
–
–
Collaborate
Shared accountability
Shared approach to doing work
Shared history
36
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
18
21. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Teams
Collaboration
– Best collaboration requires collocation
– Make physical separation as close to physical togetherness
Virtual wall
Shared approach and history
– Keep teams together
37
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
38
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Copyright © 2011 Net Objectives
19
22. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
39
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Trust
40
Copyright © 2011 Net Objectives
12 September 2012
20
23. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Trust
Trust
– Reliability
– Predictability
– Competence
41
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Trust Building
Acknowledge that trust takes time to build and
emerge
– Therefore, keep teams together
Respond back with good or bad news in a timely
manner
Minimize split project assignments
Frequent delivery
q
y
42
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
21
24. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Trust – Not
43
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Testing Builds Trust and Accountability
44
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
22
25. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Metrics
45
12 September 2012
The metric is the message
**** Need picture here of a ruler
46
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
23
26. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
47
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Metrics
What is important?
– Customer /user satisfaction
– Production defects
– Rate of delivery of business value
48
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
24
27. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Monitor At Appropriate Level
49
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
To encourage innovation,
reward failure
50
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
25
28. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Feedback
51
12 September 2012
Feedback
No feedback
Desired
With feedback
Delivered
Desired
Delivered
52
52
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
26
29. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
frequency of
measuring mileage
Shorten Feedback
54
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
27
30. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
What Helps Lean
Congruency
55
12 September 2012
Clear Prioritization
56
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
28
31. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Tradeoffs
Time
Quality
Resources
Scope
57
57
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Policies
Driving in Germany ‐ picture of autobahn
58
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
29
32. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Resource Utilization
59
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Big Picture
60
Copyright © 2011 Net Objectives
12 September 2012
30
33. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
61
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Big Picture
62
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
31
34. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Time
63
12 September 2012
Multi‐tasking
Picture of multi‐tasker
Highest priority item done first
64
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
© istockphoto.com
12 September 2012
32
35. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Multi‐tasking
65
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
66
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Copyright © 2011 Net Objectives
33
36. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Issues
67
68
Copyright © 2011 Net Objectives
12 September 2012
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
34
37. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Prototype
69
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Technical Debt
70
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
35
38. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Sometimes You Start Over
71
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Everything’s Relative
72
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
36
39. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
daily hike distance
Look ahead is okay
© istockphoto.com
74
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
37
40. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Communication
75
75
76
Copyright © 2011 Net Objectives
12 September 2012
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
38
41. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
“Done”
“The program is done”. Does that mean?
A.
B.
C.
D.
The code compiles
The program passes the programmer's tests
The program passes the tester's test
The program has been accepted by the customer
77
Copyright © 2012 Net Objectives. All Rights Reserved.
77
12 September 2012
“Tomorrow”
“I'll have that for you tomorrow”. Does that mean?
A.
B.
C.
D.
First thing in the morning
Sometime during the day
By the time I leave work tomorrow
At least one second before midnight
78
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
39
42. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
“Late”
A meeting is scheduled to start at 10:00 a.m. What
is “late”?
A.
B.
C.
D.
Anytime after 10:00 a.m.
After 10:05 a.m. (grace period)
Being the last person to arrive
No time, as long as there is an excuse
79
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Use customer terms
Copyright © 2011 Net Objectives
40
43. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Tools
81
12 September 2012
Function Then Form
Determine your process first manually
Then find the tool to match your process
82
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
41
44. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Why software?
83
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Estimating
84
Copyright © 2011 Net Objectives
12 September 2012
42
45. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
estimating
Estimates
Guesses, not reality
Why estimate?
– Aid in planning
– But not replace it
Metrics on estimates?
86
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
43
46. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Estimating – Gaussian
Most Likely
Average
g
0.25
0.2
0.15
Series1
0.1
0.05
0
1
2
87
87
3
4
5
6
7
8
9 10 11 12 13 14
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Estimating – Typical Distribution
Most Likely
Average
0.18
0.16
0 16
0.14
0.12
0.1
Series1
0.08
0.06
0.04
0.02
0
1
88
88
Copyright © 2011 Net Objectives
2
3
4
5
6
7
8
9
10
11
Copyright © 2012 Net Objectives. All Rights Reserved.
12
13
14
12 September 2012
44
47. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Why Things Take Longer
“Common cause” – known reasons
–
–
–
–
Lack of standard development process
Lack of automation
Interruptions
Changing priorities of work in progress
“Special cause” ‐ unforeseen reasons
89
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Change
90
Copyright © 2011 Net Objectives
12 September 2012
45
48. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
New Status Quo
Old Status Quo
Transforming Idea
Chaos
Change Model From Virginia Satir
91
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Matrix
Matrix of project versus function
Team /
Team /
Function
Business
Business
Analysts
Developers
Testers
Team A
Team B
Team C
Team D
92
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
46
49. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Differences
Absolute versus relative
Quantitative versus qualitative
93
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
Communication
Small
pieces
Teams
Business
Value
Vl
Priority
Flow
94
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
47
50. Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Thank You
95
Copyright © 2011 Net Objectives
Copyright © 2012 Net Objectives. All Rights Reserved.
12 September 2012
48