Requirements gathering is one of the most challenging stages in software development. Beyond the (already demanding) need to understand the business, its needs, and its goals, the development team sometimes has to deal with opposing views and disagreements over the project ahead. What’s more, my experience has shown me that people often present certain resistance to radically changing what they already have.
Thus, a rift sometimes appears between the business and the IT—all because of the impossibility to agree on the project requirements. That’s the true challenge the development team has to overcome: not just understanding the business but convincing its executives that the solution the engineers are imagining is the best way to go.
Is it possible to do that? Of course! But how can a team bridge the gap between what the business wants and what they actually need? That needs a little more explanation.
The Key Role
Up until now, I’ve discussed just 2 parts of the project: the business that needs to develop a tech solution and the engineering team that will turn that solution into a reality. It’s easy to see both of those parts having trouble discussing how the project should go. The business part knows its goals and processes but doesn’t have the technical know-how. For its part, the IT team knows all about development but might lack the capacity to understand the business side of things.
That 2-part model is obviously lacking an articulation of sorts. That’s precisely what a business analyst (BA) does. This role focuses on analyzing the business and its processes through the lens of data analytics. By doing that, this expert can better define the requirements of the project, mainly because they can identify the improvement opportunities to provide data-driven recommendations on how to act on them.
Thus, the business analyst becomes a key role in bridging the gap between businesses and IT teams, as their suggestions provide a clearer path forward for the development. Naturally, this doesn’t mean that having a BA on the team is enough for the requirements-gathering stage to be successful. There are a set of considerations that business analysts have to take into account to guarantee success.
Effectively Communicating Requirements
As you can imagine, collecting the requirements and effectively conveying them to the development team takes more than just documenting them. It’s all about effective communication, which takes more than just making a list of requirements. The analysis of the BA should also include complementary documents that better show how they think the solution should be.
Thus, the BA can build a series of artifacts from what they gather from the business that will surely help the IT team in grasping the direction they should be heading. These artifacts include:
- Data models. A data model is an abstract organization of the elements present in the solution along with the relationships between them. Thus, this model shows the structure of the data and provides a glimpse into the components of the solution. For instance, a data model can include the different features, the processes they serve, and their hierarchy, among other things.
- UI mock-ups. If data models show the structure of the solution on a more abstract level, then UI mock-ups are a more down-to-earth representation of the relationship and the hierarchy of the features and elements of a solution. Basically, a UI mock-up can show buttons, menus, and navigation data that can help engineers understand how to put it all together.
- Process flows. Showing how a process should work is also among the BA’s objectives. Thus, they can use process flows to illustrate how different events are linked and describe the different steps of a particular process (such as loading new data into the solution). While these aren’t necessary for all projects, complex systems can definitely benefit from these flows.
These and any other artifacts the BA might come up with are essential to effectively communicating the requirements to the development team. In fact, the final goal of the BA is to act as the best possible liaison, something they can only achieve by using all the tools at their disposal.
Beyond the Requirements Stage
As if their work during the requirements-gathering phase weren’t enough, business analysts can also serve other purposes once the development is underway and even once the solution is live.
On one hand, the BA can provide assistance to quality assurance engineers when they are designing tests. That’s because BAs can assess whether the proposed testing aligns with what the business wants from the solution.
On the other hand, the business analyst can also become a supportive role in production. How? By examining how users are working with the solution, which allows them to pinpoint improvement opportunities that no one could have envisioned before. This can lead to countless optimizations based on the BA’s suggestions.
As you can see, a business analyst is a great asset for any development team because they bridge the gap between the business and the IT department not only in the requirements-gathering stage but also beyond that. As such, a good BA is definitely an essential part of any successful development plan and a critical link between both parts.