A Matter of Debate
The main role of the business analyst within an organization is to understand the organization itself and then to act upon this knowledge by providing ways to improve the company. But what role does a business analyst play within Agile development? It’s a good question with a variety of answers.
Many people contend that business analysts are not necessary at all, but this is not always the case. The importance of the business analyst role in Agile software development is that they can look at the organization as a whole and fill in the gaps missed by the Agile development team itself.
Often, the business analyst has a greater understanding than the development teams, especially when deciphering the conflict between what the manager wants and what the customer really needs. They also have the ability to more than adequately mesh those two often-contradictory views into one cohesive whole.
The Main Responsibilities
Basically, the role of the business analyst is to take his or her knowledge of the larger organization (structure, business needs, etc.) and relate this information to Agile team members. Team members are often so engulfed with the technology itself that they don’t really understand the needs of the client. The business analyst perfectly fills this gap.
The business analyst is the customer advocate within the Agile development team. He is most effective when placed within a business solution team rather than the technology team. This way he can really recommend changes to the organization that will improve the worth of the project based on client requests.
A business analyst's role in Agile development is as follows:
- Understanding stakeholder needs
- Understanding business needs
- Understanding management goals and objectives
- Analyzing the potential impact of changes to warehouse or office space designs
- Working with the legal department to understand the potential legal ramifications of process changes
- Representing customers to the Agile team
- Collaborating with Agile team members to meet the required needs
There are many others, but these roles tend to have higher priority, especially in relation to the Agile development team. The last two represent perhaps the most important jobs in regard to the assisting the Agile team. Generally, the business analyst helps the customer find out exactly what he needs by asking many questions and truly bringing forth what the customer wants.
The business analyst is a people person with a nose for investigation. Those skills guide the customer to provide the Agile user stories that they truly want to develop. Once the business analyst examines these user stories, he helps the customer define these stories so they are clear and definite. He also assists the customer in clearly defining the criteria for these stories. Finally, the business analyst will explain and assist the Agile team in meeting the criteria for these stories.
Below are some of the requirements for being a business analyst:
- Interpersonal and investigative skills
- Understanding screen and process flows
- Design understanding, including color, fonts and layout
- Understanding business and customer needs
Generally, the people who are most suited to fit the business analyst role in Agile development are the customer advocate or product owner on an Agile development team.