Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The art of systemic feedback - AOB2013

The art of systemic feedback - AOB2013

Slides from the Agile on the Beach 2013 conference talk on art of systemic feedback.

Marcin Floryan

September 05, 2013

More Decks by Marcin Floryan

Other Decks in Programming


  1. The art of systemic

  2. I’m Marcin Floryan http://marcin.floryan.pl

  3. Sergei head of IT @mfloryan

  4. The Conference: This presentation: #agileotb #feedback

  5. The Law of Two Feet

  6. Acceptance criteria Recognise feedback as a tool Identify properties and

    limitations of feedback Discover an approach to consider when designing feedback ☐ ☐ ☐
  7. Disclaimer It’s not about personal feedback

  8. Personal feedback considered harmful Commercial break

  9. None
  10. Non-inverting amplifier

  11. Non-inverting amplifier

  12. “ feedback improves performance (gain stability, linearity, frequency response, step

    response) and reduces sensitivity to parameter variations due to manufacturing or environment. Wikipedia
  13. “ Because of these advantages, negative feedback is used in

    this way in many amplifiers and control systems. Wikipedia
  14. “ information about reactions to a product which is used

    as a basis for improvement Oxford Dictionary feedback is
  15. “ the modification or control of a process or system

    by its results or effects Oxford Dictionary feedback is
  16. None
  17. None
  18. The client knows what they want

  19. “ No heart patient ever asked for a pacemaker Dr

  20. “ People generally work better by starting with something concrete

    and tangible, such as examples, by altering rather than creating from scratch, by watching, and by getting feedback. Agile Software Development: The Cooperative Game
  21. The developer knows how to build it

  22. “ Wouldn't it be easier just to do it right

    in the first place? Extreme Programming Explained
  23. Of course it would, except for three things:

  24. We may not know how to do it "right". If

    we are solving a novel problem there may be several solutions that might work or there may be no clear solution at all. 1
  25. What's right for today may be wrong for tomorrow. Changes

    outside our control or ability to predict can easily invalidate yesterday's decisions. 2
  26. Doing everything "right" today might take so long that changing

    circumstances tomorrow invalidate today's solution before it is even finished. 3
  27. “ We think that the best approach a team can

    take is to use empirical feedback to learn about the system and its use, and then apply that learning back to the system. Growing Object-Oriented Software, Guided by Tests
  28. Nothing will change along the way

  29. “ If your customer knows now just exactly what she

    wants, and if by the time you’re done she’s still going to want the same thing… Extreme Programming Installed
  30. “ It may be the first time in software history

    that this has happened. Extreme Programming Installed
  31. “ Directions set in advance of experience have an especially

    short half-life. Extreme Programming Explained
  32. “ Change is inevitable, but change creates the need for

    feedback. Extreme Programming Explained
  33. None
  34. None
  35. We are uncovering better ways of developing software by doing

    it and helping others do it
  36. Agile manifesto – principle 12 At regular intervals, the team

    reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  37. “ To mitigate the risk of uncertainty, Agile prescribes short

    iterations with lots of feedback. Lean-Agile Software Development
  38. None
  39. How’s this for feedback?

  40. “ Feedback - To learn the appropriate lessons at every

    possible opportunity The Art of Agile Development
  41. feedback

  42. deliberate learning

  43. feedback

  44. feedback recipe o make assumptions explicit o set a clear objective o create

    a careful design o learn from results o rinse and repeat
  45. assumptions

  46. “ Scientific reasoning is not something most people pick up

    naturally or automatically Kludge
  47. confirmation bias ! ! !

  48. “ […] people all too often look for cases that

    confirm their theories rather than consider whether some alternative principle might work better. Kluge
  49. clear objective

  50. Double loop learning

  51. careful design

  52. fast

  53. “ It should be obvious that fast feedback improves the

    speed of learning. The Principles of Product Development Flow
  54. “ What may be less obvious is that fast feedback

    also increases the efficiency with which we generate information and learn new things. The Principles of Product Development Flow
  55. short

  56. “ One thing scientists have noted about these intentional negative

    feedback loops is that short cycles are often better than long ones. […] And evaluating and correcting a project once per day is better than once per month. Management 3.0
  57. elimination of

  58. “ First learning obstacle concerns the lack of sufficient feedback

    due to infrequent decisions, which makes it hard to separate signal and background noise. Brilliant Mistakes
  59. learning

  60. “ Whether professionals have a chance to develop intuitive expertise

    depends essentially on the quality and speed of feedback, as well as on sufficient opportunity to practice. Thinking Fast And Slow
  61. repetition

  62. “An effective feedback process can be described as “acting responsively

    to meaningful data.” Release It
  63. None
  64. “Begin at the beginning, […] and go on till you

    come to the end: then stop. Alice in Wonderland
  65. “Software development, for any one work item is a process

    of knowledge discovery. David Anderson
  66. “ From cybernetics, we have adopted the view that a

    software development team is a goal- directed system that regulates itself using various feedback cycles. Management 3.0
  67. feedback about the product feedback about the process

  68. agile is naturally full of cycles

  69. iterations iterative development

  70. iterations produce increments

  71. 1 2 3 Incremental development by Jeff Patton

  72. using feedback requires iterative development

  73. 1 2 3 Iterative development by Jeff Patton

  74. Yes, iterative development means doing the same thing more than

  75. feedback about our product

  76. by  VFQ  from  emergn   Loops in software development

  77. exploration

  78. “ If the only feedback you receive is the errors

    detected late in the lifecycle of your project, during testing in the large, or after the application has been released, they are likely to be very expensive to fix. Agile Modeling
  79. coding

  80. “ Let’s be clear about that: if it’s worth having

    the programmers build it, it’s worth knowing that they got it right. Extreme Programming Installed
  81. unit testing

  82. “ Test-driven development applies the same [principle of fast and

    short feedback] principle to programmer intent. The Art of Agile Development
  83. integration

  84. acceptance

  85. demonstration

  86. production

  87. monitoring

  88. concept

  89. “ Only code that you can actually release to customers

    can provide real feedback on how well you’re providing value to your customers. The Art of Agile Development
  90. by  VFQ  from  emergn   Loops in software development

  91. “ The nested feedback loops reinforce each other; if a

    discrepancy slips through an inner loop, there is a good chance an outer loop will catch it. Growing Object-Oriented Software, Guided by Tests
  92. feedback about our process

  93. “ Everyone involved in a software project has to learn

    as it progresses. Growing Object-Oriented Software, Guided by Tests
  94. “ What is the simplest thing we can do to

    create fast feedback in a group of humans? Increase face-to- face communications. Don Reinertsen
  95. XP

  96. Scrum

  97. PDCA

  98. PDCA

  99. Lean

  100. OODA

  101. “ The second O, orientation […] is the most important

    part of the O-O-D-A loop since it shapes the way we observe, the way we decide, the way we act. John Boyd
  102. “ we apply feedback cycles at every level of development,

    organizing projects as a system of nested loops ranging from seconds to months Growing Object-Oriented Software, Guided by Tests
  103. The right tool?

  104. Cynefin by  Karl  Scotland  

  105. Cynefin simplified 1.  Just about everyone in the world has

    done this. 2.  Lots of people have done this, including several people in the company. 3.  Someone in our company has done this. 4.  Someone in the world did this, but not in our organization (and probably at a competitor). 5.  Nobody has ever done this before. a5er  Liz  Keogh  
  106. Cynefin by  Karl  Scotland   feedback

  107. Don’t use feedback

  108. “ information is fundamentally tied to the recipient’s uncertainty about

    the message’s content and their ability to predict it in advance WHAT-IF XKCD
  109. So, how’s this for feedback?

  110. What did we learn?

  111. I guess we learnt not to do it again…

  112. I guess we learnt not to do it again…

  113. “ Optimism is an occupational hazard of programming, feedback is

    the treatment. Extreme Programming Explained
  114. Further reading

  115. The Remember Slide • feedback is a learning tool • requires cycles

    • loops can be nested and concurrent • you have to design your feedback • assumptions + objective + results
  116. So Thank You

  117. License This presentation is provided under the Creative Commons Attribution

    - Share Alike 3.0 Unported License to Share — to copy, distribute and transmit the work to Remix — to adapt the work You are free Under the following conditions Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.