Why would I need a business analyst? Can’t a developer gather the requirements?
Recently came across this question on Quora. I thought that this question needs an answer as this is a pertinent question. Let me answer this by explaining the developer’s paradigm.
What Vs How: The strength of a developer/programmer is to write great piece of code. To write great piece of code, one must be good at understanding algorithms and must focus on “How things can be done?”. A developer must think about – “How can I write the best algorithm to achieve the results in the least possible time?”. Developers always think about solution.
Requirements gathering focuses on “What needs to be done? What is the current process and what needs to be done to improve the process efficiency?”. Requirements gathering process requires you to focus on “What” rather than “How”. You need to be more open-ended rather than close ended. This is one of the major factors as to why we need a specialized role like business analyst to gather requirements. Requirements gathering is always about focusing on problem and not solution. If you don’t focus on problem, you may be solving the wrong problem.
Language problem: Of course, I am not talking about English or French. I am referring to the gap between the language of business and language of programming. Java/Python like languages are very different from languages of describing business processes. A developer, who is great at understanding multi-threaded lingo, may find him/her at a loss, if the business is talking about derivatives or debit/credit. There is no superiority or inferiority but these require two different skill sets and learnings.
I am not, even for a second, suggesting that developers can’t do requirements gathering or perform the role of a business analyst (I have done precisely that in my career) but that requires some unlearning & re-skilling.