Read to find out the role that Business Analysts play in software development teams.
Managing a software development project comes with numerous challenges like ever changing scope, different expectations coming from different stakeholders, lack of established best practices, and on top of that, poor communication between all the people involved.
The developers create code based on what they hear from the business and after long days of intense work, they proudly show the end result to client… and meet with disappointment. ‘We did exactly what you wanted.‘ – claim the team. ‘This is not what I expected.’ – replies the client.
There is a gap between the business and technological world, that people – seemingly working together – are not aware of or are helpless against. We lack words, their meanings and their context, and that’s why we need a bridge between the two sides of the gap, a translator of a sort, who could interpret and convert the language of business into the language of technology.
This is where a business analyst (BA) comes into action. At Future Processing (FP), more and more software development teams have a BA on board. They are responsible for gathering, analysing and distributing necessary knowledge related to the product at the beginning of the project and constantly during its course. They also serve as a source of knowledge and a constant point of contact for all of the questions and suggestions about the product.
The BAs working at FP are also present in the earlier stages of product creation. They facilitate the discovery phase and even help with creating organisational strategies.
In this article, we will focus on the part the analysts play in development teams, however, if you want to know more about their other tasks, check the links at the end.
An analyst relieves the team of the burden of defining requirements and confirming them with the client. They are a very efficient and convenient point of contact for both parties – business and development – on one hand understanding the needs of the former, and on the other, listening to what the people responsible for technicalities and the implementation of the solution say. As a result, the client is better informed about what can be done and how, as well as the team has more peace and time to focus on their work on the product.Łukasz SumaTeam Leader at Future Processing sharing his experiences of working with a BA
What are we even doing? – requirements engineering
Even a great and visionary software project can fail, if the end product is indeed beautiful and functional, but entirely unfit for purpose. For that reason, one of the most important things to establish, is a business need for every requirement that is coming from the client’s side. In order for both everyone to be content and for the product to be a success, a business analyst tries to discover not what the business says they WANT, but what they actually NEED.
The main challenge of the requirements gathering process is that usually there are various sources from which many small pieces of information come from. Sometimes the versions overlap, sometimes they contradict one another. The analyst’s job is to fully understand and create a consistent concept of the application, make sure the vision is spread among all of the stakeholders, and that there is a common understanding of every single part of it.
But gathering and organising input is only halfway to success. Then comes dividing the requirements into smaller chunks, adding all details necessary for the team to code and test the functionality, and defining priorities together with the client, so that the development team always deals with the most urgent tasks first.
A BA took most of the responsibility for maintaining the task backlog over from the team. When we started working with our client, we clearly lacked someone who could turn the stakeholders’ vision into a backlog which the team would in turn be able to understand and implement. Besides, all that the BA came up with, designed or discussed with the client, was consulted with the team at an early stage. Thanks to that, the team knew where we were going, and the BA had valuable technical feedbackMichał GawronLead Developer at Future Processing sharing his story on how a BA joined his team
An omniscient source of knowledge
A business analyst is usually a recipient of all the questions which can be even very distantly related to the product, process, stakeholders, technology, and what’s for dinner today in the cafeteria. Does it mean that they are really an all-knowing being holding all the answers to the universe? Certainly not! But they know and stay in touch with everyone, so they are your best bet to get the needed info as fast and as reliably as possible.
The BA’s goal is primarily to understand not only the small section of the software that the team is currently working on, but the whole context of the application, all of the business and technological dependencies, and who holds the knowledge about specific parts of the systems and processes.
Additionally, a BA having a broad understanding of the business needs means, that many smaller decisions can be made on a team level without consulting the business side for every single question.
It is primarily analysts who are responsible for communication with the client, setting priorities, creating and describing JIRA tasks, and proposing solutions that will be good both for the client and the development team. The reply is often immediate because instead of writing to the client and waiting for their response, you can ask the BA, who is sitting next to you.Karolina MarszałekLead Quality Assurance Engineer at Future Processing explaining how the role of a Business Analyst is crucial to the effectiveness of a team
Prevention is better than cure
But what if all of the requirements are already gathered and described, the team is working on the code, some of the parts are already implemented, and something unexpected happens? Maybe some new government regulations that need to be included, organisational changes resulting in different priorities, or maybe an unforeseen technical blocker which makes the designed concept impossible to put in life?
A business analyst has such situations under control as well. They are not only responsible for explaining the business goals to the development team, but also for quickly adjusting to any changes that influence the emerging application. They constantly monitor workflows and outcomes to be able to catch any problems early on, and make accurate and precise optimisations, whenever needed. Having a BA on the front line allows to early capture any risks or threats that could make the business goals difficult to achieve, and to prevent fires rather than having to put them out later.
Many tasks, many talents
One of the most important skills of a good business analyst is perfect written and spoken communication. It is necessary for one BA’s main tasks – gathering and distributing all necessary information, and constantly making sure everyone is on the same page regarding the product, process, and documentation.
Among other vital competences of a business analyst are certainly analytical thinking, organizational skills, attention to details, problem solving, decisiveness, being detail-oriented, and capable of delivering high level of accuracy.
When it comes to hard skills, the ones worth mentioning are certainly processes modelling, stakeholder analysis, requirements engineering, and facilitation skills. Usually, there is no need for a BA to have a strong technical background, however, they need a general understanding of the industry and technology. What’s more, they certainly have to keep an open mind, quickly adjust to changing business needs, and be eager to constantly learn about new things depending on the current project.
The key to quality
Business analysts play a significant role in many big IT projects. Based on our experience at Future Processing, the BAs’ efficiency positively influences the efficiency of the entire team, and in the end, everyone benefits from their work – the team has a better understanding of the whole picture and the client can rest assured that everything is going into the right direction.
A good analyst knows what their tasks are and usually starts in new projects and domains on the spot. They can greatly facilitate and accelerate the work of the team, as well as increase the value for the client, ensuring that they get what they really need, and the resulting software is usable and useful.Łukasz SumaTeam Leader at Future Processing summarising the BA role
But working in a development team is only a part of the job that business analysts do at Future Processing.
If you are more interested in how to engage a business analyst in product design before the development phase, and how they can help with turning ideas and dreams into great concepts and feasible solutions check out our Discovery Workshop. If you want to know more about business analysts assisting in creating organisational strategies and helping with designing business solutions perfectly tailored to the company’s needs, check out our IT Strategy Workshop.