I am trying to gain enough technical awareness to assist in the gathering of requirements for an enterprise information system.
How to gather requirements for an enterprise system
One of the steps a business analyst uses in offering sound solutions to a business problem is the requirements phase.
This process is much like mining for gold in knowing how to determine what requirements are truly valuable and important, like real gold, and knowing what to throw back, as fools gold.
This phase consists of eliciting (gathering) the requirements, analyzing the requirements and documenting the requirements.
Once you have listened, asked questions and determined what the needs and wants of the organization are, it is time to analyze these requirements.
Requirements analysis is very important to the success of a project because the finished product, or solution, is only as good as what goes into it.
If you skimp on the requirements phase, your final product may end up being frustrating to the user or completely worthless.
Some factors to consider when examining these requirements include whether or not the requirement is feasible, verifiable, traceable, consistent, complete, unambiguous, and necessary.
To determine which ones are valuable (solid gold) nuggets and which ones to rework, or throw back as gold plated, ask yourself if the requirement is:
What Is A Feasible Requirement?
A feasible requirement is one that can be accomplished within cost and meet deadline schedules.
A requirement must be feasible from the start in order to use it to begin, build and finish a project.
Determining whether or not a requirement is feasible is not simple. What may be feasible for one company, organization, or group of people, may not work for another.
And, what may be easy for one department to handle, may present insurmountable complications for another department within the same organization.
To determine whether or not a requirement is feasible, you will need to answer the question of what is needed by asking, how will it be done?
To help answer this question, it’s a good idea to involve a software developer in the elicitation and the analysis phase (if for example you are working on a software development project).
Be realistic with what is required. If it is not feasible, you then need to decide whether you need to change the overall expectations and vision of a project or to eliminate the requirement all together.
What Is A Verifiable Requirement?
A requirement must be verifiable, which means it has a precise goal and the ability to measure the requirement.
Just saying that the solution should work is not verifiable. To determine whether or not it is verifiable, you must inspect and demonstrate a product through use tests and other analysis methods.
Can you answer a definitive yes, or no when asked if you have implemented the requirement?
What Is A Traceable Requirement?
This is also referred to as describing and following the life of a requirement.
The requirement needs to meet the needs of the stakeholders with every step well documented so it can be traced back to where it originated and how it was implemented along the way.
Can you draw a line connecting each requirement to its source, design elements, and test cases?
What Is A Consistent Requirement?
There needs to be as many as three levels of consistency in writing requirements: logical, writing style/template format, and external consistency.
If there are no conflicts from one requirement to another, you have consistency.
This process becomes complicated when two or more requirements overlap. If there are any areas of disagreement, these must be resolved before the solution process begins.
What Is A Complete Requirement?
Is anything missing? Focus on the tasks of the user. Does it meet all the requirements?
Use case methods and graphs are good tools to show if a requirement is complete.
If there is any area that contains uncertainty about how it will be carried out, it is incomplete.
What Is An Unambiguous Requirement?
Write the requirement in a concise and understandable manner, without using difficult to understand technical terms or vague, unclear wording.
An unambiguous requirement will focus on the objective rather than the subjective.
The meaning of a requirement must be clear and mean the same thing to everyone involved and should express facts, not just opinions.
What Is A Necessary Requirement
Does it fill a need, or is it an extra bell and whistle which could be eliminated?
One step that helps to determine if a requirement is necessary or not is to identify where the requirement began who suggested it was needed?
Did it come from someone just spewing off a wish list, or was it originally requested from a source of authority, someone who will use it to accomplish a job?
Practice the steps in this article and you will become highly skilled at writing requirements for an enterprise system!