A business analyst is a member of a product development team who analyzes the business domain, documents its processes and systems, outlines business requirements, and matches a software business model with the software being built.
On a bigger scale, a business analyst bridges the gap between stakeholders and the development team, interpreting business requirements into understandable development tasks to match a final software product with the expected business value.