Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Programmer Anarchy (English)

9,671 views

Published on

Programmer Anarchy

The Agile movement shifted the relationship between clients and developers in a profound way. In waterfall processes, clients specified large amounts of functionality, then nervously faded into the background until the fateful day-of-delivery. With Agile, developers strove to engage with clients continuously, and delivered much more frequently against their needs. A new trust was established.

At the Forward Internet Group in London, we are implementing a second major shift between clients and developers. The trust of the clients in developers evolves into a broader trust of the developers to deliver business value without resorting to a series of well-defined stories. In essence, the business has empowered the developers to do what they think is right for the business. This model, popularized by Facebook, has several labels, but the one we prefer for our flavor is Programmer Anarchy.

We will start with stock Agile, and begin to apply environmental factors that led us to drop “standard” Agile practices. We will also watch as well-defined Agile roles evaporate completely as other environmental factors are applied. Finally, we will arrive at Programmer Anarchy, an organization often following none of the standard Agile practices, having no BA or QA roles, and even missing any managers of programmers.

We will summarize our environmental factors, and postulate on the required and optional factors. We will make bold, controversial assertions. We will back up these assertions with actual experiences.

Published in: Technology, Business
  • Be the first to comment

Programmer Anarchy (English)

  1. 1. Copyright © 2011 by Forward Internet Group, Ltd 1
  2. 2. PROGRAMMER ANARCHYFred GeorgeForward Internet Group, London, UKfredgeorge@acm.orgCopyright © 2011 by Forward Internet Group, Ltd 1
  3. 3. Copyright © 2011 by Forward Internet Group, Ltd 2
  4. 4. Experiences at...Copyright © 2011 by Forward Internet Group, Ltd 2
  5. 5. Experiences at...Copyright © 2011 by Forward Internet Group, Ltd 2
  6. 6. Copyright © 2011 by Forward Internet Group, Ltd 3
  7. 7. PerformanceCopyright © 2011 by Forward Internet Group, Ltd 3
  8. 8. PerformanceCopyright © 2011 by Forward Internet Group, Ltd 3
  9. 9. Performance £3m £7m £13m £27m £55mCopyright © 2011 by Forward Internet Group, Ltd 3
  10. 10. Performance £3m £7m £13m £27m £55m £0.5m £0.7m £1.0m £3.9m £10.0mCopyright © 2011 by Forward Internet Group, Ltd 3
  11. 11. £100mPerformance £3m £7m £13m £27m £55m £0.5m £0.7m £1.0m £3.9m £10.0m £15mCopyright © 2011 by Forward Internet Group, Ltd 3
  12. 12. Copyright © 2011 by Forward Internet Group, Ltd 4
  13. 13. Why is Forward Working?Copyright © 2011 by Forward Internet Group, Ltd 4
  14. 14. Copyright © 2011 by Forward Internet Group, Ltd 5
  15. 15. Cynefin Framework:Model for ProblemsCopyright © 2011 by Forward Internet Group, Ltd 5
  16. 16. Cynefin Framework:Model for Problems✦ Father is Dave Snowden✦ Published in Harvard Business Review, 2007 ✦ A Leaders Framework for Decision Making✦ Early publishing starting in 2000 from work at IBMCopyright © 2011 by Forward Internet Group, Ltd 5
  17. 17. Copyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 6
  18. 18. The Cynefin FrameworkCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 6
  19. 19. The Cynefin Framework Complicated SimpleCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 6
  20. 20. The Cynefin Framework Complicated Cause  Effect Simple Cause  EffectCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 6
  21. 21. The Cynefin Framework Complex Complicated Cause ? Effect Cause  Effect Chaotic Simple Effect? Cause? Cause  EffectCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 6
  22. 22. The Cynefin Framework Complex Complicated Disorder Chaotic SimpleCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 6
  23. 23. The Cynefin Framework Complex Complicated Disorder Chaotic SimpleCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 6
  24. 24. Copyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 7
  25. 25. Effective OrganizationsCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 7
  26. 26. Effective Organizations Complex Complicated Chaotic SimpleCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 7
  27. 27. Effective Organizations Complex Complicated Chaotic SimpleCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 7
  28. 28. Effective Organizations Complex Complicated Chaotic SimpleCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 7
  29. 29. Effective Organizations Complex Complicated Chaotic SimpleCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 7
  30. 30. Effective Organizations Complex Complicated Chaotic SimpleCopyright © 2011 by Forward Internet Group, Ltd Cynefin Framework by Dave Snowden 7
  31. 31. Copyright © 2011 by Forward Internet Group, Ltd 8
  32. 32. Agile Manifesto✦ Individuals and interactions over processes and tools✦ Working software over comprehensive documentation✦ Customer collaboration over contract negotiation✦ Responding to change over following a planCopyright © 2011 by Forward Internet Group, Ltd 8
  33. 33. Agile Manifesto✦ Individuals and interactions over processes and tools✓✦ Working software over comprehensive documentation ✓✦ Customer collaboration over contract negotiation ✓✦ Responding to change over following a plan ✓Copyright © 2011 by Forward Internet Group, Ltd 8
  34. 34. Copyright © 2011 by Forward Internet Group, Ltd 9
  35. 35. XP Values✦ Feedback✦ Communication✦ Simplicity✦ Courage✦ RespectCopyright © 2011 by Forward Internet Group, Ltd 9
  36. 36. XP Values✦ Feedback ✓✦ Communication ✓✦ ✓ Simplicity✦ Courage ✓✦ Respect ✓Copyright © 2011 by Forward Internet Group, Ltd 9
  37. 37. Copyright © 2011 by Forward Internet Group, Ltd 10
  38. 38. Agile Best Practices✦ Stand ups ✦ Unit tests✦ Story narratives ✦ Acceptance tests✦ Retrospectives ✦ Refactoring✦ Estimates ✦ Patterns✦ Iterations ✦ Continuous integration✦ Mandatory pairingCopyright © 2011 by Forward Internet Group, Ltd 10
  39. 39. Agile Best Practices Not Used✦ Stand ups ✦ Unit tests✦ Story narratives ✦ Acceptance tests✦ Retrospectives ✦ Refactoring✦ Estimates ✦ Patterns✦ Iterations ✦ Continuous integration✦ Mandatory pairingCopyright © 2011 by Forward Internet Group, Ltd 10
  40. 40. Copyright © 2011 by Forward Internet Group, Ltd 11
  41. 41. Agile Impact: Trust between Customer and DeveloperCopyright © 2011 by Forward Internet Group, Ltd 11
  42. 42. Trust Copyright © 2011 by Forward Internet Group, Ltd 12
  43. 43. Trust waterfall Copyright © 2011 by Forward Internet Group, Ltd 12
  44. 44. WHY? ✦ Larger systems ✦ Higher expectations ✦ Volatile commercial environmentsTrust ✦ etc... waterfall Copyright © 2011 by Forward Internet Group, Ltd 12
  45. 45. Trust waterfall Copyright © 2011 by Forward Internet Group, Ltd Idea from Mark Durrand, uSwitch 13
  46. 46. agile/leanTrust waterfall Copyright © 2011 by Forward Internet Group, Ltd Idea from Mark Durrand, uSwitch 13
  47. 47. Lean KanbanTrust SCRUM Agile XP waterfall agile/lean Copyright © 2011 by Forward Internet Group, Ltd Idea from Mark Durrand, uSwitch 13
  48. 48. Trust Cultural Chasm waterfall agile/lean Copyright © 2011 by Forward Internet Group, Ltd Idea from Mark Durrand, uSwitch 13
  49. 49. ✦ Frequency of interaction ✦ Process impact ✦ Fewer roles (& titles!)Trust Cultural Chasm waterfall agile/lean Copyright © 2011 by Forward Internet Group, Ltd Idea from Mark Durrand, uSwitch 13
  50. 50. Copyright © 2011 by Forward Internet Group, Ltd 14
  51. 51. Role Impact management Agile Roles business developmentCopyright © 2011 by Forward Internet Group, Ltd 14
  52. 52. Role Impact project manager iteration management manager Agile Roles business development customer programmer architect QA BA UI designer DBACopyright © 2011 by Forward Internet Group, Ltd 14
  53. 53. Role Impact project manager iteration management manager Agile Roles business development customer QA developer BACopyright © 2011 by Forward Internet Group, Ltd 14
  54. 54. Trust Cultural Chasm Fortune 50 story waterfall agile/lean Copyright © 2011 by Forward Internet Group, Ltd Idea from Mark Durrand, uSwitch 15
  55. 55. Cultural ChasmTrust Fortune 50 story waterfall agile/lean Copyright © 2011 by Forward Internet Group, Ltd Idea from Mark Durrand, uSwitch 15
  56. 56. Copyright © 2011 by Forward Internet Group, Ltd 16
  57. 57. Agile Roles✦ Customer✦ Project manager✦ Business analyst✦ Developer✦ Quality assurance / testerCopyright © 2011 by Forward Internet Group, Ltd 16
  58. 58. Agile Roles✦ Customer ✓✦ Project manager✦ Business analyst✦ Developer ✓✦ Quality assurance / testerCopyright © 2011 by Forward Internet Group, Ltd 16
  59. 59. Agile Roles✦ Customer ✓✦ X Project manager✦ Business analyst X✦ Developer ✓✦ Quality assurance / tester XCopyright © 2011 by Forward Internet Group, Ltd 16
  60. 60. Agile Roles Reduced Again...✦ Customer ✓✦ X Project manager✦ Business analyst X✦ Developer ✓✦ Quality assurance / tester X✦ Manager of programmers XCopyright © 2011 by Forward Internet Group, Ltd 16
  61. 61. Copyright © 2011 by Forward Internet Group, Ltd 17
  62. 62. Developer-Driven DevelopmentCopyright © 2011 by Forward Internet Group, Ltd 17
  63. 63. Developer-Driven Development Open Source BusinessCopyright © 2011 by Forward Internet Group, Ltd 17
  64. 64. Developer-Driven DevelopmentPROGRAMMER ANARCHY Open Source BusinessCopyright © 2011 by Forward Internet Group, Ltd 17
  65. 65. Copyright © 2011 by Forward Internet Group, Ltd 18
  66. 66. Why “ANARCHY”Copyright © 2011 by Forward Internet Group, Ltd 18
  67. 67. Why “ANARCHY”✦ EMPOWERMENT ✦ Somebody “gives” it ✦ Somebody can “take it away” ✦ Leads to “Can I ... ?”Copyright © 2011 by Forward Internet Group, Ltd 18
  68. 68. Why “ANARCHY”✦ EMPOWERMENT ✦ ANARCHY ✦ Somebody “gives” it ✦ Nobody to ask ✦ Somebody can “take ✦ Can’t stop someone it away” else ✦ Leads to “Can I ... ?” ✦ Disagreements expectedCopyright © 2011 by Forward Internet Group, Ltd 18
  69. 69. Copyright © 2011 by Forward Internet Group, Ltd 19
  70. 70. Matching Work and Devs Stories DevsCopyright © 2011 by Forward Internet Group, Ltd 19
  71. 71. Matching Work and Devs Stories Devs Stand UpCopyright © 2011 by Forward Internet Group, Ltd 19
  72. 72. Matching Work and Devs Projects Devs “Resource Rumble”Copyright © 2011 by Forward Internet Group, Ltd 19
  73. 73. Matching Work and Devs Projects Devs Who? “Resource Rumble”Copyright © 2011 by Forward Internet Group, Ltd 19
  74. 74. Copyright © 2011 by Forward Internet Group, Ltd 20
  75. 75. Agile Side Effect:Story TyrannyCopyright © 2011 by Forward Internet Group, Ltd 20
  76. 76. Agile Side Effect:Story Tyranny✦ Development driven by stories✦ Stories small✦ Priority set by customer✦ Story-level estimates and metricsCopyright © 2011 by Forward Internet Group, Ltd 20
  77. 77. Agile Side Effect:Story Tyranny✦ Development driven by stories✦ Stories small✦ Priority set by customer✦ Story-level estimates and metrics Problem: Developers become disconnected from business problem (Drones)Copyright © 2011 by Forward Internet Group, Ltd 20
  78. 78. Copyright © 2011 by Forward Internet Group, Ltd 21
  79. 79. Business Decisions Shift... Trust waterfall agile/lean anarchyCopyright © 2011 by Forward Internet Group, Ltd 21
  80. 80. Business Decisions Shift... Cust Dev Trust waterfall agile/lean anarchyCopyright © 2011 by Forward Internet Group, Ltd 21
  81. 81. Business Decisions Shift... Cust Dev Trust Cust Dev waterfall agile/lean anarchyCopyright © 2011 by Forward Internet Group, Ltd 21
  82. 82. Business Decisions Shift... Cust Dev Trust Cust Dev Cust Dev waterfall agile/lean anarchyCopyright © 2011 by Forward Internet Group, Ltd 21
  83. 83. Copyright © 2011 by Forward Internet Group, Ltd 22
  84. 84. forwardtechnology.co.ukCopyright © 2011 by Forward Internet Group, Ltd 22
  85. 85. Copyright © 2011 by Forward Internet Group, Ltd 23
  86. 86. Example: Energy RevolutionCopyright © 2011 by Forward Internet Group, Ltd 23
  87. 87. Example: Energy Revolution✦ Prior system: ✦ .NET with SQLServerCopyright © 2011 by Forward Internet Group, Ltd 23
  88. 88. Example: Energy Revolution✦ Prior system: ✦ .NET with SQLServer✦ New system: ✦ Ruby, Clojure, C++ ✦ MySQL, MongoDB ✦ HAML, SASSCopyright © 2011 by Forward Internet Group, Ltd 23
  89. 89. Copyright © 2011 by Forward Internet Group, Ltd 24
  90. 90. Example: Energy RevolutionCopyright © 2011 by Forward Internet Group, Ltd 24
  91. 91. Example: Energy Revolution✦ Ruby for energy calculation - big improvement!Copyright © 2011 by Forward Internet Group, Ltd 24
  92. 92. Example: Energy Revolution✦ Ruby for energy calculation - big improvement!✦ Rewrote in ClojureCopyright © 2011 by Forward Internet Group, Ltd 24
  93. 93. Example: Energy Revolution✦ Ruby for energy calculation - big improvement!✦ Rewrote in Clojure✦ Rewrote in Clojure (again)Copyright © 2011 by Forward Internet Group, Ltd 24
  94. 94. Example: Energy Revolution✦ Ruby for energy calculation - big improvement!✦ Rewrote in Clojure✦ Rewrote in Clojure (again) Question: What manager would let them to do it?Copyright © 2011 by Forward Internet Group, Ltd 24
  95. 95. Example: Energy Revolution✦ Ruby for energy calculation - big improvement!✦ Rewrote in Clojure✦ Rewrote in Clojure (again) Question: What manager would let them to do it? Hence: No manager!Copyright © 2011 by Forward Internet Group, Ltd 24
  96. 96. Copyright © 2011 by Forward Internet Group, Ltd 25
  97. 97. Example: Click TrackingCopyright © 2011 by Forward Internet Group, Ltd 25
  98. 98. Example: Click Tracking✦ Old system: ✦ Ruby-based, 32 servers with 40% utilizationCopyright © 2011 by Forward Internet Group, Ltd 25
  99. 99. Example: Click Tracking✦ Old system: ✦ Ruby-based, 32 servers with 40% utilization✦ New system: ✦ Node.js, 22 servers with 10% utilization and lower latencyCopyright © 2011 by Forward Internet Group, Ltd 25
  100. 100. Copyright © 2011 by Forward Internet Group, Ltd 26
  101. 101. Cultural EnablersCopyright © 2011 by Forward Internet Group, Ltd 26
  102. 102. Cultural Enablers Fear is the mind killerCopyright © 2011 by Forward Internet Group, Ltd 26
  103. 103. Cultural EnablersSound finances Like riskCopyright © 2011 by Forward Internet Group, Ltd 26
  104. 104. Cultural EnablersSound finances Like riskClarity of Developer success focused Respected peersCopyright © 2011 by Forward Internet Group, Ltd 26
  105. 105. Cultural Enablers Do or not do,Sound finances there is no try Like risk Experimentation drives innovation If you are not failing, you are not tryingClarity of Developer success focused Respected peersCopyright © 2011 by Forward Internet Group, Ltd 26
  106. 106. Cultural Enablers Do or not do,Sound finances there is no try Like risk Experimentation drives innovation If you are not failing, you are not tryingClarity of Developer success focused The greatest barrier to success is Respected peers the fear of failureCopyright © 2011 by Forward Internet Group, Ltd 26
  107. 107. Copyright © 2011 by Forward Internet Group, Ltd 27
  108. 108. Agile Best Practices Not Used✦ Stand ups ✦ Unit tests✦ Story narratives ✦ Acceptance tests✦ Retrospectives ✦ Refactoring✦ Estimates ✦ Patterns✦ Iterations ✦ Continuous integration✦ Mandatory pairingCopyright © 2011 by Forward Internet Group, Ltd 27
  109. 109. Agile Best Practices Not Used Trust w✦ Stand ups collocation ✦ Unit tests✦ Story narratives ✦ Acceptance tests✦ Retrospectives ✦ Refactoring✦ Estimates ✦ Patterns✦ Iterations ✦ Continuous integration✦ Mandatory pairingCopyright © 2011 by Forward Internet Group, Ltd 27
  110. 110. Agile Best Practices Not Used Trust w✦ Stand ups collocation ✦ Unit tests✦ Story narratives ✦ Acceptance tests✦ Retrospectives ✦ Refactoring✦ Estimates ✦ Patterns Results,✦ Iterations not blame ✦ Continuous integration✦ Mandatory pairingCopyright © 2011 by Forward Internet Group, Ltd 27
  111. 111. Agile Best Practices Not Used Trust w✦ Stand ups collocation ✦ Unit tests✦ Story narratives ✦ Acceptance tests Small,✦ Retrospectives ✦ Refactoring short-lived✦ Estimates ✦ Patterns apps Results,✦ Iterations not blame ✦ Continuous integration✦ Mandatory pairingCopyright © 2011 by Forward Internet Group, Ltd 27
  112. 112. Agile Best Practices Not Used Trust w✦ Stand ups collocation ✦ Unit tests✦ Story narratives ✦ Acceptance tests Small,✦ Retrospectives ✦ Refactoring short-lived✦ Estimates ✦ Patterns apps Results,✦ Iterations not blame ✦ Continuous integration✦ Mandatory pairing Continuous deploymentCopyright © 2011 by Forward Internet Group, Ltd 27
  113. 113. Copyright © 2011 by Forward Internet Group, Ltd 28
  114. 114. Reality CheckCopyright © 2011 by Forward Internet Group, Ltd 28
  115. 115. Reality Check✦ Different extent by team ✦ Talent, experience, apprehension ✦ Anarchy exists in how Anarchy is implemented✦ Even our best Anarchists “ask” on occasion✦ Commercial success driving freedomCopyright © 2011 by Forward Internet Group, Ltd 28
  116. 116. Copyright © 2011 by Forward Internet Group, Ltd 29
  117. 117. AcknowledgmentsCopyright © 2011 by Forward Internet Group, Ltd 29
  118. 118. Acknowledgments✦ Anarchists ✦ Andy Kent ✦ Paul Ingles ✦ Mike Jones ✦ ... and the rest of the Search TeamCopyright © 2011 by Forward Internet Group, Ltd 29
  119. 119. Acknowledgments✦ Anarchists ✦ Andy Kent ✦ Paul Ingles ✦ Mike Jones ✦ ... and the rest of the Search Team✦ Enablers ✦ Carl Gaywood and Neil HutchinsonCopyright © 2011 by Forward Internet Group, Ltd 29
  120. 120. Copyright © 2011 by Forward Internet Group, Ltd 30
  121. 121. PROGRAMMER ANARCHYCopyright © 2011 by Forward Internet Group, Ltd 30
  122. 122. Copyright © 2011 by Forward Internet Group, Ltd 30

×