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.
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.
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.
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.
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.