Answer by Abhishek Srivastava:
A business analyst in an IT company (it will be true everywhere) is primarily responsible for requirement development and validation with the customer in addition to being the communication link between the customers and the development team. What does it mean?
As a business analyst, you are expected to co-ordinate with the customer to understand their requirements, model it (e.g. using UML diagrams) and develop specifications so that the development team can develop the software. This is probably one of the most important tasks for any software development project as “Incomplete or mis-understood requirements’ is one of the top most reasons for software projects failures.
Once the software is developed, BAs are expected to validate the developed software as they are supposed to understand “What does the customer want”?
Additionally, BAs are the communication link between the customers and the development team for everything related to requirements, be it new requirements or changes to the requirements.
It goes without saying that an active listening along with good written and oral communication are two of the important skills for a BA.
Hope that helps