Upload
techwellpresentations
View
364
Download
4
Tags:
Embed Size (px)
DESCRIPTION
One principle architects employ when designing buildings is "form follows function." That is, the layout of a building should be based upon its intended function. In software, the same principle helps us create an integrated design that focuses on fulfilling the intent of the system. Ken Pugh explores congruency-the state in which all actions work toward a common goal. For example, as Ken sees it, if you form and promote integrated teams of developers, testers, and business analysts, then personnel evaluations should be focused on team results rather than on each individual’s performance. If you embrace the principle of delivering business value as quickly as possible, the entire organization should focus on that goal and not the more typical 100% resource utilization objective. If you choose to have agile teams, then they should be co-located for easy communication, rather than scattered across buildings or the world. Ken describes how you can identify and manage these and other challenges to move toward congruency so that form truly does follow function.
Citation preview
KT2 Keynote 11/8/2012 12:45 PM
"Form Follows Function: The Architecture of a Congruent
Organization"
Presented by:
Ken Pugh Net Objectives
Brought to you by:
340 Corporate Way, Suite 300, Orange Park, FL 32073 888‐268‐8770 ∙ 904‐278‐0524 ∙ [email protected] ∙ www.sqe.com
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 [email protected].
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 1
[email protected] www.netobjectives.com
Form Follows Function: Form Follows Function: The The Architecture of a Architecture of a
Congruent OrganizationCongruent OrganizationGuiding Your Organization People and Processes
1 Copyright © 2012Net Objectives. All Rights Reserved. 12 September 2012
Guiding Your Organization, People and Processes To Congruency
August, 201
V3
Ken Pugh, Fellow Consultant, Net ObjectivesAll pictures Copyright © Ken Pugh, except as noted
Ken Pugh
PhotoSize:
Height: 2.25Position:
Fellow Consultant for Net Objectives
Lean, Agile, ATDD, TDD, OO, etc.
Over 2/5 century of software development
from top left cornerHorizontal 0.75 Vertical 1.
Picture Style: Simple Black Frame
Over 2/5 century of software development experience
Author of seven books, including:
– Prefactoring: Extreme Abstraction, Extreme Separation, Extreme Readability (2006 Jolt Award)
– Interface Oriented Design
l l
2 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
No code goes in till the test goes on.A journey of two thousand miles begins with a single step.
– Lean Agile Acceptance Test‐Driven Development: Better Software Through Collaboration
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 2
Overall Rule
There are exceptions to every statement, except this oneIdeas expressed in this talk may not work for all organizations
3 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 20123
Form and Function
Trust
Lean
Business ValueMetrics
Feedback
ToolsTime
4 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Teams
Communication Estimating
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 3
Head above the clouds
5 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Form and Form and Function Function
6 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 4
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
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 5
9 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
10 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 6
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 © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 7
Shared vision
13 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
14 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 8
LeanLean
15 12 September 2012
Lean
Lean – congruent process – Drive from business value– Deliver in small pieces – Transparency
Concentrate on – Flow
16 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
– Waste
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 9
Small
17 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Flow Idea Business decision Implementation Availability
18 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 10
business value
Why?
20 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 11
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
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 12
23 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Small
24 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 13
Business Value Business Value
25 12 September 2012
Both Sides
How many measure savings / earnings versus the cost part?
26 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 14
Business Value – What Is It? (1)
"I can't define it, but I know it when I see it"
27 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 201227
Business Value – What Is It? (2)
Business Value can be:– Increased revenue (sales, royalties, fees) ($$)D d ($$)– Decreased expenses ($$)
Less resources More efficient use of resources
– Customer satisfaction ($$ ??)Promoters / Satisfiers/ Detractors
– Staying in business ($$ ??)Staying out of jail ($$ ??)
28 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
– Staying out of jail ($$ ??) – Avoiding risk ($$ ??)
28
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 15
Business Value Measurement
Customer estimate business value for itemsCould 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 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 201229
Bang for the Buck
BfB is estimate of “return on investment”BfB = BV/EE– EE – relative effort estimation
30 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 16
Business Value Chart
BV
31 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 201231
Iteration
Teams Teams
32 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 17
Football teams – offensive unit
Product team– customer unit
33 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
– defensive unit
– special teams unit
– developer unit
– tester unit
34 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 18
© 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 © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 19
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
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 20
39 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
TrustTrust
40 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 21
Trust
Trust– Reliability– PredictabilityPredictability– 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 assignmentsFrequent delivery
42 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
q y
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 22
Trust – Not
43 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Testing Builds Trust and Accountability
44 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 23
MetricsMetrics
45 12 September 2012
The metric is the message
**** Need picture here of a ruler
46 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 24
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 © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 25
Monitor At Appropriate Level
49 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
To encourage innovation, reward failure
50 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 26
FeedbackFeedback
51 12 September 2012
Feedback
No feedback
Desired Delivered
With feedback
DesiredDesired Delivered DesiredDelivered
52 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 201252
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 27
frequency of
measuring mileage
Shorten Feedback
54 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 28
What Helps Lean What Helps Lean CongruencyCongruency
55 12 September 2012
Clear Prioritization
56 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 29
Tradeoffs
Time
Scope Resources
Quality
57 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 201257
Policies
Driving in Germany ‐ picture of autobahn
58 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 30
Resource Utilization
59 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Big PictureBig Picture
60 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 31
61 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Big Picture
62 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 32
TimeTime
63 12 September 2012
Multi‐tasking
Picture of multi‐taskerHighest priority item done first
64 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012© istockphoto.com
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 33
Multi‐tasking
65 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
66 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 34
IssuesIssues
67 12 September 2012
68 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 35
Prototype
69 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Technical Debt
70 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 36
Sometimes You Start Over
71 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Everything’s Relative
72 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 37
daily hike distance
Look ahead is okay
74 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
© istockphoto.com
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 38
CommunicationCommunication
75 12 September 2012
75
76 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 39
“Done”
“The program is done”. Does that mean?A. The code compilesB. The program passes the programmer's testsC. The program passes the tester's testD. The program has been accepted by the customer
77 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 201277
“Tomorrow”
“I'll have that for you tomorrow”. Does that mean?A. First thing in the morningB. Sometime during the dayC. By the time I leave work tomorrowD. At least one second before midnight
78 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 40
“Late”
A meeting is scheduled to start at 10:00 a.m. What is “late”?A. Anytime after 10:00 a.m.B. After 10:05 a.m. (grace period)C. Being the last person to arriveD. No time, as long as there is an excuse
79 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Use customer terms
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 41
ToolsTools
81 12 September 2012
Function Then Form
Determine your process first manuallyThen find the tool to match your process
82 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 42
Why software?
83 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Estimating Estimating
84 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 43
estimating
Estimates
Guesses, not reality Why estimate?– Aid in planning – But not replace it
Metrics on estimates?
86 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 44
Estimating – Gaussian
Most Likely
Average
0
0.05
0.1
0.15
0.2
0.25
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Series1
g
87 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
1 2 3 4 5 6 7 8 9 10 11 12 13 14
87
Estimating – Typical Distribution
0 160.18
Most LikelyAverage
00.020.040.060.080.1
0.120.140.16
Series1
88 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
1 2 3 4 5 6 7 8 9 10 11 12 13 14
88
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 45
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
ChangeChange
90 12 September 2012
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 46
Old Status Quo
New Status Quo
Old Status Quo
Chaos Transforming Idea
91 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Change Model From Virginia Satir
Matrix
Matrix of project versus function
Team / Business Developers TestersTeam / Function
Business Analysts
Developers Testers
Team A
92 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Team B
Team C
Team D
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 47
Differences
Absolute versus relative Quantitative versus qualitative
93 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
Communication
Teams
Business V l
Small pieces
Priority
94 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012
FlowValue
Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
Copyright © 2011 Net Objectives 48
Thank You
95 Copyright © 2012 Net Objectives. All Rights Reserved. 12 September 2012