Having just read Dan Ariely’s excellent Predictably Irrational, I have a lot to reflect on. On my latest project, we’re using Kanban, which means that we don’t timebox, we don’t use sprints and we don’t estimate. But does research support the notion of excluding the concept of time boxes.
Dan Ariely made an interesting study. He had three groups of students, which all were supposed to hand in three papers during a course in Consumer Behavior. He gave the three different groups different instructions concerning these papers.
Group 1: They could hand in the papers at any time of the semester. The student would themselves set the deadline for each paper. If the self proclaimed deadlines were not be met, there would be a penalty. All students had the option to set the deadlines on the last day of the class but they could also use the deadlines to force themselves to start working earlier and work during the whole semester.
Group 2: This group would have no deadlines and they could hand in their papers at any time and there was no risk of penalties if they did hand in their papers before the end of the class.
Group 3: This group were given specific deadlines for each paper and there penalties if the deadlines were not met.
Which group do you think got the best grades?
The third group had the best grades. The second group got the worst grades. Ariely points at our tendency to procrastinate makes us delaying important tasks and the best way to avoid this is a formal figure giving us specific deadlines. But the study also shows that if we ourselves are given the option to set our own deadlines, this helps us to evaluate this risk and handle it.
If you look at the deadlines in group 1, the ones who spaced their deadlines did as well as group 3 while the students who placed their deadlines at the end of the semester.
So, what does this mean for software development? Does it mean that removing the iterations, independent if you work waterfall or kanban, increase the procrastination? I need to think more on this and this will for sure be a subject on our next team meeting.
If you want to learn more about the human mind and how we behave, I can highly recommend following Predictable/Irrational, which includes discussions of both rational and irrational behavior. Because what’s the difference between rational and irrational? Often it’s history. Like Bohr put it: it’s easy to make predictions if it’s about the past. In other words, it’s easy to afterwards say that something was irrational: when you’re in that situation everything might seem perfectly rational.
The latest post was about cheating and as always, I recommend that you read the complete post, but one thing really struck me and that is that we tend to cheat more if we think that one of us is already cheating.
What we found is that when the actor wore a plain T-shirt, which made him part of the student group, cheating increased. On the other hand, when the actor wore a T-shirt of the rivaling university, cheating decreased. What this means is that when someone who is part of our own social group cheats, we find it more acceptable to cheat, but when people who are not part of our social group cheat, we want to distance ourselves from these people and cheat less.
So, how does this apply to software development? Writing bad code or skipping the tests or just making the bad quick fixes can be seen as a way of cheating. Also, taking on tasks which are not on the sprint backlog. Or spending your working time doing personal stuff. You don’t do the tasks properly. And one conclusion that you can draw is that if one does this, it becomes OK among the others. Given that it’s one of the team members who skips the rules. So, who are you? Are you one of the guys spreading the idea that it’s OK to cheat on your team?
And, as it turns out, that is quite literally true: Harvard researchers Kurt Gray and Daniel Wegner recently found that we experience greater pain when we perceive it to be deliberately inflicted, rather than by accident.
What’s more, deliberate pain was not just more acute, it also lasted longer: whereas participants rated the unintentional shocks less and less unpleasant as the experiment progressed, the intentional shocks remained just as painful.
I have no research backing me up on this, but couldn’t it be true that this does not only apply to physical pain? If we think for example that someone is disturbing us deliberately, we react harder than if we think it was an accident? Thinking "he did that on purpose" makes stuff harder to take. We get irritated. But thinking that something is deliberate is not the same as knowing and try to remember that if you think something is deliberate, you make the pain bigger. So, why not spill the beans and stop guessing? Or even better, why think stuff is deliberate in the first place?