I must say that my thoughts and experiences in the software industry has been shaped by my interactions with various end-users, business executives and software professionals and few inspiring books which I have read.
The post-2000 period has witnessed a major shift in the way information technology (IT) industry works. From the previous on-site model there was a shift to the offshore development model. This has had several benefits from the client’s standpoint. Cost was certainly one of them. But more importantly the IT department in client organizations could now focus on its core business, namely understanding and meeting the needs of various business departments which they served.
As a result of this shift and the rapid rate of progress of the IT industry and its profound effects on business practices, a need was felt to separate the user facing role from the technical role in the software development process. The role of Business Analyst was thus carved out of the System Analyst-cum-Developer.
This of course, is just one of the many explanations for this new role. Another and to my mind an equally valid one is that many business users felt bored dealing with techies and instead showed keenness to meet a person who could interact with them in their language and be knowledgeable about their business domain.
Various research reports have proved beyond doubt that the topmost reason for failure of software projects has been a failure in getting the correct and complete requirements of a user/client.
Thus, requirements gathering is a brilliant opportunity for a BA to shape expectations of each person associated in the process with the proposed solution.