Them
Author: Amanda Bennett
December 2013
In my work as a senior business analyst I am often asked to review business requirements documentation that has been written by someone else
or mentor other individuals as they write business requirements. While a person may be very knowledgeable about the subject matter contained
in a business requirements document, it doesn't necessarily make them an expert in documenting their knowledge to the people who have to
work with that document in a useful and meaningful way.
The effects of a poorly written business requirements document can be disastrous to a project. It can lead to:
disagreements and tension among stakeholders who have differing expectations for the project deliverables,
requirements that get missed entirely until after the project has been launched,
re-work and re-design for developers, leading to additional stress and frustration, particularly if this re-work and re-design has to take
place after project launch in an emergency situation and
damaged reputation with stakeholders who no longer have faith in your ability to understand their needs.
Fortunately, these pitfalls can be avoided with just a little awareness and effort on the part of the writer of these requirements. A good place to
start on this journey of awareness is with the tool that is being used to write up the requirements. I provide a business requirements template to
those that I have assisted in some way in writing their requirements, and I will meet with them to explain how to use the template and to discuss
any questions they may have. Using a template with the people that I have assisted puts us on a level playing ground, so that I at least know the
intent of all the sections of the document, and it gives a greater consistency to the documentation I have to review.
Assuming this groundwork has been laid and my client has put together a set of requirements using this template, I have a standard list of
mistakes that I see frequently and that I will be on the lookout for when I begin reviewing the requirements. It is this list of mistakes that I would
like to elaborate on here in the hopes that it might help others out there navigate their way through the requirements jungle.
everyone this headache, so it is well worth the effort. Be prepared to have to do some coaxing with your clients to get them to this level of detail.
Once I have spotted some problem areas in the process diagrams I start asking my client some triggering questions such as "What happens if it's
not approved here?" or "What happens if the user cancels the process?" Questions like these often result in the discovery of several forgotten or
ignored steps, and in some cases my client may not know the answer at all. This is ok, it just means we have to go get that information to
complete the process diagram.
After a few iterations of this the client usually gets the idea and can continue on revising the process diagram without me since they now know
what to watch out for. Developing that critical eye may feel awkward at first but once you get it started it's hard to shut it off!
Don't assume all your work is over as soon as you have identified all the alternative paths to a process. Something else to watch out for when
mapping business processes is whether the sampling of clients who are working with you to map out the process can truly speak for all
participants in the process. Is there more than one business area interacting with the process? Do you have a representative from each area? If
not, take the time to speak with each area. You may be surprised at how much variation there is in how the process operates from one area to the
next, and project stakeholders need to be aware of these variations. They will need to decide whether the new system needs to be flexible
enough to accommodate these variations or whether some business processes need to be adapted to fit the new system.
ID
Title
1.1
Active Requests
1.2
Application Summary
1.3
Application Details
1.4
1.5
Postpone Application
1.6
Cancel Application
2.0
2.1
Approvals Dashboard
2.2
Pending Applications
2.3
Application Details
2.4
2.7
User Access
2.8
Application History
For the detailed project requirements, each of these deliverables is used as the parent requirement, with several detailed child requirements, for
example:
1.1 Active Requests -The purpose of this area is to allow the applicant to view all their active applications in a condensed view.
1.1.1 If there is more than one active application for the applicant in the system, the system shall display all applications for which the end date
has not yet passed in a condensed list.
1.1.2 If there is only one application in the system for this applicant, the system shall proceed directly to the application details.
1.1.3 The system shall allow the applicant to view the full details of any application by selecting it from the list.
1.1.4 The system shall provide the means for the applicant to sort by any of the columns appearing in the list.
When you encounter a requirement that you are unable to clearly link back to the project deliverables you can try to seek clarification from your
project stakeholders. If after doing so you are still unable to establish a linkage, report it to the project manager as this could very well be a case
of scope creep, and that is the responsibility of the project manager to resolve. If you are given requirements that you believe to be outside of the
scope of the project, it is important to let the client know that you are unable to confirm whether or not these requirements will be included in the
project. At the same time, capture all the details of the requirement so that you can report it appropriately to the project manager. As a Business
Analyst it is not your job to make the call as to what is in or out of scope of the project. Your job is to capture the details of the requirement and
keep track of the source of that requirement so that scope creep can be monitored effectively by the project manager.
If a formerly out of scope requirement is brought within scope of the project, you will need to append it to the list of in-scope "parent" deliverables
so that new detailed requirements can be linked to it appropriately. Conversely, if it is decided that a requirement is out of scope of the project you
should still keep track of it in an "out of scope" section of your document, along with the reason why it was deemed to be out of scope. Too many
times I have seen stakeholders forget that a requirement was decided to be out of scope, or the reason for it. Keeping track of the history of these
requirements will save you the trouble of having to re-visit the requirement with the project stakeholders. Requirements are in a constant state of
flux with the majority of projects, and that's fine as long as you keep track of the decisions on them, trace them to the project goals, and update
your documentation accordingly.
Conclusion
The five mistakes I described above represent the most common mistakes that I see when reviewing business requirements written by others.
The first mistake I described was forgetting to consider your audience when writing your business requirements. Avoiding the use of acronyms
and taking the time to define business terms in a way that all readers should be able to understand clearly is a worthwhile defense against rework and re-design later in the project.
The second mistake was omitting the alternative paths to a process. While a given process may run a certain way for the majority of time, that
doesn't mean you can ignore all the less-frequent scenarios when you move to an electronic process. In fact, it's these other scenarios that can
bring an electronic process to a grinding halt if the system isn't flexible enough to handle them. To give the developer the opportunity to build in
these other scenarios, you will need to take the time to fully flush out all the alternative paths to each process in your business requirements.
The third mistake was burying multiple requirements in paragraphs of text. For people who are new to writing business requirements, it seems
only natural to write business requirements as if you are writing a story, with long paragraphs describing the behaviour and functionality of the
new system. However the goal of the business requirements document is not to tell a story. To convey the understanding of your requirements,
each requirement must be written distinctly and concisely.
The fourth mistake was losing track of the original goals of the project. The business analyst should always become well acquainted with the
project charter when writing the business requirements document, and in fact, the in-scope items, or deliverables, listed in the project charter
should be incorporated into the business requirement document. My preferred way of doing that is by making each of the in-scope deliverables a
"parent" requirement, with the detailed requirements for that item becoming the "children" to that parent requirement. This method can go a long
ways to preventing scope creep.
The fifth mistake was building too much design detail into your requirements in the form of frilly mock-ups or very specific user-interface
requirements. For many people, it's easier to draw a picture than it is to explain something, and the same goes for business requirements, but
with the many pitfalls that can result from this habit it's important to simplify those mock-ups and ensure that all their elements have been fully
represented in the accompanying textual requirements.
Avoiding these mistakes will save you and your project team much time, effort, and frustration. Of course, mistakes can be a valuable learning
opportunity, but hopefully with this article I can present the learning opportunity to you with no mistake required!
IIBA and the author would like to thank the review panel for their critiques, insights, and thoughts on the development of this article.
The review panel for this article was:
Teri Stubits,
Xin Li, and
Margaret Fong.