In software development, every business idea travels from the head of the product owner through the engineering team to the release to production. In software development companies, a business analyst is a person who supports the business idea on this journey: a BA works with the stakeholders to analyze, scope, document, and communicate the requirements that are needed to be implemented to see this idea in production.
It is essential to involve business analysts as early as possible in the project as they use tools and techniques to discover gaps in logic before a line of code is written. Fixing issues before coding costs way less money than when the feature is coded, deployed, and UAT is passed.
What is a business analyst in software development? The added value of having a business analyst at the project lays in:
- Better feature prioritization.
- Reducing development time as more issues can be clarified prior to taking a feature into development.
- Decreasing the cost of development as issues and logic gaps are discovered before writing the code.
- Better requirements eliciting as a BA uses a set of techniques valid for different products, stakeholders, and contexts.
Let me show you a quick example supporting the need for business analysis in software development. One of the services we developed at Waverley required user registration. What could possibly go wrong if we’d implemented such a feature a thousand times?
However, after the BA checked the regulations applicable to that type of user, we learned that the service could not store the user’s personal data, such as email or phone number.
That is why the product owner and business analyst revised the user registration process to enable the solution identify a user. Still, no personal information was gathered at the same time. Imagine if the regulatory requirements were discovered after the solution was implemented. A bunch of the change requests would be needed to solve the problem.