Okay, so the title is probably a bit over the top, but how many times have you seen a version of this play out:
Business Cust: This doesn't do what I wanted
BA: I'm sorry; the requirements were clear
Dev: Yeah, and they said to build exactly what I built
BA: I didn't mean for the requirements to mean THAT -- obviously you misread them
Business analysts are generally people who are charged with helping the business users turn the brilliant idea they have in their heads into instructions that the development teams can follow to realize that brilliant idea. This is not an easy thing to do under the best of circumstances and modern business does its level best to ensure that no one works under the best of conditions. The task itself is obviously needed. Business people and customers are, well, business people and customers. They are not capable, and frankly should not be expected, to completely understand how to make technology do what they need it to do. The problem comes from the insistence on separating the people who understand the business from the people who understand the technology.
When you want to learn something, when you want to understand what is going on in someone's head, the best way is to spend time with that person. Only by working with the person with the idea can you hope to understand enough about the idea to turn it into a solid product. More, the give and play of a true conversation can lead to refinement and improvement of the idea as the business person understands more fully what technology can and cannot do. But if you separate the implementor from the person with the idea, you break this circle of understanding. This, much more often than not, is what happens when you introduce a business analyst.
Instead of clear communication, you get a game of telephone. The business analyst, who is almost always not a technology expert, attempts to understand the idea and convert it into language that the developer can work from. The business person or customer lacks appropriate feedback on their ideas, and often walks away without a complete understanding of the cost of what they are asking for or the possible options and ways technology can improve their idea. The developer hears about the idea third hand: instead of something resembling the Platonic Form of the idea, the developer is strapped in Plato's cave, able to see only the shadow of the thing.
There are many reasons why this happen, but all of them trace back to the modern management disrespect of the idea of the value of craft. In the modern MBA mindset, the perfect developer is one that is completely interchangeable with any other developer. The recognition of skill, talent, and ability play little, if any, role in that model. There is a persistent myth that developers are not socially aware enough to be allowed to interact with other human beings. Thus there is a need to interject an intermediary into the equation. This infantilization of developers, this unwillingness to demand the same kinds of skills from developers as from other members of the enterprise, makes it easier to believe that developers are just replaceable code monkeys.
The problem is that it doesn't really work. Requirements are notoriously unreliable; the industry has been steadily moving away from waterfall projects -- projects where the work is done in distinct stages: requirements, development, testing -- and into more iterative models, where there are multiple opportunities to clarify and correct mistakes in requirements and adjust to changing realities. The Agile development methodology is designed explicitly to put people who understand the business in the same room as people who understand technology. The recent surge in architecture and solution architecture positions are another attempt to correct for the over abundance of business analysts and bring the business and technology together.
If you want your technology to better solve your business problems, tech your business analysts to code. You will break the telephone lines and let your business and your technology have nice, long, productive conversations.