Why would you need a detailed business analysis? Well, it’s not only about making reports with rows of numbers.
There’s a large variety of analytical activities when we’re talking about software development. All of them contribute to improvements, though through different factors.
In this article, we’ll explain what business analysis in software development is and the role of a business analyst (BA) within this process.
What does a Business Analyst do in Software Development?
A business analyst is a member of a product development team who analyzes the business domain, documents its processes and systems, outlines business requirements, and matches a software business model with the software being built.
If you think that a business analyst is kind of a jack-of-all-trades, well, that’s partially so.
On a bigger scale, a business analyst bridges the gap between stakeholders and the development team, interpreting business requirements into understandable development tasks to match a final software product with the expected business value.
At all development stages, a business analyst communicates with stakeholders, and product and marketing managers to capture business- and market-level requirements and then interacts with developers through a project manager, without a direct impact on the development process.
Business Analyst’s Role Description and Skills
To picture a typical business analyst, we’ve shortlisted the main things a BA must know and do.
Usually, a BA has a set of main responsibilities that can be considered the backbone for the tasks they will fulfill in their role.
Clarifying a business idea. To understand which direction to choose, a business analyst should clarify the primary purposes of the future product. Also, a BA sets up the primary product benchmarks, such as customer acquisition strategy and value proposition, and helps decide on basic product KPIs. Then, they evaluate the most relevant means of implementation, which will be the most convenient for both stakeholders and developers.
Planning development activities. When primary business requirements are already established, it’s necessary to shape the development direction and allocate the areas of responsibilities. At this point, product development workshops with the participation of stakeholders serve as an efficient development tool.
Validating requirements. When approving the drafted documentation with business requirements included, the BA assures compliance of the development outcomes with a customer’s business goals. With both sides on the same page, everything goes in the right direction.
Standardizing the software development process. One of the main BA responsibilities is to assure that the single workflow with promised requirements is applied. When the product is being developed, a BA gets feedback from stakeholders and ensures product improvements according to the obtained data.
Business Analyst’s Skillset
Knowing that, here are the characteristics that make a person perfect for the role of BA.
Analytical thinker. As strange as it sounds, a business analyst has to have an … analytical mind. Actually, this is one of the most important skills for BAs. A product BA can be considered an expert when they understand difficulties or issues, visualize them, analyze them, and then resolve them. This also includes proficient research skills, logical thinking, and presentation skills. A strong background with different analytical techniques including Interface Analysis, Feasibility Analysis, and SWOT Analysis is required.
Decision-maker. The business analyst role often requires making decisions. Being a middleman between stakeholders and an engineering team, BAs are supposed to make sound judgments in varied business subjects. Any of these can define the sustainability of a business. Decision-making skills allow a BA to assess a situation, including risks and benefits, receive feedback from stakeholders, and select a course of action.
Problem-solver. For a business analyst, each customer comes with a different problem or issue to be resolved quickly and for the longterm. So, a business analyst’s responsibility is to study the problem, analyze the available options, and then suggest the best choice. They must be able to observe a problem from different angles within the business, including a target user and that of a technical expert. In such circumstances, an ability to work in a collaborative environment with an ongoing discussion with developers is obligatory. This is where technically viable solutions are discovered.
Documentation and visualization master. The business analyst role presumes making presentations to both stakeholders and developers. To do that properly, a good BA should provide consistent requirements documentation. Along with that, building wireframes is a crucial part of a BA’s activity. Although it’s not about strong UX design skills, schematic sketching and knowledge of tools Unifying Modeling Language are compelling, necessary attributes.
Business Analyst’s process and responsibilities
At different development stages, a business analyst has correspondingly different levels of engagement and different scopes of responsibilities. We’ll move from the very beginning of the interaction between a BA and stakeholders, pointing out the level of involvement and degree of influence over product development.
The elaboration phase is the first step towards bringing a new product (feature, module, you name it) to market. It’s needed to dig around and roughly estimate the volume of future efforts. This is the very first stage of communication with the (prospect) customer. Here, a business analyst, in tight collaboration with a solution architect and a UX researcher, studies all the market potential of the product and methods to realize it.
Researching business problems. When assessing the business model, the BA figures out the business owner’s main points of pain (such as low-level customer acquisition or irrelevant digitalization) or what market gap they try to fill in or expand. These concerns will later be reflected in business requirements and initial technical offer.
Deciding on the expected business value. Understanding the product’s course and the expected market niche usually contributes to the primary wireframes. These are visualized concepts of how the system elements will interact with each other. This activity also includes establishing the method of interaction between a future product and its target audience, as well as its monetization.
Drafting nonfunctional requirements. This scope of responsibility involves the description of how the system is supposed to behave. Also, it establishes the constraints of its functionality. When drafting this type of documentation, a business analyst includes the system’s quality attributes, such as usability, security, reliability, performance, availability, and scalability.
Preparing functional requirements. A business analyst is also responsible for documenting functional requirements. These are the product features that engineers implement to allow users to achieve their goals. Hence, a BA’s role is documenting it clearly for both developers and stakeholders.
Formulating the main backlog. By this time, the general outline of the project is already in. It constitutes a good basis for a common backlog with an instructive to-do list. A business analyst ensures that all business aspects discussed earlier are reflected.
Deliverable: documented business requirements
Solution Design phase
This stage represents the phase during which the future product team has already undertaken a significant amount of raw research from different aspects. Primary decisions are already made, business requirements are evaluated and approved, and there’s only one thing to do before the development starts — find and approve the most suitable tech stack that meets all business and system requirements. Here, the BA plays a significant role, while comparing the overall scope with the promised business value.
Story mapping. This is arguably one of the most important BA’s responsibilities. Basically, a user story is a description of a feature from the end-user’s point of view. They are usually created within the functional requirements after software specification document and use cases are compiled. The process of story mapping usually involves several decision-makers, such as product/project manager, stakeholders, UX designers, and representatives of the development team. But it is the BA who ensures that a supposed user flow matches the approved business value.
Establishing acceptance criteria. This is no less important than user stories compilation. Acceptance criteria are the conditions that determine whether a feature satisfies both a stakeholder and the end-user. As in the case of user stories shaping, a BA shares this responsibility with a product manager. A QA engineer also participates but to a lesser extent.
Deliverable: documented backlog
Prioritizing backlog items. This is one of the most important areas of a BA’s responsibility. Upon choosing one a prioritization techniques, a business analyst helps realize which cluster of tasks is more important or relevant from the business point of view.
This is the phase where active software development begins. The product team completes the tasks according to allocated roles. Here, the business analyst’s role is assuring that the development falls in line with the discussed and approved business values and requirements.
Deliverable: a released business software product
Setting up preparation activities. The business analyst shadows the entire pre-development process to guarantee that every sprint is planned in accordance with approved requirements and goals. Participation in such activities as pre-planning and grooming is an evitable part of a BA’s responsibility.
Tracking the development process. Although the BA doesn’t interact with developers directly, their daily routine includes the participation in daily Scrum and Standup meetings. Here, the BA watches the development process to address and accomplish all business requirements.
Deliverable: a maintained and improved business software product
This is the final stage of the development process. It’s usually considered the phase of improvements or necessary changes. The BA’s responsibilities for this period include gathering the feedback from the customer on the result. They usually compare the outcome with supposed business value, deciding the opportunities for improvements.
Gathering and processing feedback from customer and users. As often happens on releasing a product, there are still some improvements to be made. One of the BA’s responsibilities is revealing the strengths and weaknesses of the finished product from a business point of view.
Formulating the next backlog. Based on gathered feedback, the BA shapes the volume of business issues to improve, change, complete, or remove. This is how the backlog for a new development round appears.
Business Analyst’s everyday tools
In their everyday activity, business analysts combine many responsibilities and tasks. Hence, mastering of work-simplifying tools is critical.
Project management tools. As a BA’s activity often includes a project manager’s scope of work, the associate software also comes in handy. The most complex, and therefore, the most popular are Atlassian’s Jira, Trello, and Asana, and the like. Each of them allows forming a big backlog, planning a sprint, allocating tasks for every team member, and even setting time limits.
Documentation tools. Since a BA’s job is hardly possible without compiling a variety of documentation, the relevant tooling shows up on a daily basis. Usually, it’s a wiki-like collaboration software that allows all participants to create and collectively edit “pages” or entries via a web browser. For instance, Confluence, a product from Atlassian, or DokuWiki are among the most popular.
Modeling tools. As we’ve already mentioned, building wireframes is one of the core responsibilities, among others. So, in addition to the system approach and the knowledge of Unifying Modeling Language, handling diagram software is mandatory. This type of tools enables BAs to simplify the building of system wireframes, flow and organizational charts, process and network diagrams. These include draw.io, Lucidchart, and Microsoft Visio, to name a few.
Difference between the Product Business Analyst, Market Analyst, UX Researcher, and Data Analyst
In the software development world, the need for data research, retrieval, and processing exists in every department involved. Later, this information will be transformed into requirements to make the life of all concerned easier. Since the focus of every department research is different, how do they vary?
Software Development Business Analyst
As you may have understood, the software BA gets a request from a customer, assesses their business model, evaluates all strengths and weaknesses, measures the future business value, and then converts this data into business requirements documentation.
The software BA’s main responsibility is to ensure that the engineering team has kept in line with all business requirements throughout the whole development stage. According to their scope, software development BAs focus on matching the outcome with the guaranteed business value.
You need a Product Business Analyst when you’ve already outlined your business model (Elaboration stage). As a business owner, you’ve already determined your business value and approximate requirements, but the technical point and its implementation aren’t clearly seen. At the same time, you want your future product or service to strictly fall in line with your business value and needs.
A marketing analyst also links up with the process at the elaboration stage. They do market research within the industry and make alternative suggestions. Upon assessing the market business model, they also evaluate all drivers and bottlenecks from the market perspective and build the breakdown of the market competitors. This data is later converted into marketing reports.
In their activities, Marketing BAs mostly rely on market research including competitors and alternative choices, market shares, monetization methods, etc. Their main goal is to provide market reports and numbers that will later help the whole development and product team grasp the product/market fit.
You need a Marketing Analyst when you’ve just come up with an idea (Ideation stage). You’re not sure about your product or feature viability, want to get the market breakdown made and competitors and alternatives examined.
UX researchers follow a slightly different path. When the request is in, they start researching the possibilities for product implementation from a target audience’s POV. Researching a competitors’ UX along with user and stakeholder interviews, they also go on-site and try to get a vision of a prospect user’s flow and behavior, paying a lot of attention to and empathizing with users.
In their pursuits, UX researchers believe in the smooth user flow. The main goal of UX research is ensuring that future product design will be convenient to use.
You need a UX researcher if you want your future product fit within the target audience’s needs and flow (Elaboration and Solution Design stages). Any business owner’s end goal is that their product be useful to and popular with the target audience. That is why you need to do a competitor analysis, get feedback from your target audience, study their user flow, and test your future product’s usability.
Data analysts are separate from those roles we’ve already described. In their role, they assemble, retrieve, and convert data into reports on demand. Usually, this information is collected on the software product after its release.
Following their responsibilities, data analysts tend to identify data patterns. Their primary goal is to determine the most popular types of behavior that will later be a background for automatic data processing.
You need a Data Analyst when you’re going to get your data retrieved and examine the most popular user behavior patterns (Maintenance stage). You want to improve your product in as many ways as possible. The understanding of how your customers interact with your product may increase its popularity and profitability. Another case for hiring a Data Analyst is when your product has grown so much that you have to set up the whole data warehouse. But that’s another story that we have already told in our article on data engineering.
How to become a Business Analyst?
In software development, business analysts usually have extensive previous experience with one or several different kinds of activity closely related to work with a software product, interaction with a team or with a customer. We have selected several experiences that would contribute to becoming a good business analyst.
Business Analyst’s Background
Customer Support Agent. A good customer support agent makes a perfect future BA. Why? Because they are great communicators between an engineering team and a customer with an issue. Customer support agents are excellent listeners to a customer’s problems. Upon eliciting the core problem in the total flow of information, they create an issue ticket with requirements and pass it to the most relevant engineering team. They understand how the whole system works and won’t send a registration form issue ticket to visual designers. So even without coding skills, they are great issue solvers.
Project Manager. Who else would communicate with the development team better than a project manager? Transforming a customer’s business requirements into understandable development tasks, former project managers will ensure that the backlog was allocated according to priorities and the team’s capacity. So, if the main requirement is an arranged workflow and on-time delivery, a former project manager in a BA’s role is a reliable solution.
Tech Lead. This is another great contestant for the role of BA. Their technical expertise allows them to transfer the requirements within the most relevant tech stack for required business logic. Proficiency in several programming languages combined with an awareness of the team’s capacity empowers them to interpret the requirements within the best technical solution.
Product Manager. Although this is a top management position in the product development chain, there are some cases when product managers downshift to business analysts. Former product managers, who were responsible for product market success in their previous role, will be suitable business representatives throughout the development. Being strongly involved in such activities as a roadmap, strategy, and vision elaboration, product managers will contribute to product growth. With broad industry knowledge, a business-oriented BA accompanies your software product, assessing it in accordance with a promised business value.
First steps to becoming a Business Analyst
If a person decides to change careers or upgrade to the role of business analyst, there are a few steps to follow.
- Study the BABOK. The Business Analysis Body of Knowledge (BABOK) is the main document that standardizes business analysis practices. The book describes all tasks in the work of a BA in detail: what a person should know, their skills, deliverables, and main BA techniques.
- Match the skills. Identify what you already know and do regularly in your current position. What skills can be transferred? Here, experience is more important than knowledge. So, if you’re already working in a similar domain, you might have qualities that employers are looking for.
- Practice soft skills. A BA professional usually has to give compelling presentations, facilitate meetings, quickly estimate the scope of work, and elicit information from clients.
- Earn a certification. Though not mandatory, a certification is the next step for professionals seeking a senior BA role. They may want to apply for one of three certification levels at the International Institute of Business Analysis (IIBA).
So, when do you need a Business Analyst?
Now you have a rough idea of what a business analyst is, their role, scope, desired skillset, and background. We also dipped a toe into a few related roles.
But you might still have a reasonable question: Now what? When do I hire a BA?
Let’s draw the line, then.
You definitely need to hire a product BA, when you have a business idea or a problem to solve, but still no requirements and no structured details.
You don’t need a BA that much if you operate in a specific business domain where requirements are unlikely to change in the next five years and can be formed as an SRS documentation. So, you can focus on your solution development. Such cases need a project coordinator rather than a BA, whose role you may substitute as a business owner upon elaborating the requirements.
So, now we hope you’ve got a clue about who’s responsible for what. Was this article useful for you? Please, share your opinion in comments!
Originally published at AltexSoft tech blog “Business Analyst in Tech: Role Description, Skills, Responsibilities, and When Do You Need One”