What is an agile business analyst?
Many teams that implement an agile framework for software delivery find it useful to have a Business Analyst (BA) as part of the team. However, finding a good definition of what a BA does in the agile context is challenging, especially because many frameworks such as Scrum are agnostic to the specific makeup of a team. Specifically, someone with a bias towards BA skills in the scrum context would typically be a member of the development team.
On many teams, the BA is reduced to the “story writer”, solely responsible for writing user stories and acceptance criteria. Whilst this is a useful contribution, limiting the role misses the valuable contribution a good BA can provide to the team.
A key accountability of a business analyst on an agile team is to support the product owner (PO) with decision-making. They do this by deep-diving into problems and providing options on ways to progress the product evolution. A key part of the role is to help the PO justify their decisions, so they don’t go rogue and start ruling by diktat. This helps reduce the risk of non-customer focussed knee-jerk decision-making.
During review meetings, the BA should challenge the ideas and views of stakeholders to ensure they align with the product objectives. They should ensure the value of each stakeholder’s ideas can be compared against other ideas. When working on products that have multiple stakeholders or customer segments, the BA ensures each of the various customer perspectives is considered.
Defining the behaviour of the system can require significant detail, especially when there are complicated business rules and edge cases. Being able to specify the system using examples and scenarios helps the development team clearly understand the scope of work to be done. BAs often do this using behaviour-driven development.
Often the BA will work with the PO and their development team members to refine backlog items to get them ready for the development team to start. On a scrum team this might be by leading a refinement meeting or on a kanban team there may be a process step for getting ready for development.