What is the role of an Agile business analyst? Is the role of a business analyst in Agile projects different than that in waterfall projects? We will examine the role in details.
Agile Business Analyst
The IT industry is swiftly embracing Agile methodology and this brings into focus the role of an Agile business analyst. In this article, I am going to discuss the need and the context of Agile business analysts.
History of Agile movement
How did Agile came into picture? By 1970s, software experts were convinced that waterfall way of software development was not suitable for most of the bespoke software development projects, because of various reasons e.g. changing requirements, lack of consistent customer collaboration.
Many methodologies popped up thereafter – right from Prototyping, Spiral, XP, pair programming, DSDM etc. Agile can be thought of as a culmination of many such attempts.
It took concrete shape when 17 such experts came together and agreed on a common Agile framework in 2001. The key principles behind Agile manifesto has been:
- Early and continuous delivery of working software to encourage customer collaboration unlike other methodologies wherein working software is only available in the end for customer UAT.
- Finding a methodology to respond to the reality of changing requirements, rather than trying to stabilize the requirements through various means e.g. Change request process
Both these principles indicate that the Agile approach is adaptive rather predictive, whether it is planning or design or development. People don’t follow a plan, made by project managers, but continuously adapt based on the customer feedbacks and changing scenarios.
I guess, what I described above, is well-known and Agile Methodologies have proven their superiority already. Let’s examine the context of a business analyst in Agile Projects.
Context of Business Analysts
What does a business analyst do in software projects:
- Work as a primary interface between customer and the tech team
- The primary role is collecting, analyzing & modeling customer requirements
- It’s about translating the business requirements into set of technical requirements, so that technical teams can design and code the system better
- Validate the software before handing over to the customer
- Managing the requirements (changing requirements, prioritization etc.)
Role of business analyst, as a specialist has been gaining critical importance for two reasons:
- Incorrect/insufficient understanding of customer requirements has been one of the top reasons for failed projects and Business analysts are entrusted with the responsibility of getting the requirements right.
- Technical teams may write better programs if they can understand – “Why something is required”? Business analysts achieve this using modeling and close collaboration with the technical team.
The above become even more relevant with the increasing size and complexity of the projects. I conducted a webinar some time back on the roles and responsibilities of a business analyst.
Role of Agile Business Analyst
SCRUM, is probably the most used and followed Agile methodologies and does not have a defined role of a Business Analyst.
SCRUM did not define the role of a BA, probably because business analysts role was not very prominent then. Scrum has a role of a product owner. A product owner is responsible for eliciting, analyzing, modelling and managing the requirements.
For me, An Agile business analyst’s role is very similar to a product owner’s role. Let’s try and understand the role of a product owner.
In SCRUM, the product backlog captures the requirements for the entire product/project. A set of requirements are taken up to be completed in a particular SPRINT are listed in sprint backlog.
Product owner is responsible for managing the product & sprint backlog.
At the start of the project, product owners work with the customer and the stakeholders to come up with the broad level requirements (EPICs, Themes and user stories). Based on prioritization of requirements, user stories are detailed out to create detailed user story cards.
The team estimates and discusses the user stories (prioritized for this sprint) in the presence of the product owner. Product owner answers the queries relating to the requirements.
During the development , the Scrum team collaborates with the product owner to validate the solution (read individual screens or functionalities).
Product owner also manages the backlogs and keeps it up-to-date. This includes – adding new user stories, deleting or modifying user stories based on the interactions with the customer.
To conclude, the product owner’s role aligns with the business analyst role in any other project, however the nuisances of Agile methodologies make it challenging. Agile methodologies are not easy to implement in the true spirit as it requires not only team’s alignment, it requires changes across the group or even organization.
Techcanvass offers IT certification courses for professionals. We are an IIBA endorsed education provider (EEP), iSQI ATP (for Certified Agile Business Analyst Training) as well as Agile Testing alliance partner for CP-SAT certification training in Selenium.
We have a Business analyst training course with domain training in-built into it. This training program offers you the opportunity to get certified with ECBA certification as well as have banking domain understanding.