(NOTE: The following blog post contains some takeaways of the material that Avraham Poupko (twitter) presented at the Domain Driven Design Europe 2018 conference.)
Story telling is as old as the oldest human society. There is no known culture that did not have an oral tradition. A story told by one person to another is a great way to communicate. As the story teller and listener are together in the same context, there is a minimum loss of information. Stories are descriptive. They contain drama and action. With a good story, the story teller can carry over some of her personal values to the listener. Stories have a personal significance.
If all this is true, then why are we, software people, capturing requirements? We will say things like:
As a software developer, I would like to capture requirements, so that I better understand the product I am creating.
As much as we try to call sentences like this one ‘user stories’, they are not stories. It is a prescriptive sentence. It describes how the world should be. But how can we provide a prescription for the world, if we don’t know what ails it? No sane physician would think of doing that.
It is all too easy to fall in the trap of ‘knowing best’. The user should never do this or that and should understand such and so. It is for her ‘own good’ that she does not work around our solutions. But what makes our point of view so much better than those of others? There is always some insight to be gotten from other peoples views.
Different people will view the world from different perspectives. Listening to their stories will provide you with a multi-perspective understanding of the world that is today. Only when you sufficiently understand the user in his needs, can you start looking for common ground and think of solutions that might make the world a better place.