Software development teams create all types of software for all types of industries. So the software can be vastly different between companies, but all companies have the same goal in mind: develop quality software on time, on budget, and that meets the customer’s real needs.
Once the scope of a project has been defined, the next step is for the business analyst to gather complete requirements. This is the most important task for a business analyst.
The business analyst (BA) is responsible for determining where to find the requirements. Usually they will have subject matter experts (SMEs) and/or users of the software to gather requirements from.
The BA is also responsible for defining the approach they will use for gathering the requirements. They might have a meeting in a conference room with everyone present, they may do a combination of in-person and by conference call, or they may do several smaller sessions if people are in different locations/time zones.
The BA must obtain detailed and complete requirements. Here’s an example of a vague requirement: “Need the ability to take payments”.
Example of a more detailed requirement: “Need the ability to take payments via Master Card, Visa, debit cards, and checks”.
In the above example, there would still be more requirements that would spin off of that one, but by identifying the more detailed initial requirement, it helps the BA to know what other questions to ask related to accepting payments.
The BA is also responsible for prioritizing requirements. Some companies use something like “Must Have, Nice to Have, Optional” and others may use a numbering priority like 1-3 with 1 meaning must have and going down from there.
It’s important to do this prioritizing step because it sometimes comes into play when considering scope of the project. When projects must be completed by a specific date (as most do), sometimes the scope of the project needs to change in order to meet that date. It helps to know which requirements are most important vs. least important when the project team is determining what could be held off for a later release instead of going to production in the initial release.
Eliciting requirements is the most important task a business analyst has on a project. The requirements will be used by the development team to build the software and if you do not have clear and concise requirements, the software will be missing functionality or contain incorrect functionality, and will not meet the expectations or needs of your business partners.