Save 37% off PRO during our Black Friday Sale! »

Humane Development

Humane Development

Agile. Scrum. Kanban. Waterfall. TDD. BDD. OOP. FP. AOP. WTH?

As a software developer, I can adopt methodologies so that I feel there's a sense of order in the world.

There's a problem with this story: We are humans, developing software with humans, to benefit humans. And humans are *messy*.

We wrap ourselves in process, trying to trade people for personas, points, planning poker, and the promise of predictability. Only people aren't objects to be abstracted away. Let's take some time to think through the tradeoffs we're making together.

2274a7476f6d2ac7aedcdec0651d0542?s=128

Ernie Miller

April 21, 2015
Tweet

Transcript

  1. Ernie Miller humanedevelopment.org @erniemiller Humane Development

  2. erniemiller

  3. None
  4. None
  5. None
  6. None
  7. It’s not my fault.

  8. Aptenodytes ashamed Dave Morris CC BY 2.0

  9. Lots of penguins Brian Gratwicke CC BY 2.0

  10. Walking away Mindy Kimball Used with permission

  11. Software

  12. Software + Team

  13. Software + Team + Culture

  14. Software + Team + Culture It’s totally my fault.

  15. STORY TIME!

  16. None
  17. None
  18. None
  19. Simple Kanban Board Jeff Lasovski http://creativecommons.org/licenses/by-sa/3.0

  20. None
  21. “You’re thinking of this all wrong. Think of it like

    another development task. Your team members are objects in the system and you’re doing engineering just like you would with software.” — A Former Boss
  22. “You’re thinking of this all wrong. Think of it like

    another development task. Your team members are objects in the system and you’re doing engineering just like you would with software.” — A Former Boss
  23. I HAVE NO IDEA WHAT I’M DOING

  24. Person.is_a? Object

  25. Person.is_a? Object # => SO MUCH FALSE

  26. None
  27. Please Use Revolving Door Thomas Hawk CC BY-NC 2.0

  28. None
  29. Tell me about your childhood. Personal space. Have you heard

    of it?
  30. None
  31. “The Business” Values

  32. “The Business” Values 1.Predictability

  33. “The Business” Values 1.Predictability 2.Measurability

  34. “The Business” Values 1.Predictability 2.Measurability 3.Control

  35. © Jorge Royan / http://www.royan.com.ar / CC-BY-SA-3.0

  36. None
  37. Man in a Box Keith Allison CC BY-SA 2.0 Abstraction!

  38. Human

  39. Human Resources

  40. Resources

  41. We are humans working with humans to develop software for

    the benefit of humans.
  42. None
  43. Humane Development

  44. humane

  45. humane

  46. Source: New Oxford American Dictionary humane |(h)yo ͞ oˈmān| adjective

    1 having or showing compassion or benevolence • inflicting the minimum of pain 2 intended to have a civilizing or refining effect on people
  47. Agile

  48. The Land That Scrum Forgot Robert C. Martin

  49. None
  50. “Martin Fowler and I sat down and said ‘You know,

    we should form an organization.’” – Robert C. Martin, “The Land That Scrum Forgot”
  51. “We called this the ‘Lightweight Process Summit’.” – Robert C.

    Martin, “The Land That Scrum Forgot”
  52. “It was at that meeting we coined the term ‘Agile’.”

    – Robert C. Martin, “The Land That Scrum Forgot”
  53. “It was Ward Cunningham, I believe, who said ‘You know,

    what we need here is a few statements where we don't disparage the old way of working. We say that we value the old way of working, but we value these other things more.’ ” – Robert C. Martin, “The Land That Scrum Forgot”
  54. We are uncovering better ways of developing software by doing

    it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. The Agile Manifesto agilemanifesto.org
  55. “At this meeting, Kent Beck reiterated his mission, his vision.

    He said again, ‘You know, this Agile thing, if we're going to call it Agile — it should be to heal the divide between business and development.’ And we all agreed.” – Robert C. Martin, “The Land That Scrum Forgot”
  56. “Who do you think was taking these courses — these

    Certified Scrum Master courses? Was it developers? No. See, I was a developer, and I thought it was stupid. And all the other developers I talked to said ‘This is stupid.’ Who was it that didn't think it was stupid? Project Managers!” – Robert C. Martin, “The Land That Scrum Forgot”
  57. “A Scrum Master was a coach. A Scrum Master was

    not a manager — explicitly not a manager, not supposed to be a manager.” – Robert C. Martin, “The Land That Scrum Forgot”
  58. “[...] the role was supposed to rotate through the various

    team members. [...] And frankly, the idea of the role was to slowly kind of fade away so that in the end you wouldn't need a Scrum Master.” – Robert C. Martin, “The Land That Scrum Forgot”
  59. “I don't think that the Project Managers who took the

    Certified Scrum Master course liked that particular interpretation.” – Robert C. Martin, “The Land That Scrum Forgot”
  60. Individuals and interactions over processes and tools Working software over

    comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  61. None
  62. Speed

  63. Hustle

  64. None
  65. None
  66. hustle

  67. hustle

  68. hustle |ˈhəәsəәl| verb 1 force (someone) to move hurriedly or

    unceremoniously in a specified direction • push roughly; jostle • hurry; bustle 2 obtain by forceful action or persuasion • coerce or pressure someone into doing or choosing something • sell aggressively • obtain by illicit action; swindle; cheat 3 engage in prostitution. noun 1 busy movement and activity 2 a fraud or swindle. Source: New Oxford American Dictionary
  69. HUSTLE

  70. None
  71. F5 tornado Elie Manitoba 2007 — Justin1569 — CC BY-SA

    3.0
  72. The notion of hustle-as-a- virtue is one of the most

    damaging memes afflicting software developers today.
  73. None
  74. POINTS

  75. VELOCITY = ZOMG!

  76. Jeremy Wariner, ©2007 Phil McElhinney, CC BY-SA 2.0

  77. Dr. Izumi Tabata

  78. Tabata Intervals (2:1 work/recovery) Typical Sprint (1:3 work/recovery) = 10

    seconds
  79. None
  80. None
  81. An unsustainable pace is less than worthless.

  82. The Big Picture is not on a “Need to Know”

    Basis Unless maybe you work for the CIA.
  83. None
  84. Estimates are lies.

  85. Most deadlines are lies.

  86. Most “urgent” things aren’t really urgent.

  87. Why? the importance of

  88. None
  89. But the site is down! It’s actually urgent!

  90. Why?

  91. Because it’s down! Bad

  92. Because while it’s down, we’re losing [credibility|exposure|$x/hr]. Good

  93. Recursive Non-Answers

  94. Recursive Non-Answers We need this feature by March 20th.

  95. Recursive Non-Answers We need this feature by March 20th. Why?

  96. Recursive Non-Answers We need this feature by March 20th. Why?

    So we can have this other feature by April 20th.
  97. Recursive Non-Answers We need this feature by March 20th. Why?

    So we can have this other feature by April 20th. Why?
  98. Recursive Non-Answers We need this feature by March 20th. Why?

    So we can have this other feature by April 20th. Why? …
  99. “The Divide” is a lie.

  100. We are humans working with humans to develop software for

    the benefit of humans.
  101. There is no “us.”

  102. There is no “them.”

  103. A mission statement is not enough.

  104. Empathy

  105. Honesty

  106. Smoke and Mirrors Flickr user: theilr CC BY-SA 2.0

  107. None
  108. Crunch Mode is an Exceptional Situation

  109. def build_feature do_work rescue Timeout::Error => e sacrifice_time_and_sanity end

  110. I’d rather live in a Gotham that didn’t need Batman.

  111. I’d rather live in a Gotham that didn’t need Batman.

  112. MY BEST CODE EVER

  113. None
  114. 100% TEST COVERAGE

  115. ZERO MAINTENANCE

  116. DOES EXACTLY WHAT YOU THINK

  117. Formalized processes are code for your company.

  118. Be skeptical of someone else’s processes.

  119. Integration

  120. Integration MiniTest

  121. Integration MiniTest

  122. – Chad Fowler, “The Curse of a Name: How to

    Kill a Good Idea” “I can ‘Do BDD’ in the same way I can sign up for a membership at the gym. I feel the sense of accomplishment without the need to actually get healthy.”
  123. Processes are a problem statement.

  124. Trust

  125. Process

  126. Address the source of the problem.

  127. Use processes as a last resort.

  128. Legacy

  129. Process Metaprogramming

  130. Glenn Vanderburg @glv

  131. None
  132. None
  133. None
  134. “Please note that this roundabout diagram is an example only

    and does not represent all roundabout designs.”
  135. “Always drive so that everyone around you knows what you’re

    going to do before you do it.” – Thad Vanderburg
  136. None
  137. A Theory of Evolution for Tools

  138. A Theory of Evolution for Tools 1. Reflect

  139. A Theory of Evolution for Tools 1. Reflect 2. Become

  140. A Theory of Evolution for Tools 1. Reflect 2. Become

    3. Define
  141. None
  142. Build small tools.

  143. Small tools are honest.

  144. Small tools are honest. (and probably won’t turn sentient and

    decide to use you as a power source)
  145. Leave room for choices.

  146. Dr. Martin Seligman The Father of Positive Psychology

  147. None
  148. Dr. Ivan Pavlov Nobel Laureate, Grower of Splendid Beard

  149. None
  150. None
  151. Learned Helplessness

  152. Dr. Ellen Langer Dr. Judith Rodin

  153. The Effects of Choice and Enhanced Personal Responsibility for the

    Aged: A Field Experiment in an Institutional Setting
  154. The Effects of Choice and Enhanced Personal Responsibility for the

    Aged: A Field Experiment in an Institutional Setting Experiment Control You’re responsible for yourself Staff is responsible for you You have freedom to make choices Choices are made for you Choose and care for a plant Plant is assigned and cared for by staff
  155. The Effects of Choice and Enhanced Personal Responsibility for the

    Aged: A Field Experiment in an Institutional Setting Experiment Control You’re responsible for yourself Staff is responsible for you You have freedom to make choices Choices are made for you Choose and care for a plant Plant is assigned and cared for by staff Questionnaire ratings and behavioral measures showed a significant improvement for the experimental group over the comparison group on alertness, active participation, and a general sense of well-being.
  156. – Every abuser of power, everywhere “If you don’t like

    it, leave.”
  157. None
  158. AND NOW FOR SOMETHING COMPLETELY DIFFERENT

  159. None
  160. None
  161. None
  162. Helpless?

  163. We can work…

  164. We can work… …any time.

  165. We can work… …any time. …anywhere.

  166. We can work… …any time. …anywhere. …in many different ways.

  167. None
  168. Empathy Honesty Trust

  169. Control

  170. Autonomy

  171. People are just like objects! OOP, baby! — Horrible Boss

  172. Object-Oriented Programming isn’t about objects.

  173. Object-Oriented Programming isn’t about objects.

  174. Everything about your organization is encoded in communication.

  175. Processes are just reusable messages!

  176. Processes are just reusable messages! (good)

  177. SNR

  178. Must be willing to relocate to 1992

  179. Must be willing to relocate to 1992 to 1992

  180. Stop trying to substitute throughput for efficiency.

  181. PROGRAMMING IS WRITTEN COMMUNICATION

  182. None
  183. None
  184. None
  185. None
  186. None
  187. None
  188. – Tony Robbins, Author “Change happens when the pain of

    staying the same is greater than the pain of change.”
  189. Thought Work

  190. None
  191. Work

  192. None
  193. Really hard work

  194. – R. Keith Sawyer, Ph.D. “In creativity research, we refer

    to the three Bs—for the bathtub, the bed and the bus—places where ideas have famously and suddenly emerged.”
  195. You are literally always working.

  196. Lead by example.

  197. Empathy Honesty Trust Autonomy

  198. Stop looking for people to control.

  199. Why?

  200. That’s not how relationships work.

  201. Ernie Miller @erniemiller Humane Development humanedevelopment.org

  202. Ernie Miller @erniemiller Humane Development ❤ humanedevelopment.org ZOMG STICKERS!!