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

Under Pressure

Under Pressure

This talk is an exploration of how we react to pressure on our software projects to GO FASTER!
Originally presented at Agile and Beyond 2017


Todd Kaufman

May 04, 2017

More Decks by Todd Kaufman

Other Decks in Programming


  1. Under Pressure Resisting the urge to GO FASTER

  2. My name is Todd Kaufman Tweet away @toddkaufman Say hello@testdouble.com

  3. Disclaimer: The stories you are about to hear are strictly

  4. The Team

  5. The Team

  6. The Team

  7. Iterations Points Remaining

  8. Iterations Points Remaining

  9. Iterations Points Remaining

  10. Iterations Points Remaining

  11. “We need to add more people!”

  12. “Let’s work weekends until we’re back on track!”

  13. “I’ll just skip tests for this feature and come back

    to do them later”
  14. Will we SPEED UP?

  15. Faster 10% Slower 90% Results

  16. and the cycle continues…

  17. How do we react to PRESSURE

  18. How can we avoid PRESSURE

  19. More People

  20. None
  21. Does adding developers resources to a project, that is already

    late, speed it up?
  22. Nope

  23. None
  24. Why is this?

  25. 1. Ramp up 2. Communication 3. Separation of work 4.

    Integration 5. Dysfunction
  26. “Adding manpower to a late software project makes it later.”

    Brook’s Law
  27. “Adding people to a dysfunctional software environment makes it even

    more inept.” Todd’s Law
  28. Instead

  29. Fix existing issues

  30. None
  31. None
  32. None
  33. Remove negativity and waste

  34. More Commitment

  35. PMs like per sprint estimation

  36. Predictable outcomes

  37. Time 1x .25x 4x Cone of uncertainty

  38. Realistic cone of uncertainty

  39. Time 1x .25x 8x

  40. “When will we be done?”

  41. “We don’t know”

  42. One cannot simply change an estimate to a commitment

  43. #noestimates

  44. 3 possible outcomes

  45. 1. Nailed it!

  46. 2. Early

  47. 3. Late

  48. How does that affect the next estimation session?

  49. None
  50. Instead

  51. #noestimates

  52. Cycle Time

  53. Quick Sizing

  54. More Stress

  55. Does applying pressure work?

  56. Stress Performance Fatigue Exhaustion ILL - Health Breakdown Comfort Zone

  57. What about creativity?

  58. Creativity Under the Gun

  59. Mon Tues Wed Thur Fri Creativity

  60. Mon Tues Wed Thur Fri Creativity

  61. Mon Tues Wed Thur Fri Creativity Planning Meeting

  62. Mon Tues Wed Thur Fri Creativity Planning Meeting

  63. Mon Tues Wed Thur Fri Creativity Planning Meeting

  64. Are developers lazy?

  65. not when properly motivated

  66. None
  67. But we aren’t saving lives…

  68. Focus less on stress

  69. Instead

  70. Focus more on Why

  71. Cut Corners

  72. Do we reduce QUALITY in order to speed up?

  73. What is quality?

  74. “low Cyclomatic Complexity”

  75. “SOLID”

  76. “High Test Coverage!”

  77. Quality How easily and safely we can change a codebase

  78. Do we reduce QUALITY in order to speed up?

  79. Less Tests

  80. Less Refactoring

  81. More Complexity

  82. Less Comprehension

  83. More Defects

  84. More Rework

  85. Less Quality

  86. Less Speed

  87. Instead

  88. Resist!

  89. Make Debt Visible

  90. Pair More

  91. Estimation

  92. #noestimates

  93. Are there cases where we should estimate?

  94. “Is there a ROI?”

  95. $150k

  96. $150k $780k

  97. Left with only this data…

  98. We need estimation

  99. We need to get better at estimation

  100. Why is ESTIMATION so difficult?

  101. 1. Optimism Bias

  102. Other 5% Programming 95% Workday as we estimate it

  103. Other 10% Cukes 15% Meetings 25% Work 50% Workday as

    we live it
  104. 2. No two things are alike

  105. 3. Requirements suck

  106. “The ability to report on data”

  107. Instead

  108. Team Level Cycle Time

  109. Resist Change

  110. Leverage Spikes

  111. Adjust Fidelity

  112. Is it just a Lack of trust?

  113. Yes

  114. Have we earned it?

  115. No

  116. Discipline and Accountability

  117. Objectives Constraints Fidelity

  118. Communication Impediments Organization

  119. Estimation Quality Resistance

  120. Predictable over Quick

  121. Thank you!

  122. References: https://www.amazon.com/Exit-Voice-Loyalty-Responses-Organizations/dp/0674276604 https://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/ 0201835959 http://dilbert.com/strip/2010-04-29 https://hbr.org/2015/04/why-some-men-pretend-to-work-80-hour-weeks https://hbr.org/2002/08/creativity-under-the-gun http://www.construx.com/Resources/White_Papers/Managing_Technical_Debt/ Icons: Dice

    by Hopkins from the Noun Project Clamp by Tomas Knopp from the Noun Project Quality badge by Gregor Cresnar from the Noun Project Communication by Oksana Latysheva from the Noun Project options by Bernar Novalyi from the Noun Project Unicorn by Lele Saa from the Noun Project Tshirt by Edward Boatman from the Noun Project Lock by Aleksandr Vector from the Noun Project
  123. None