Form Follows Function: The Architecture of a Congruent Organization

1,495 views

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,495
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
49
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Form Follows Function: The Architecture of a Congruent Organization

  1. 1.           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 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  2. 2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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

×