One Tough Cookie: A Failed Attempt At Using Metaphors

About a month ago we had the following story in our sprint, simplified to spare additional explanation:

As a user
When I provide a list of many customers
And a single list of updates
The updates will show online.

We knocked out that story without a problem. There were some assumptions made, such as this would be a one time update. As a team we decided to take some shortcuts since future updates were unlikely.

Sure enough, a few sprints latter we get the following story:

As a user
When I provide a list of many customers
And a specific set of updates for each of the customer based on the customer type
The updates will show online.

Given that this was “already done” for a single run, we decided to spend our time generalizing the current code to handle the new situation. Our project manager had no problem with this. The real problem came from our internal users. Here are some of the comments we got:

  • “Can’t you just run it 20 times with different input? Why update it?”
  • “I thought you were building us tools to do this type of stuff.”

cookie

After I picked my jaw off the ground I went to our good friend the metaphor to try to explain the situation. I tried to explain it as a recipe. The first round of updates was a recipe to make 700 chocolate chip cookies. For the latest update you want 20 chocolate chip, 50 M&M, 30 double chocolate, etc. I was trying to explain that we went from doing one thing over and over, to having to do 20 different things and choose the best option. The final reply I got back was, “Just swap out the chips guys.” At least she gets IoC