The job of the Business Analyst is changing as the field of software development changes. As software development companies move toward agile methodologies, the role is changing to fit the new methodology. They still have a place in agile software development although their roles may be slightly different than in more traditional software development.
Agile development is a strategy of software development in which the process occurs though short increments. The phases of the development process occur continuously in iterative cycles, developing the “features” with the most business value first. Stakeholders and the development team meet after each increment to discuss what has occurred, re-evaluate requirements and determine priorities. This allows for greater transparency between clients and programmers and clients have greater influence in what is being designed to ensure the product is what they want.
Business analysts fit into this model in a number of ways:
1. In the traditional “waterfall” style of development, the business analyst would gather all the requirements for the product upfront and produce a document detailing all the work that will happen through the development phase. However, in agile development, the requirements are defined throughout the development cycle. After each increment of work, the agile team meets to discuss the work that was done and the work that needs to happen next. The analyst attends all meetings and helps the product owner and the development team decide what user story should come next.
2. They facilitates discussion between the product owner and the development team and often acts as a proxy for the Product Owner. While the development team and the product owner meet and discuss the requirements, an analyst can really help to put the business requirements into technical terms that the development team can work with when performing the estimation.
3. The business analyst can stand in place of the product owner. The product owner and the development team meet often to discuss requirements, but when the product owner is not available, the analyst can stand in his place. The product owner can delegate some of their duties to the analyst. The business analyst understands the business of the product owner and therefore can understand their priorities when he or she is not available to meet. The analyst can decide what comes next in the product backlog and describe those requirements to the development team.
4. The business analyst sees the big picture. While the development team is focused on completing each increment in the development cycle, the analyst watches the bigger picture to keep the development team on track of completing the project as a whole.
5. The business analyst can provide feedback on the end product. The analyst understands what the end user of the product is expecting and can provide feedback on to the development team and product owner as to how the user is going to approve of the product.