Two weeks ago (and the week before) I held a couple of sessions of Product Owner training in
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
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
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?