Models like Agile, Extreme Programming, Scrum or Waterfall are used by project managers, business analysts, software developers or quality assurance analysts to describe how a project is managed or a software product is built.
The software development life cycle determines how risks are managed, business requirements documented, resources estimated and allocated, stakeholder expectations or customer feedback is managed and when software / quality assurance testing is performed.
Each software development model recommends a set of guidelines or best practices for developing software.
In both Iterative and Agile methods, the BA is (or should be) involved with requirements gathering, project communication and facilitation, translating technical and business jargon, holding development to the business needs during the execution phase through Alpha Testing, demos, walk-throughs and issues management.
BAs often write the Test Cases and, surprise the Test Scripts when the project doesn’t have QA resources.