Introduction
One of the main challenges we encounter during Dynamics 365 implementations is ambiguous requirements. Often these come down to a communication issue.
Ambiguity in requirements is common because people use words (and diagrams at best) to describe intangible wishes and desires. Those people have a specific context in their mind, which is driven by past experiences, current work situation or even personal preferences or aspirations.
Getting a shared understanding of what we are building in Dynamics 365 is critical for the success of your project. Well-defined and understood requirements will just make your life easier so take the time and effort to tackle them as soon as possible.
What are ambiguous requirements
A requirement can be ambiguous in two ways:
- I can personally interpret the requirement in different ways: Which can lead to significant differences about how I will design the solution. In Dynamics 365 (and more recently the Microsoft Business Application ecosystem) we can design solutions in many ways using a variety of tools. Understanding the requirement is critical so that we can propose a solution that brings the highest business value to our Users. I don’t want to find out after I’ve built the solution that my ‘robust’ is worlds apart from my client’s ‘robust’.
- As a team, we can interpret the requirement differently between one another: I might be on the same page as my client after some in depth discussion, but that doesn’t mean the same goes for the team. Again, it is critical that between us, we have a shared understanding, otherwise the Functional, the Technical and the Architect will go on different paths which will lead to rework or even failure.
Real life exemple:
Why it’s important?
Techniques to deal with ambiguous requirements
- Use examples: For each requirement that is not clear to you, ask users to walk you through a real example. While doing so, add more details to your requirement. If you use User Stories, examples will help you confirm or write down the Acceptance Criteria.
- Replace or remove ambiguous words: Ask yourself the question “How can I test that requirement?”. If your requirement contains words like “Easy to use”, “Robust”, “Faster”, “Many”, etc. how are you supposed to test and mark it as passed or failed? A classic example of an ambiguous requirement is “The system must have a USER-FRIENDLY user interface”. What is “USER-FRIENDLY” for John is not the same for Mary.
- Use visual tools: Elicit requirements using appropriate diagrams, proof of concepts or demo. You are probably familiar with the saying “A picture is worth a thousand of words”. Some of the diagram I use can be found in this related article: Model your Dynamics 365 Solution – Overview (Part 1)
- Compare options: Dynamics 365 (and the Microsoft Business Applications ecosystem) offers a multitude of solutions to meet one single requirement. If there is ambiguity in your requirement, showcase some options to your client to help them clarify their thoughts.
- Ask WHY it’s important: I recommend asking WHY whether the requirement is ambiguous or not. The WHY will give you more context and meaning as to why this requirement is so important to your users. I recently listened to a podcast explaining how our brain is constantly looking for meaning subconsciously. The speaker was explaining that if we don’t fully understand the meaning of a requirement, our brain will make something up. Which can be completely the opposite of what our user had in mind in the first place.
- Storytime Workshops: Elaborate and refine User Stories further during storytime workshops. Use a combination of the above techniques to make those sessions as productive as possible.
“During project and release planning we build user story maps, and then we elaborate and refine the stories further during storytime workshops. But the aim isn’t to write a specification on the back of the card. It’s just enough detail to estimate complexity, uncover dependencies and start development.” – Neil Benson
Related articles:
- CRM Storytime Workshops: https://www.customery.com/blogposts/2016/10/04/crm-storytime-workshops
Real-life example:
- Documents must be able to be attached to the client profile.
- A User must be able to scan and upload a document to the client profile.
- Documents must be organized so that we can quickly find and group documents of the same nature.
- Dynamics 365 notes and attachments
- Native integration between Dynamics 365 and SharePoint
- Azure blob storage App, where documents stored in Dynamics 365 are automatically stored in Azure Blog Storage.