Friday, March 15, 2019
The Art of Gathering Requirements for D365
Posted by Nancy Khunkhun
There are many tools and techniques for gathering business, functional and technical requirements. How they’re gathered is an artform that varies from professional to professional. The majority of the time your participants influence the tools and approaches you use. The art of gathering requirements is commonly known as discovery.
The goals of discovery include:
- Recognize the client’s business and culture to identify their pain points and provide them with strong recommendations.
- Understand their current, as-is state.
- Start the project with well-defined and agreed-on requirements for implementation.
This article is written from the viewpoint of the consulting partner performing discovery in a D365 engagement. But it is intended for all D365 professionals, clients, discovery participants, subject matter experts, and everyone else involved in the discovery process. By understanding the process of discovery, you can be better prepared for the start of a new project.
I’ll discuss how best to accomplish discovery by learning how to:
- Prepare for discovery sessions
- Approach the discovery process
- Interpret the information gathered and create discovery requirements
- Meet the requirements using Dynamics 365
Preparation Is Key…An Opportunity to Learn
Preliminary planning with a client can go a long way. Not only does it give you an opportunity to ask specific questions; it also shows the client you’re interested in learning about them by doing your research ahead of time. Be sure to ask the client if they have any existing documentation you can look at.
One important rule: do not assume you know their business based solely from your research. Incorrect assumptions can be costly in the long run. While research will get you into the right “head-space,” asking clarifying questions completes the picture.
More times than not, companies in the same industry have similar business processes but execute them very differently. These differences are important to catch, especially if you are conducting discovery for similar clients.
Another way to get a running start before beginning discovery is to build rapport with your contact. This person is usually the employee who will be coordinating the discovery sessions with you. Discuss with them the approach you would like to take during the sessions and topic areas you wish to cover. Ask them to provide additional topics you may not be aware of, as well as send invitations to session participants. Based on your discussions, it should be clear to the client which attendees are required according to their job title and subject matter expertise.
Next, decide how long meetings will be and the topics that will be covered in each of them. Typically, one to one-and-a-half hours is a good length to cover a topic area without exhausting both you and the client. It’s hard work for you to understand new business processes, but it’s also hard work for the client to explain their day-to-day job to someone who has no experience doing it. Find a balance in the schedule, with lunch and coffee breaks. Create an agenda based on the number of topics, the complexity of the business, the scope, and the budget of the project.
The Discovery Process…Bottoms-up!
The meetings have been scheduled and you’re ready to begin discovery. Great!
Enjoy the process and be natural while maintaining professionalism at all times. The more discoveries you conduct, the more comfortable you will feel. Build a relationship with your participants during coffee breaks and through discovery breakthroughs. As much as you are learning about their processes, they are learning new things about their work and colleagues as well. The more productive the sessions feel, the easier it is to build relationships.
The following is an approach to discovery that has been well practiced and will help you with your next discovery.
- Go around the room and do introductions
- Review the agenda and make sure all agree with the schedule
- Explain your role as the facilitator of the discovery sessions
In his book The IT Consultant: A Commonsense Framework for Managing the Client Relations, Rick Freedman recommends thinking about the client’s business systems in…“…their component layers. The bottom-up assembly of elements…” As shown in the figure, from the bottom up they are:
- (Technology) Infrastructure
- Process, and
You might be thinking: how is this relevant for a Dynamics 365 project? At first it may not seem like it. But when you look closely at the elements described for discovery, you’ll see the relevance when it is time to build a D365 solution for your client. The bottom-up approach can be used in two ways:
- Apply the full approach for each topic area you have set out in your discovery agenda with the client.
- Incorporate time for each element in the bottom-up approach as part of your discovery agenda. The process and business elements will usually take longer to discover, so it’s best to make those specific topics to better manage your time.
Here are examples of how the elements in the bottom-up discovery approach can apply to a D365 project:
- Infrastructure Determine whether D365 Online or D365 On-Premise is the appropriate product, as well as any security or integration requirements the client may have.
- Data Learn the types and size of data, which will be important knowledge for data migration as well as storage or conversion requirements.
- Application Account for any integration work with other applications or data sources that may be required as part of your D365 project.
- Process Start to understand how you will convert their as-is processes to future processes in D365 — whether that be through workflows, business rules, business process flows, plugins, MS Flow, or other solutions that are available.
- Business Understand the business context of the client and ensure the recommendations you provide address the needs of the client. This Discovery element will help you identify if D365 out-of-the-box components are appropriate as is, or modifications such as label changes and new fields or entities will be required to correlate to the client’s business.
As Freedman say, “It is part of the art of consulting to make a judgment about how much investigation and discovery your role calls for. Always keep the client’s wallet in mind, and make sure you don’t put yourself in a position in which you have to justify investigations into areas that were outside your scope.”
Interpreting the Discovery…Creating Good Requirements
Now that you have gathered valuable information from your discovery sessions, you can turn to specific requirements.
Whether you are working solo or in a team, a good approach is to illustrate visually or descriptively the client’s current processes. Identify any unknowns or points of confusion, and make sure to ask the client for clarification on them at this stage. It’s much more difficult to do it later.
Once the current process is understood and illustrated based on your discoveries, it’s time to translate the current process to the future process (i.e., to-be state). A good approach is to first define a set of requirements, agreed to by all participants in the project, that will be used as the foundation for designing and building a good solution.
Peter Zielczynski, in his book Requirements Management Using IBM® Rational® RequisitePro®, describes the characteristics of good requirements as:
- Testable (verifiable)
- Clear (concise, short, simple, precise)
- Feasible (realistic, possible)
- Implementation-free (abstract)
Besides these criteria for individual requirements, as a set the requirements should be:
D365 to the Rescue…Meeting Requirements
Remember: the goal is not to take all the client’s current processes and replicate them in D365. The mission is to translate the current processes by identifying the client’s requirements and completing them in D365 to create the future processes. You do that through out-of-the-box components, workflows, business rules, plug-ins, integration with other applications, etc. It could also be through changes to the client’s business processes.
It is highly recommended to explore these possibilities with clients early. That way, they’re more open to making changes to their business — and not look to solve their problems by requesting more software features.
As the professional working with a client, you can provide tremendous value helping them see areas of the business they can modify or improve based on your experiences with other clients and D365 solutions. Your knowledge of D365 will help you identify solutions to meet the requirements defined. Maintaining your D365 skills is a must to continue providing clients with the most efficient, reliable and cost-effective solutions.
For many professionals, discovery may be thought of as an easy process of “go in, sit and listen.” I mean we’ve practiced that enough, right? But clearly, it’s not that simple. The discovery stage is usually at the beginning of a project and it will be one of the first interactions you will have with your project stakeholders. So, it’s always a good idea to put your best foot forward to create a great start.
Fortunately, by applying methods and approaches you find in your research, you will learn the best ways to conduct productive, invaluable, and positive discoveries for everyone involved. And just like any artist, the more attention to detail, the more passion, and the more practice you put into your work, the better your artistry becomes.
Feel free to share your thoughts, experiences, or approaches in the comments below.
Wishing you happy discoveries and excellent gatherings!
Nancy Khunkhun, Solutions Architect/Senior Consultant
Nancy has been a software consultant for 10 years which includes 7 years working with Dynamics CRM. She has large variety of experience implementing solutions for many different industries. With her education as a Software Engineer, she is passionate about technology and business. Nancy operates out of Seattle, WA.