For any type of project, requirements gathering, the elicitation of Stakeholder needs is a critical component of how successful the project will be. This is particularly true when developing software; studies have shown that as many as 4 out of 5 software development projects go over time, over budget or don't deliver expected results. When considering those statistics, it is interesting to consider what contributes to this result. It is generally understood that unclear requirements are at the root cause of project failures, and that many factors impact effective requirements gathering.
Let’s look at a few of them.
1) Insufficient understanding of the nature of the business problem that needs to be solved.
There is often an assumption that because business analysts work for a company, or have done other projects, they are familiar with operational processes or challenges that the business encounters. However, the nature of project work and the function of business analyst does not always allow for the analyst to be familiar with various aspects of the operation and/or the issues encountered by the business partners. Taking sufficient time to outline, demonstrate, and explain current “as –is” processes and problems with those processes at a detailed level is crucial to requirements gathering to ensure requirements are fully articulated and documented.
2) Only focusing on the “happy path” (perfect processes) or conversely only focusing on certain exceptions. In many projects, business analysts are focused on getting information on “standard” or normal processes, and the exception processes are often overlooked. Asking the question at all decision points and handoffs about “what happens if this fails“ allows for documentation of alternative business processes, possible recasting of a solution, or reconsideration of the overall project goals. Truth is no process, transaction, or function works perfectly every time. Understanding what the business wants to see with non-conforming items is as important to a successful project as delivering on time and on budget.
3) Not having an outsider or disinterested third party read the requirements set for clarity and understanding. A good requirement set should be able to be read by someone outside of the business and your IT organization and be able to be understood for clarity, process, definition, and objectives. If not, the requirements may be too vague, unclearly written or perhaps based on faulty assumptions or unreasonable requests. Often when projects fail, the comment from IT is “that is not what the requirements said” or “that was not stated in the requirements.” Understanding the construction of clear, concise and complete requirement statements is a very important skill of the business analyst when conducting requirements gathering.
The Requirements Gathering process is not only vital to project success, but is also a crucial skill for the Business Analyst. Continued training in Requirements Gathering techniques and methods reduces the opportunities for project failure caused by misunderstood, ambiguous and missed requirements.