Does every custom software development project need a business analyst? The answer is yes, if it has more than one stakeholder and one software developer working on the project. Here's why.
Developers are really good at developing software solutions, but not always so good at business analysis. In my experience, they’re actually pretty bad at it.
In a custom software development project, an analyst is the person who investigates and studies the needs of all stakeholders enterprise-wide, and documents the processes and requirements that are needed to meet those needs. When you have a very small project with only one stakeholder and one developer you can quite easily do without an analyst, since there is a direct communication channel between two people.
This is not the case when you have multiple stakeholders, software developers and support staff. The communication channels between this many people can become quite complex and the project often grows exponentially.
Software developers are the artists, business analysts are the agents
Software developers excel at giving life to an idea, but the idea needs to be clearly expressed to them before it can be developed. In a way, software developers are like artists. You would never expect a commissioned painter to paint the picture you have in your mind if you haven’t explained it in detail. You would probably not only need to have it clearly outlined to him, but also to maybe even show a picture or photo of what you are looking to achieve.
For software development, this role of agent is where an analyst comes in. It’s the job of the business analyst to gather as much detail about the software project -- the goals and desired outcome that need to be achieved -- and create a detailed document where the idea and requirements are clearly conveyed. It’s then the job of the software developer to read such a document and bring the idea to life.
Business analysts are not the same as project managers
It’s important to note, however, that the business analyst is not the project manager. He will not manage the project, software developers, stakeholders, milestones, or deliverables. The job of the business analyst is to gather information from the stakeholders and convey it to the software developers in an easy to understand, written format, so that stakeholders can confirm their ideas are being clearly conveyed and developers can come back to the specification documents whenever they have any doubts.
Equally important, at the end of the project when the software is delivered, the team can clearly validate that the final software product conforms to what was envisioned by the stakeholders.
The greatest risk of not having a business analyst documenting the system requirements is that when the software is delivered to stakeholders if it’s not what was needed or envisioned by them, the blame game begins and the miscommunication realities become apparent very fast.
The key to avoiding inefficiencies in custom software development projects is to bring in a business analyst from the outset. Letting software developers focus on what they do best -- bringing software development ideas to life; and allowing the business analyst to be the conduit of the idea, goals and requirements -- brings true success and helps ensure successful projects every time.
This article is published as part of the IDG Contributor Network. Want to Join?