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.
Business analysts come from a wide variety of industries and from varying backgrounds. Because of this, you need to be flexible in your expectations of the type of work you will perform as a business analyst.
More than 50 major domains or industries that hire business analysts including the web development, web design, e-commerce, software development, information and marketing industry.
As the business analysis industry matures, software developers, database designers, software architects, project managers and professionals with diverse backgrounds are taking on formal business analysis jobs.
When gathering or analyzing requirements, it is just as important to focus on the process that you are using to develop your requirements as it is to focus on the requirements themselves.
If you have a poor requirements elicitation or management process, you risk not understanding the business problem you are trying to solve or turning out a poor product.
The cost of Information Technology (IT) project failures has become so high that one can no longer ignore the fact that business analysts need to invest a good amount of time into understanding what they intend to build.