Developers Vs Business Analysts
As Business analysts or analysts working with requirements, we often think that in most organisations and projects, there is a business analyst working between the business and IT to collect the requirements, document them and communicate them to the developers. In ideal world this should be the case but it’s unfortunately not always the case.
I have led the requirement and analysis work in a major US company to replace a 20 year- old legacy system with a new one. To my surprise the importance of business analysis was largely undervalued. This led to a number of inefficiencies and really highlighted the critical role of business analysts in such projects.
Below are some of the issues I came across during this project:
- The requirements were not documented. Business users will come and go over the years, and with them the precious knowledge they had. Nobody knew what the initial requirements were, which led the developers to simply copy part of the old code in the new system. Predictably, the end result did not reflect the current business needs.
- Business users were communicating their requirements directly to the developers. Without business analysts translating, filtering and documenting the exchanges between the two parties, communication was inefficient and the new changes were communicated to few teams, which resulted in delays and frequent unexpected scope changes.
- Testers did not know how to test the undocumented requirements and were directed to the technical documents to understand the functionalities. This created a lot of stress and tension between the two teams as testers ended up annoying the busy developers with their endless questions when they could have relied on a well-written document. Also some developers would send pieces of their own code or SQL to testers, which was clearly not a good way of testing the system.
- Developers were often not involved in management meetings. They lacked a global perspective of the project and tended to focus on the technical details rather than the big picture.
- Developers did not prioritize requirements. The developers rushed into coding every requirement or change asked by the business without understanding the impact or if it was part of the initial scope.
So why is a BA or a BSA needed in an organization and why is he or she critical for the success of a project? How could a business analyst have prevented the multiple inefficiencies listed above? Here are some of the responsibilities that a business analyst has or should have:
- Help scope the system. During the initial phase of a project, a business analyst may work with key stakeholders to gather initial requirements and to scope the project.
- Analyze & Document Business Requirements. Business analysts will work with business users to identify, collect, and then document their requirements.
- Analyze and translate business needs .One of business analysts' main responsibilities is to work with project stakeholders to translate their requirements into functional design documents, that developers can use to develop their code.
- Act as a liaison, filter and communicator. Business analysts have usually very good relationships within the business community and their duty is to find the right people to talk to and to ask questions to. They also work back and worth between developers and business users to clarify the open issues and answer both parties’ questions. BSA’s can also be the point of contact for the business if any technical issues happen.
- Testing. Business analysts will work with system integration testers (SIT) to help them understand the requirements and review test scenarios, they will also help project stakeholders validate their requirements during user acceptance test phase (UAT) and be a liaison between project stakeholders and the testing organization during UAT.
- Analyze and solve issues. Business analysts also work on solving issues that business users may encounter and coordinate with development to make sure that the issue is fixed.
On top of these activities, some BA’s may also be involved in other activities such as managing change requests, budgeting, training the end users, etc.
A business analyst or business system analyst has a key role and should be an advocate for the business and their needs. They act as a liaison between the business and IT and help collect, and communicate the business requirements in a concise and clear manner.
Have you ever been in a situation were business users were working directly with developers and bypassing Business Analysts, what did you think about that?
/Feyza Chatti, Require AB