Scott Ambler, the author of number of books focused on agile development and software project management, says that first and foremost, Business
Analysts are responsible for all the communication and collaboration between the business and IT. In layman terms, a Business Analyst is a middleman for the business and technical teams in a company. The business team i.e. the stakeholders of the project put forward their business needs which the technical team call as “Requirements Gathering”. But often the stakeholders have contradictory ideas, or don’t know what they want or are simply confused. So the term “Requirements Gathering” is understated. It should be referred as “Requirements Clarification” and this is when a Business Analyst comes into the picture. The BA untangles all the mess and provides a set of clear, straightforward and unambiguous requirements that the technical people can work on.
A BA solves business problems by designing information systems either by implementing a new business process or by improvising or reducing the operating costs of the existing business processes. For this, the BA needs to have very strong business skills and understanding of business domain. Business Analysts can also be referred to as “Organisational Analysts” as they are also involved in identifying problems, needs and opportunities of improvement at all the levels in an organization.
The BA has following roles in software project development:-
1. Initiating the Software Project
This phase involves assembling of project requirements and indicating the problems to be solved. The BA brings together the stakeholders, collects all the information and prepares a Scope Document which will ultimately decide whether or not to fund the project.
2. Interpreting the business needs
This phase involves working with the stakeholders and analyzing their requirements. So the BA ensures that the stakeholders have unanimously agreed on what is to be implemented and that the development team has everything they need to design and later implement the solution.
3. Translating technical issues
The BA needs to break down the technical and architectural complexities for the stakeholders, as in to explain them what developers are doing or why they need to do it. Also BA needs to convey schedules & estimates of the project to the stakeholders.
4. Political Guide
As BA’s have good connections in the company, they can help the development teams to overcome all the political minefields. Also BA’s can help the development teams in engaging right people for their project needs.
5. Implementation of the Software Project
BA’s are not directly involved in implementation phase. However, if some issues come up while implementation then BA’s need to extend their support which involves activities like conducting a meeting to address the newly discovered requirements and communicate them with the development team and also provide a heads-up about it to the stakeholders. BA’s can also provide their support for training, documentation and user acceptance testing.
6. Representing Project Stakeholders throughout the process
As the project development teams do not have direct access to the stakeholders, BA’s can provide necessary domain information, requirements and business priorities to them and in turn will also have to communicate with the stakeholders to verify that information and decisions.