Two weeks ago (and the
week before) I held a couple of sessions of Product Owner training in Sweden .
As you
know, I’m particularly interested in Product Ownership, being such a critical
(and often underestimated) activity for the success of an Agile organization.
Anyway, regardless of
this, every time I facilitate a PO training,
one of the most interesting discussions happens around the subject of
requirements. And the reason is that even experienced analysts or system
engineers are sometimes not used to work with requirements properly.
The first important
concept, which looks straightforward and totally sensible, but happens to be
pretty hard to apply, is that a requirement
is expression of a need, not a specification to implement.
It is an item in the
space of problems: it is a problem to solve, not a function to deliver.
On
the other hand developing SW is just about solving problems, not writing code,
right?
For instance, if one
says: I want a bridge, is this a requirement? Is it a problem to solve or a
solution?
A right conversation would then be:
- What is the need behind this request?
- I want to cross a river without getting wet.
This is a very
important job: understanding the real need behind a customer request. That’s why
we don’t say writing requirements or defining requirements, but eliciting
requirements, because it is about digging out real problems and helping
the customer understanding her real need (or at least making a hypothesis on
the real need, which must be validated through a fast feedback loop).
Then you as PO use your brain, your skills, your domain knowledge and
the brains in your team to translate the need in business solutions, you can
write in forms of User Stories, which is the language you speak with your team.
Requirements are instead
the language the Product Owner speaks with customers, but it would be too easy
and not profitable downloading the requests on the team as they are.
Challenging customer needs is a very crucial activity for a Product Owner to be
able to find a solution compatible with business and maximize the Return on
Investment.
I repeat many times to my PO team:
your job is not to push your team to do as much as possible – your job is to
challenge requirements, so that your team can do as little as possible.
Cutting some scope
because it is not needed has an effect that no efficiency program whatsoever
can ever beat: effectiveness eats
efficiency at breakfast every morning.
Unfortunately I saw
too many times the pattern of jumping directly into solution mode as soon as a
request arrives and business solutions masked as requirements.
Buddhist masters know
that, if you spend enough time in finding and formulating the proper question, the
question itself will contain the answer. But how do you feel is the ratio
between the time spent on defining the problem and the time spent on the
solution in your context?
About getting the real requirement in your example, one could formulate a question:"So getting over the river dry, what would that give you?". The answer might be "That I can get into the pub next building". So why to get to the pub in the first place?
ReplyDeleteYou can use this method "So you get what you asked. What do you do with it or what does that give to you?" while trying to get into the bottom of the real need.
Jussi
Ps. I loved the PO course. Great stuff. If only we could use all of that.
Thanks Jussi for your comment and your feedback on the training.
DeleteAs you point out and as analogy to the 5 Whys approach, you will probably need more than one question to get to the real need.
I would be really happy if you can find and share the reference to the technique you mentioned during the course.
BTW, what is preventing you to use all the techniques we taught you ;)