29 October, 2019
There are a lot of different job titles, positions and responsibilities in a development team. Depending on how complex your project is – the shape of the team can be very different. One of the positions is an IT Business Analyst. But what does a Business Analyst do? And why actually you may need them in your team? Good question. Being a QA/BA at The Software House myself, I feel in a position to try and briefly introduce you to their daily duties.
Different clients, different visions and requirements
We established that development teams may be very different. The same applies to clients, obviously. Some of them only have a vision of their system/application, when the others have a ready product which actually works, but they need it to be developed further, sold to the other clients or simply they want to improve some of its functionalities and they look for a partner to help them do that.
Business Analyst job description or a few words about QA/BA daily duties
Recently, at The Software House, we’ve got an example of the client with a ready project and with a vision to develop it further. We’ve created a team of DevOps, developers, QA, QA/BA and we started working at full speed.
In the beginning, we had to check the shape of the system our client was using. Normally, the first question which appears at this point is: “do you have documentation?” Pretty often, the answer is… no. This time it was no different. But would that stop us? Of course – it wouldn’t.
So, we’ve got access to the system, the repository and we’ve started exploring it. Here is where the QA/BA role starts. You probably noticed that I mentioned it when introducing you to the team composition. So, what exactly the QA/BA role is? As the name may suggest – it’s a joint responsibility of Quality Assurance Engineer and IT Business Analyst. Why is it for?
Well, one of the most important duties of QA/BA is to say – what we have to do? The main task for them is to learn a vision and the goal of the project to determine the direction of the work. Then, the analyst needs to learn the business domain of the client.
See also: How to start in a new QA team?
It’s necessary to establish what exactly is the client doing. Where and how they make money or if they have any market competition. The role of the analyst is also to learn the organizational structure of a company they work with. It’s because the analyst should know who is in charge of making the most important decisions. If there’s any investor or sponsor of a project? Who needs to be contacted? And so on and so forth. Another substantial element of analytical work is to learn everything about the end-user of the application. Who and how would use the system? The additional advantage is the possibility to contact the user to know their opinion. All these aforementioned questions and good practices should be asked or applied in the beginning of QA/BA work.
Then, if the existing system is the case – QA/BA needs to step to the analysis of the app’s status. At this point, it’s crucial to have some skills in software testing. Also, it helps when QA/BA can choose some potential scenarios to be able to test them too. That’s why it’s so important to have both testing and analytical skills.
The description of the application status can be as simple as a list of actual elements and technologies used or more detailed and complex (for example with some diagrams). The method you use depends on who will use your documentation. When doing an analysis – it’s important to gather all the client’s requirements and expectations about the future shape of the application. It helps with setting what should be implemented in the first place and what will be under improvement in the future. It all will help you with further development.
Testing’s done. Let’s build something
Once the analysis is done and you have all the necessary information about the application and the client’s requirements – it’s time for development. At this stage, the role of QA/BA changes slightly. Now, the analyst can be a middleman between the client and the development team.
The analyst has domain knowledge. Knows everything about the app and its expected final shape as well as what may be the expectation of the end-user. It all helps when the analyst cooperates with the development team, providing all this information and testing/trying all the new modules or functionalities during the development. Also, QA/BA can verify whether the development progress meets the requirements of the client at every step and it helps to deliver the top quality product to the client.
Now, you can ask: “ok, but what if a client comes only with an idea?” Well, the answer is – the process looks pretty much the same, but instead of analysing the existing system which may need to be improved – you put a stronger accent on the background checks. You need to dig deeper for some information about the market, main competitors, potential end-users expectations and last, but definitely not least – what the client really wants and needs. Obviously, often a client whether doesn’t really know what their expectations are or have some difficulties with sharing their vision with us. Again, here’s a QA/BA role to take a client by the hand and try to go with him through a new project journey.
Summing it all up, an analyst sometimes has to be a simple middleman between a team and the client, but they need to have the broadest and the most extensive knowledge about the product. QA/BA should be able to find the connections between tasks to verify if development progress goes in a proper direction and if it meets the client’s requirements. It’s about the analyst to be able to talk to all the team members and to gather all the progress of the works. In some extreme cases, QA/BA needs to take the role of so-called Proxy-Product Owner and be responsible for some bigger decisions regarding the direction of the development, but it’s a topic for another article. You can ask whether you really need one in your team and the answer is – yes. It’s because a good analyst normally offers knowledge within a few areas, such as testing, marketing, programming, sales and UX. It helps to understand the client and propose the best possible solution. I hope that it answers the question “what a business analyst do?” They come with the mixture of the knowledge and the experience to significantly improve your service and make your client’s dreams come true.