Role of a BA in an Agile project
Out of many roles on an agile team – developer, tester, project manager or product manager, the role of the business analyst is probably the one whose “existence” on the team is most frequently challenged.
When a project shined with an analyst, two of the biggest benefits to the development teams have been:
- Everyone on the team understands (and questions) the ‘Why’ Many seem to believe that the business analysts’ sole responsibility is to write stories. For traditional business analysts is may be true. But in the agile world, it is necessary for the analyst to talk to the business stakeholders and establish communication mechanisms to understand why we are working on something before we develop it. On a distributed team of 15+ people project for a large retail client, our team was suffering from a poor understanding of the domain as a whole and why the work we are doing is required. As I spent a good amount of time understanding the domain myself in the beginning I decided to utilize ‘lunch and learn’ sessions to share my learnings using diagrams. It helped the team to connect the dots by understanding where each story fits in.
- Teams can make faster decisions by getting answers quickly with distributed teams, constantly changing market demands and complex tech stacks, product development is increasingly getting more complex, with an interplay of multiple systems and development teams. The development team needs to be equipped with the fast flow of new information so they can understand and influence changes. Often times the kind of conversations and questions the development team needs to know are more detailed than product owners can help with. Product owners focus on understanding the market and stakeholders while agile analysts understand the vision of the product and perform various activities in development team to reflect that vision into the product. The agile analyst is someone who is at the center of such communications in agile teams. Agile analyst is dedicated to one development team. He / She communicates with various people by facilitating many agile rituals such as inception, iteration and numerous ad-hoc conversations. Their focus during such communications is to help the development team keep up-to-date with changes in customer priorities and to have their questions answered. This in turn helps them to proceed with their development work at a faster pace by making decisions based on accurate and well-understood data.