A constant in software development is the struggle to identify and document clear requirements before the work begins. Developers are always looking backwards, identifying what they could have known. And the business is always looking forward, worrying about what's coming next.
And to make things worse, this is all based on the false premise that you can even have all of the right requirements up front.
But there is a way to get pretty close. Just ask for help.
When you assume
Typical misunderstandings about software requirements come down to assumptions. Developers assume one thing, product owners assume something else, designers another thing. And managers assume everyone will figure it out.
Okay, easy enough, just make sure everyone has the same set of assumptions. And the easiest way to share assumptions with someone else is to drop all of yours and adopt theirs.
Will you help me...?
So as a developer, if you really want clear requirements, drop the assumptions you're making about the work and seek to understand.
The most effective way to do this is using the phrase "Will you help me?" It comes from the Core Protocols and is aptly named "ask for help."
Here are some examples to try the next time you're sensing that you might be making assumptions:
- Will you help me understand how much performance matters for this feature?
- Will you tell me who will be using this dashboard?
- Will you give me an example of what the alert might say?
- Will you draw me a picture of what you have in mind?
When you start effectively asking for help, you'll never have to worry about getting clear requirements from the business.