When forming an outsourcing team for a software development project, businesses often focus on those who create the final product — developers — and their hard skills: programming languages, frameworks, approaches they are good at.
But no matter their expertise in building software, developers can’t help you with the business part of the project. It’s not their job to precisely determine the needs of your target audience or thoroughly analyze your competitors’ offerings. Yet without precise and clear requirements, they won’t be able to choose the most fitting development approach, select the right tools, and focus on functionality that will help your product beat the competition.
Business analysts (BAs) are the ones who can — and should — help your project with outlining and finalizing its requirements and specifications.
In this article, we discuss why a business analyst is important and five cases when your software development team should be enhanced with BA skills. We explore the benefits of having a business analyst on the team and what risks you might face if you don’t have one.
This article will be helpful for business owners and project managers wanting to form efficient and productive software development teams.
Case 1: You have a ready specification for your project
Case 2: Your project only has some documentation
Case 3: You want to replicate an existing solution
Case 4: Your project has a seemingly simple task
Case 5: Your project only has an idea
Case 1: You have a ready product specification
Double-checking your specification with another business analyst is always a good idea.
If your project already has specifications and software requirements prepared by an in-house business analyst or another specialist, you might be convinced that there’s no need for another BA to get involved. Our experience proves otherwise.
The development team may face significant challenges shortly after they start working on the project if:
- The specification lacks details critical for providing accurate estimates
- The documentation lacks clarity and contains controversial terms or statements
For instance, we had a project where there was confusion about the meaning of the term MVP. The development team initially interpreted this as a minimal viable product, while the stakeholders were actually referring to the most valuable player. If not detected and resolved early, such a misunderstanding can lead to great confusion during product implementation.
Taking a fresh look at your project’s specifications, our experienced business analysts can help eliminate any misunderstandings about the documentation. They can also suggest meaningful improvements to help the development team build a quality product while avoiding unnecessary delays.
In particular, when working with a ready specification, Apriorit business analysts use their knowledge and field experience to:
- Evaluate the completeness and clarity of provided specifications and all available documents to detect possible bottlenecks
- Point out and elicit missing details to ensure the development team can provide accurate estimates
- Confirm that everything is clear and that the team won’t be stuck in planning or development due to misunderstandings surrounding the documentation
- Suggest possible improvements and features that might have been overlooked or missed during initial requirements elicitation
The level of a BA’s involvement in such projects fully depends on the completeness of a particular specification:
- If everything is ready and straightforward, our BA will evaluate the documentation and confirm the project is good to go.
- If any gaps are discovered, it’s best to fill them at the beginning of the process to ensure quick and smooth implementation.
Now, let’s take a look at the advantages of a business analyst’s involvement in another common type of software development project.
Case 2: Your project only has some documentation
Leaving some things not sorted out brings extra challenges to a project.
You may have a project that comes with a certain documentation package, usually including one or a few of the following:
- A marketing presentation with several wireframes and a description of the product’s basic functionality
- Technical product documentation
- A set of emails with explanations of product requirements
- A description of the existing system (if changes are in order)
- A brief specification or product vision
If you have a small-scale or deeply technical project, having only a couple of documents describing the scope of work might be enough. But to ensure the timely delivery of a quality product within a complex, large-scale project, it’s essential to gather all necessary documentation first.
This is where a business analyst can help you out.
In one of our projects, the customer gave us a detailed marketing presentation of the product they wanted to build. It was a statistical analysis solution with multiple tools, charts, and diagrams for working with statistical data.
After analyzing the presentation, our BA determined that essential technical information was missing, including:
- Ways the data is added to the system (manually or automatically)
- The frequency of data updates
- Exact formulas for calculating the correlations between different datasets
- Details of the admin panel’s interface and operations
Apriorit’s business analyst filled these gaps, enabling our development team to choose the best approach and toolset for this project.
To make sure the development team has all the information they need to implement the project at hand, our business analyst works together with a technical specialist to:
- Analyze the provided documentation to determine if something important is missing
- Compose a list of documentation to be added to make sure the development team has everything they need to build your product: product vision, user stories, user interface description, feature mind map, workflow diagrams, etc.
- Assist with preparing the needed documentation so no new information gaps will be added to the project’s documentation
The level of a BA’s involvement in such projects depends on the amount of documentation that needs to be improved or prepared from scratch: the more gaps there are in the available documentation, the more time a business analyst will need to spend filling them in.
Next, let’s talk about the importance of the business analyst role in a case of using references when building a new product.
Case 3: You want to replicate an existing solution
Look around for inspiration to make your product even better.
Sometimes, you might have a specific reference for your ideal product, aiming to build a solution that’s either very similar to or exactly the same as an existing one.
The world, however, doesn’t need two absolutely identical applications, so jumping right into such a project without any preliminary research and analysis is risky.
To efficiently mitigate these risks, we join forces with our customers to determine exactly why they want to replicate someone else’s product. Usually, the actual reason behind such a desire is:
- To enter a particular market niche, or
- To replace a third-party solution with a custom product
At Apriorit, we have a different approach to these two cases. Let’s analyze the importance of a business analyst in each one.
1. Entering a new market or niche
One common scenario is when you want to build a new competitive product similar to an existing solution. In this case, Apriorit’s business analyst starts the project with market research and competitor analysis.
As a result of this research and analysis, they compose a list of features for the future project, separating them into three categories:
- Must-have features — These features are common for similar products and services, so without them, your product will definitely lag behind competitors. For example, supporting payment services like PayPal and Google Pay is common for products and services that handle payments. If your product is supposed to process payments but doesn’t support these services, it won’t be competitive and won’t draw many users.
- Should-have features — These features aren’t necessarily present in all competing products but are liked by users. Therefore, if added to your product, they will make it stand out. For example, having a highly secure internal messenger isn’t obligatory for a cryptocurrency application. But adding such functionality will likely increase its competitiveness.
- Unique features — These features will ensure your product is not lost among dozens of others. For an artificial intelligence (AI) product, for example, it’s critical to have a high level of user engagement for the AI model to get trained properly. You can enhance the original service with some gamification elements to tackle this task. Aside from reaching the initial goals of improving the performance and accuracy of the AI model, extra entertaining elements might help you attract more new users.
When all features are sorted and discussed, you can determine the functionality sets for different stages of development:
- The MVP you want to show investors and stakeholders
- The demo version you’ll present at a conference
- The first release available to the general public
Accounting Software Development: Core Characteristics, Architectural Components, and Features
2. Replacing a third-party product with a custom analog
The second common scenario is when you want to build a custom analog for a third-party solution or service used by your organization. In this case, it’s important to account for your organization’s workflows and actual needs, and a business analyst can help with that.
Most off-the-shelf industrial solutions have two significant drawbacks:
- An excessive feature set where many features are unnecessary for your business and therefore remain unused
- A universal interface that doesn’t fully reflect the specifics of your internal workflows and processes
Customization options in such solutions are usually limited and might increase the overall cost. Therefore, sometimes it might be more cost-efficient and productive to build a custom solution fully tailored to your needs than trying to customize an off-the-shelf product.
In a case like this, a business analyst can help you:
- Determine which features of existing solutions your business truly needs. For example, you might only need two or three types of reports instead of several dozen, so there will be no need to waste your resources on unnecessary functionality.
- Plan for features that were missing in the original application. For example, if you had to generate two reports and then manually merge them into one, you can ensure that your custom solution can automatically generate the report you need in one click.
- Adjust the interface and workflows to make your application the most usable and efficient. For example, if your off-the-shelf solution loses unsaved data when a user locks their computer, you can address this issue in your custom product.
Now, let’s discuss the benefits of business analysis for another case when involving a business analyst is a must for your project.
Case 4: Your project has a seemingly simple task
A tiny task can grow into a massive project.
If what you need seems to be a trivial task — to build a driver or integrate two systems — the need for a BA might not be obvious at first. But such cases can get tricky.
A competent business analyst can help your team determine and overcome hidden pitfalls, increasing your chances of delivering a quality solution on time.
Now let’s take a look at two common types of technical solutions and see why you need a business analyst’s assistance when working on them.
1. Building a driver
When it comes to projects requiring a new driver, it might be hard to tell from the beginning if the requested solution will remain just a driver or grow into something larger. But even when talking about a simple device driver, having the device itself and a basic understanding of the task at hand might not be enough to start development.
Therefore, even when it’s just a driver, your project still needs formalized documentation containing full requirements and specifications. The importance of a business analyst in the project team for such a case is crucial, as a BA can help you prepare this documentation and mitigate possible risks early on.
For example, when working on a device driver, some questions might be omitted early on even though they can significantly affect the development process:
- Will the driver be installed silently, or do we need some kind of a wizard?
- What is the desired routine for driver updates?
- What kind of signature must be used for this driver?
A developer or QA specialist would ask these questions during implementation or testing of the solution under development. However, waiting for the answers might slow down development, and the answers themselves might even require architectural changes. A business analyst will ask these and other critical questions that weren’t covered in the available documentation right after getting familiarized with the project.
2. Integrating two or more systems
There is another case of implementing a technical solution where having a business analyst on board is highly recommended — implementing any kind of integration.
During integration, there are usually two large systems:
- Your internal system
- A third-party system like Salesforce or QuickBooks
To integrate them efficiently, you should study and clearly understand how both systems operate.
The main question about integration is mapping data between these two systems. Similar to the case of driver development, a technical specialist on your team will likely tackle this task well enough during the project. However, having a BA analyze these systems during your project’s discovery phase can help you uncover potential issues and pitfalls. As a result, you’ll be able to mitigate them before starting the actual integration process.
Say you have an internal ticketing system that needs to be integrated with Salesforce. The goal is to make sure that once the ticket is created in Salesforce, it will automatically appear in our system, and vice versa.
One potential issue that might be overlooked by technical specialists at first is the risk of running into a loop and infinitely duplicating tickets between two systems. With a business analyst on board, you’re more likely to detect this and other unobvious risks and address them before moving to integration.
While working on the documentation for integration, our business analysts also pay special attention to non-functional requirements. Functional requirements for such tasks are usually relatively clear, while non-functional requirements often contain a lot of pitfalls. Not accounting for these pitfalls at the discovery stage might lead to problems such as non-compliance with data security standards or the need to switch to a different third-party tool when the product is already in development.
Relying on our extensive expertise in implementing integrations of large systems, Apriorit business analysts can help prepare the exact specifications needed for your project and reduce the research time required by the development team.
Finally, let’s talk about one of the most challenging yet inspiring cases where you should consider hiring a business analyst.
Case 5: Your project is only an idea
Creating something from scratch is a true challenge.
Sometimes, you only have an idea for a new project. For projects like that, getting a business analyst is an absolute must.
To help in shaping the idea and to see how something that was initially just a few lines of the proposal becomes something real, goes to the world, starts being used, and receives positive feedback — what can be better for a true professional?
However, starting a new software development project from scratch is also associated with multiple risks similar to those we’ve discussed above.
Enhancing your team with a business analyst at project discovery phase of the development can help you mitigate these risks in a timely manner, increasing your project’s chances for success.
In particular, our business analysts can help your project with:
Vision preparation — The Vision is a document outlining the scope of work, purpose, mission, and background of your project. This is the backbone of your product that helps you evaluate any future ideas for new features, functionalities, and improvements to ensure that your product evolves in the right direction. A professionally prepared Vision can also be used as a basis for marketing campaigns or to present your project to potential investors or end users.
Development and documentation approach — Once the Vision is finalized, a business analyst joins forces with a project manager and the development team to determine a fitting approach for building the product and maintaining project documentation. Depending on the project’s scale and specifics, it can be a system requirements specification, user stories, or another approach.
For example, a system requirements specification works best for projects that don’t require lots of changes from iteration to iteration. For a small-scale project related to security or healthcare, for instance, a business analyst will most likely suggest preparing a system requirements specification. As this document is prepared, discussed, validated according to all the relevant compliance requirements, and approved by stakeholders, it receives only small fixes and improvements.
Larger projects with continuously adjusted requirements, like customer relationship management systems or virtualization solutions, work better with the user stories approach aligned with the Agile methodology. In such cases, a business analyst is likely to focus on creating user stories following the 3C principle:
- Card — A user story appears as a feature request.
- Conversation — The details of the user story are communicated to project stakeholders, and a business analyst elicits the requirements for this user story.
- Confirmation — The business analyst finalizes acceptance criteria, making the user story ready for development.
Demo of the ready product — After development and testing of a new product are finished, a business analyst can conduct a demo, discussing all required changes to the product and the direction of its future development with stakeholders. This helps project leaders stay in control of the development process and be sure that the project goes in the right direction.
Naturally, projects that are at the earliest stages of their life cycle require the involvement of a BA professional more than any other project we’ve discussed in this article.
Business analysts can help you get the most out of any project — from a simple technical solution to a complex custom project started from scratch. With the assistance of a competent business analyst, you can:
- Get a quality analysis of the market and the competition
- Prepare detailed documentation that will save your development team’s resources
- Choose the right feature set to add to your product
- Select the most fitting development approaches and the tools to build them
- And more
At Apriorit, we have a team of expert business analysts who can assist your company with turning an innovative idea into a competitive product, breathing new life into an old project, or seamlessly integrating complex systems.
Reach out to discuss the business analysis activities necessary to ensure the success of your next software development project.