Having solid experience in custom software development, Andersen shares the advantages of adding a Business Analyst to your team, providing real examples.
MINSK, BELARUS, December 19, 2019 /24-7PressRelease/ — For over 10 years in software development outsourcing, we at Andersen have noticed the following tendency: when choosing specialists to work on a project, many customers willingly hire software and QA engineers, agree to include Project Managers and designers, but refuse to use the services of Business Analysts. This is especially true in the case of those who are dealing with IT vendors for the first time. The role of the Business Analyst in project implementation is highly underestimated: many clients realize how much easier the whole process could have been if they had hired this specialist much earlier. Therefore, we decided to list the reasons – based on our experience – why a Business Analyst is crucial for software projects, and why you shouldn’t skimp on this expert.
The aim of the Business Analyst’s work is the same as that of all of IT specialists – to satisfy your business needs and ensure you receive exactly the product you wanted. The aim is universal, but the ways to achieve it are different for every team member: broadly speaking, the developer writes clean code and applies state-of-the-art tools, the QA specialist ensures the developed functionality is bug-free; the Project Manager supervises the whole process and implements Agile practices. As for the Business Analyst, they achieve this goal by working with requirements and making sure the tasks for the team are compliant with them.
We invited our specialists to discuss the importance of hiring a Business Analyst. So here are five advantages and real comments from eight employees, who were willing to speak out on this subject.
Okay, so you are a business owner. Things are going quite well, but you feel they could go better, as something is missing. Or you have some challenges which hinder the development of your enterprise. Or you want the work processes to be faster, more efficient and/or more convenient. In other words, there is a problem, and you know that this problem can be solved with modern technologies, but have no idea what this software solution should be. This is what the Business Analyst will help you with.
First of all, the Business Analyst starts probing the soil by asking questions that are necessary to get deeper and reveal what exactly you are not satisfied with. Then, after finding out what your business needs are, the expert conducts a thorough study of the sphere you work in and of your competitors; they investigate the market, if necessary. Then, all the gathered information is processed and analyzed, and the result is the best possible software solution for your company. Thus, the Business Analyst helps you to go from being unaware as to which hi-tech solution is needed, to the stage where the concept to improve your enterprise is ready.
“For our team, this was a new project in Entertainment. We implemented the features provided by the customers, and they were at the testing stage. The customers liked working with us and planned to continue the partnership; they wanted to improve the app, but they couldn’t think of any new features to add. Then, during a joint call, I said I would think about new functionalities. There were no similar applications on the market, so I couldn’t analyze the features of their competitors. So I simply used my logic: if I were a user, what would I like to have? For example, I thought about introducing screen personalization, the possibility to add photos, create photo galleries, set up notifications so that users would launch the app more often. Finally, I made a presentation with layouts and descriptions of features in the characteristic-benefit format (first a description of a feature, then a description of why it will be useful). The customers liked the ideas a lot, and we started their implementation.”
Alla, Business Analyst
“Once we worked on a taxi platform. There was no Business Analyst on the project, and the task of elaborating documentation fell on the developers’ shoulders. They had to draw the scheme of module interaction in the micromodule architecture, make schemes to explain to the customer how the system would interact with the end-user (what are the processes inside the system) etc. All these were done on their own. As a result, the development tasks were postponed to a much later date.”
Olga, Project Manager
So, you have a clear picture of your future software with its purpose, architecture, functionality, and design? Even so, sharing your idea with a Business Analyst wouldn’t go amiss. In this context, the specialist acts as a kind of reviewer and performance enhancer, whose task is to turn a good solution into a better one. Specifically, the Business Analyst investigates your software concept while considering your business needs, makes sure it doesn’t include any contradictions, eliminates functionalities that are unnecessary or hard to implement, adapts the idea to the needs of users, and suggests many other improvements you would never think of, thus making your product commercially viable and truly useful. Therefore, your idea is processed and, as a result, you receive an efficient concept of the software which, more importantly, fully meets your requirements.
“There was a product that advised users how to trade on the exchange, and of the probability they would receive a certain percentage of income. The application had been developed for a year or two by another vendor. When the work on the app was given to us, I discovered a problem in the business model. The problem was the following: it was possible to use the application from one account simultaneously with different devices, i.e. several people, having bought one account, could use the application at the same time and get forecasts. The customer was simply losing money. So I told him about the problem and suggested implementing a function where if users log into the system from another computer with the same account data, they are automatically logged out from the previous one. Hence each person has to buy their own account.”
Dmitry, Business Analyst
Developers are people with sharp and creative minds, who have deep knowledge of modern technologies, frameworks, libraries, tools, i.e. the tech part. But business, at least understanding it in detail, is not really their competence. The practical implication is that the developers won’t be able to understand immediately what exactly you want your software to be, what is of greatest importance, etc. Therefore, some guidelines are needed, and the Business Analyst provides these guidelines in the form of detailed documentation. In this documentation, the specialist splits all your requirements into tasks with thorough descriptions, categorizes them, and sets priorities. This specification is helpful not only for the developers, who can learn from it what code is required and why, but also for the QA specialists, as the documentation can become a basis for test cases. The result – the team’s work becomes more organized and efficient.
“So I was hired as a Python developer in order to expand and improve the customer’s software system because it all worked out of sync, and I had to make it all somehow more or less systemic. Initially, there was no Business Analyst on the project. I began to raise the database, develop a backend… But the business, obviously, wanted me to not simply rewrite the old, unsystematic, not very well-developed product, but to develop new features. And I couldn’t dictate something there… So it turned out that I possessed the knowledge necessary to develop business logic, but this was not documented. I had to go and get my work approved by QAs, Product Managers, ask them a lot of questions… On my own initiative, I recorded something in Confluence after talking to all of them. But again, there wasn’t any kind of organized structure. And when a Business Analyst was hired, the first thing this person started with was actually getting clear requirements. The development process always began with everything going through clear requirements, any change was evaluated in terms of how it will be implemented into the system. So there was good coordination, and not like you come to a programmer and say you need a certain feature, the programmer quickly develops it, and all this in fragmented form remains in the head of the QA, the programmer, or the Product Manager. I think if a serious development is underway, where there are a lot of people, then you need to engage a Business Analyst who will coordinate all this, and everything will move in the right business process.”
Dmitry, Full-stack developer
“When there is a Business Analyst on the project, it’s easier to work for sure! Firstly, developers make fewer mistakes. Secondly, I cover more. Thirdly, we are thinking about the same thing. And it’s not like something is written somewhere in the documentation, a developer imagined it in their way, I saw it in my way. Now my project has a BA, but two months ago it did not. And now the Business Analyst writes everything in great detail. Let’s say, upsale, it should have such a title, it should have such a text, and such buttons, plus such a layout, plus the moment when it should be displayed. Previously, there was only a layout, and in Figma, the layout was drawn in one way, but in the requirements, it was a little different. Therefore, you ask a lot of questions, like, where to look: in the requirements, or in Figma? You have two options, even three options sometimes, and you don’t know where the truth is. If there is a Business Analyst, we ask the Business Analyst first.”
Gennady, Manual QA
There will always be questions about the specified tasks. In case some points are not clear, developers can always turn to the Business Analyst, who knows for sure what is required and will explain it in lay terms. What will happen if the team does not include a Business Analyst? The developers will either write the code intuitively (and might be wrong in the end) or ask the customer directly. A well-known fact: developers speak using a lot of technical words and phrases an ordinary person is not able to understand, so you would have to spend a terrifying amount of time trying to understand your team members and deliver your thoughts to them. Hence a sort of translator is needed, and this translator is the Business Analyst.
“At certain stages of development, you understand that you can’t go without documentation. For example, recently the customer says: “some kind of bug has surfaced here,” but in fact, it’s not a bug at all, it was supposed to work this way… It would be great to have some kind of intermediary that would help us, developers, and the customer understand each other, and to have clear documentation that would allow us to understand what exactly is required.”
Denis, Golang developer
Although you have to pay for an additional specialist, the presence of this specialist will help you to eliminate or reduce some other costs. Firstly, the chance that the off-the-shelf product is not what you wanted is tiny, so you won’t have to pay money for it to be rebuilt. Secondly, the developers you hired for writing code are writing code instead of wasting your time and money on investigating the requirements. Thirdly, the specification of requirements prepared by the Business Analyst makes the development process transparent for you, as you see exactly what you pay for. And fourthly, the substitution of any specialist will be less painful, as the new team member can be onboarded faster by reading the project documentation. Now, try to calculate the approximate sum of money you can save!
“I had a situation when there was a system that only worked halfway. Roughly speaking, there was a piece of code, it was cut into two parts, one part was given to us, and the other part was absent. In order to restore this customer’s system, our programmers needed to understand how all this is expected to work. And for this purpose, it was necessary to describe all the functions: how the whole process goes and how it ends. And at the very beginning, having discussed the principle of working with the customer, I documented all this. Then the developers saw my descriptions and were like “aaaaaa, that’s how it should work”, transferred it into the code, and thus, restored the system. This is an example of why documentation is needed.
Generally speaking, one of the reasons to hire a BA is that it costs more to pay a programmer per hour than it costs to pay an analyst per hour. And therefore, if the programmer spends the time figuring out the requirements, how it should work, then the customer will spend much more money.”
Alexander, Business Analyst
IT companies don’t employ any surplus specialists. Initially, when the industry was at the start of its development, programmers were a kind of jacks-of-all-trades, writing code, testing it, and communicating with customers simultaneously. Nowadays, we observe the split of responsibilities within a software team, and it’s really amazing, as each IT person gets the opportunity to specialize in a certain area and become an expert in it. Therefore, the Business Analyst is not the fifth wheel of your project, but an important element. You don’t want to blow your money, do you?
For the original version of this press release, please visit 24-7PressRelease.com here