Without a Business Analysis, web development looks the same as traveling without knowing your final destination. In the case of traveling, this may seem like an incredible adventure while, in business, the risk would not be one worth taking.
Before starting with a project estimation, you should clearly understand the goals and imagine the results that you’d like to achieve. Developers are not oracles and have no way of knowing exactly what it is you want.
How can a Business Analysis help in overcoming challenges at the planning stage? Read on!
The following statistics can help us understand a bit more:
39% successful projects (delivered on time, on a budget, and with required features and functions).
43% challenged (late, over budget, and/or with fewer-than-required features and functions).
18% failed (either canceled prior to completion or delivered and never used).
We can see that the main challenge of project development is meeting time and budget constraints, which is usually caused by:
- poorly defined requirements
- absence of leadership
- lack of communication with a Product Owner, and
- constant changes in technical requirements, and more.
Most of these problems can be solved with the help of a Business Analysis.
“Business Analysis allows everyone in the team to understand objectives and the scope of a project. Without an Analysis, it is very difficult to create the Development Plan that determines the stages and timeframes of the project, mitigates risks, and highlights the important gaps in requirements before development starts.
For those clients who do not already have a Business Analyst, we can provide our services and seriously save development time and budget.” – Pavel Moroz, Business Analysis expert at Greenice.
What does a Business Analysis consist of?
A Business Analysis in web development projects may consist of the following activities. Note that these projects may vary across different companies.
1. Defining the scope of features
During the initial phase, a Business Analyst (BA) communicates with the stakeholders or product owners. Together, they discuss the objectives of their business and identify the scope of features and processes that can be automated.
2. Interpretation of business needs
One of the key responsibilities of an Analyst is explaining business needs to developers. This process usually spans across the inception phase and lasts throughout the development lifecycle. Discussions and meetings may take a fair amount of time, so it is wise to delegate the requirements clarification to the BA. He/she will be able to extract the rational from all conversations.
3. Interpretation of technical aspects
Along with interpreting business needs to the team a BA translates the technical language, that stems from developer suggestions and questions, to the stakeholders. For instance, why they chose one approach over another when creating an application, or how a new change can influence the project timeframes.
4. Creating documentation
After the initial scope of features is confirmed with stakeholders, a BA can set about creating detailed requirements with user stories and wireframes that can be estimated by developers. On the basis of these requirements and other documents, the team can create a Development Plan (selected technologies, stages of development, and time frames).
In the course of project development, a BA can check and validate the correctness of work of all implemented features. While the implementation is in its final stage, the BA can often be engaged in User Acceptance Testing writing and performance.
6. Representing stakeholders
The role of a BA is especially important when a client and programmers are not able to communicate often. A Business Analyst that works with one team for some time can build trustful and respectful relationships with the developers. They can quickly clarify some questions, advise on better solutions, or brainstorm new ideas. Moreover, developers are not very eager to communicate directly with a client and prefer to address questions through the BA whom they work with and who can discuss all issues with the client, directly.
[Image by Helloquence]
Who is in charge of a Business Analysis in web development?
A Business Analysis has no strict rules. There are a lot of techniques that help an Analyst to perform the job but, in reality, many BAs simply grow from former developers, QA Engineers, Product Managers, and other close specialists.
Thus, a Business Analysis can be performed by:
- A Business Analyst
- Any IT team member, or
- A Product Owner/ Stakeholder.
An Analyst, as a separate team member, can be a link between clients and an offshore team of developers. As we outlined above, one of the reasons behind project challenges is the lack of communication with stakeholders, which often happens due to different time zones or difficult schedules of stakeholders.
In such cases, the presence of the client’s representative is very important. In the event of any questions, developers should be able to immediately clarify them with a person able to answer and, usually, a BA is the first point of contact in these cases.
In different IT companies, the processes of gathering requirements and managing projects are organized differently.
The duties of a BA can be either performed by one person or distributed among team members, including Sales Managers (who participate in the initial communication with a client), Team Leaders (responsible for technologies, estimation, and overall project control), Project Managers (who control and prioritize the development process), Product Managers (who work on the creation of features and enhancements), and other team members involved in the discussions of a project. Most often, one person truly leads the process, and this is usually a Project Manager.
[Image by rawpixel.com]
The Product Owner can make an Analysis and create corresponding documentation on their own if he/she feels confident about his/her abilities to fulfill these tasks. Before the development starts, the requirements have to be studied by the development team to escape any ambiguities and misunderstandings.
There are often cases when clients come with ready requirements but are not open to any developer initiatives or improvements, sometimes regarding developers as monkey coders. Such attitude can lead to the lack of motivation from the team to come up with some progressive solutions, especially if they think they will be rejected anyway.
Benefits of a Business Analysis
What is the role of a Business Analysis for web development and what benefits you can elicit from it?
1. Increase efficiency
Having a full picture of what should be done at the planning stage before development begins increases the chances that the estimated time frames will be observed. If something was missed at the planning stage, it may lead to serious changes and rollbacks which, in turn, will postpone the release date.
The communication on the pre-development stage is usually very intensive, as there are always a lot of questions and clarifications. The goal of a Business Analyst in web development is to engage stakeholders in determining business objectives, scope, and deliverables. Any detail that may seem a trifle may, in fact, impact everything – from the selected technology to the timeframes.
[Image by Štefan Štefančík]
2. Help generate new ideas
Brainstorming with developers who constantly deal with technologies can help a BA find unexpected solutions that he/she would not even think about. At this stage, the role of a BA is to be open-minded and professional enough to separate the husk from the grain and deliver the best ideas to the stakeholders.
3. Help to choose core features
Despite the fact that all the requirements are important during an Analysis, it usually turns out that some of them are more critical while others can be put aside. It is vital to create a range of features, defining what should become must-haves and what can wait for future releases.
[Image by Informit]
As you can see, a Business Analysis is a multi-purpose instrument that is able to help you in overcoming many challenges connected with requirements, ideation, relationships, leadership, and decision-making.
How to Apply This to Your Business
The role of a Business Analysis shouldn’t be underestimated, as it’s crucial to specify the business goals early on in the pre-development stage. A deep analysis and complete understanding can serve to lower expenses and reduce development time.
A Business Analysis is not only about writing down the requirements, but also about coming up with valuable ideas. Discussing options with developers, you can pick up the most optimal solutions that provide better security, more up-to-date technologies, and shorter time frames for implementation. There are many techniques that facilitate the process of requirement gathering and prioritization. Of course, there is no single solution – so, combine, adapt, and experiment!
No matter who is in charge of a Business Analysis: a Stakeholder, BA, Team Lead, or any other team member, cooperation will always positively influence the results. So, be open to the initiatives and expert visions of other participants on the project.
Co-author: Pavel Moroz, Business Analysis expert at Greenice. Pavel has a vast experience in Business Analysis and requirements creation. His daily duties include communication with customers and developers to understand both sides and come up with the best solution for the projects. Pavel is very positive and a nice to talk person.
Need a Business Analysis for your project? Address your case to our resident “Sherlock”!