I have a degree in behavioral psychology. It’s not the only degree I have, but I do have it. To the best of my knowledge, the only time I actually used it was to cover up a really bad stain on the wall of a rental apartment I once had in Louisville, KY. But you do learn a bunch of really interesting stuff when you study psychology, and in behavioral psychology you do some really neat experiments.
Here’s one of them. You put a pigeon in a special controlled environment called a Skinner box, and you arrange it so the pigeon gets some food every couple of minutes on a completely random basis. Then you go out to lunch or to Comparative Religion class, which you have to take in order to satisfy something called a “distribution requirement” in order to graduate. Apparently, taking classes like this guarantees that you will appear to be really smart and other people will then want to go to your college.
Anyway, when you come back to your experiment, you will find the pigeon behaving in really strange and unpredictable ways. She (?) might be whirling in circles, or plumping her feathers up and down, or bobbing her head, first up and down and then side to side, or maybe just hopping up and down on one leg. What the heck is going on? You have just demonstrated superstitious behavior, which is defined as behavior that is directed at getting certain results (in this case food) but which in fact has no effect whatsoever. In other words, the pigeon thinks that whirling in a circle is causing the food to appear because a few times early in the experiment she happened to be turning in a circle when the food appeared. She incorrectly put 2 and 2 together and decided that whirling in a circle brought the food. (When I explained this to the pigeon later, she took it very graciously. She went on to become the only pigeon in the history of the Brown University behavioral psychology laboratory to successfully steal the cheese out of a rat maze during a running experiment. So you don’t need to worry about the pigeon.)
Is there any possible way that I can relate this to Agile software development? Of course there is!
What happened at your company the last time a big project laid a gigantic Egg of Failure? Very possibly, a post mortem meeting generated a number of suggestions to prevent it from happening again.
Here’s the connection I promised you: most of those suggestions were based on superstition. They were based on events that were co-located in time but not which did not have an actual causal relationship. Check it out:
- “Next time, we won’t start until the Requirements doc is done and everybody has signed it.”
- “Next time we’ll require management sign-off before pushing to production.”
- “Next time, we will get all of the Principal Engineers in the company to review the design.”
- “We had a document that listed the dependencies, so that couldn’t have been a contributing factor.”
- “Lots of people took too much time off at critical junctures. We should restrict that.”
- “We need to supervise people more closely next time to make sure they do what they say.”
I mean, how different are those than
- “Next time, we’ll all throw salt over our left shoulders before each status meeting.”
Why do I say that superstition is involved? Because these suggestions are based on circumstantial evidence of the form “We did or observed this thing on the project, and the project went bad.” It’s hard to make decisions with the kind of delayed and non-specific feedback you have in that kind of post-mortem situation. When nothing gets finished until the very end, it’s hard to pinpoint where things went wrong. Conversely (inversely?, obversely?), when you can’t experiment to see results immediately you can’t determine the true underlying causal relationships. You can’t find root causes.
This is a big strength of Scrum and other Agile methods. We don’t have to depend on superstition. We don’t have to make things up and we don’t have to guess. We can take small things to completion and get feedback immediately. We can apply a lesson learned overnight, and in a few days or a week or two, we can see if it has the desired effect.
This is why you don’t see Agile developers whirling in circles, tearing their hair out, hoping to get food from the box and wondering why they don’t. They are in a pretty good position to either know what matters, or to find out what matters. In case you were wondering.