Table of Contents
The development of a new software product can be rather complex and involve dozens of processes, with each process having a huge impact on the final result. And the first stage in developing a fully functioning product that corresponds to the client’s requirements is business analysis.
Business analysis refers to the stage of the new product development process. It is usually the first stage to complete as such an analysis helps clarify the project requirements, establish the budget and deadlines, define the project scope and come up with the best way to implement the client’s idea.
Business analysis is a comprehensive process that contains many steps. Even though different software development companies have their own set of practices regarding business analysis, there are a few basic steps that can serve as canvas and help you make sure nothing important is missed.
Step 1: Learn the project’s background
When a business analyst meets with the client for the first time, he will not ask about the project goals and tech stack right away. The first thing an analyst will learn about is the project background.
At this stage, the analyst will probably ask the following questions:
- What is the project’s domain?
- What is the state of the project: is it brand-new or is there any work that is already done?
- Are there any systems that are implemented in the project (or need to be)?
- What is the client’s request?
The analyst may also use Porter’s Five Forces framework to determine the possible impact on the project by such factors as current competition, new entrants, buyers, suppliers, substitutes (similar to SWOT analysis).
The collection of information is vital because it helps the analyst better understand at what stage the project currently is and what kind of work needs to be done.
Step 2: Determine business objectives and project goals
Every software product is based on a business objective and every product has a goal. So once the analyst learns about the project, the next important thing to determine is the actual business objective.
A business objective is basically a result that the client wants to achieve. The first question to ask at this stage: why do you need this project? Is it to grow revenue, attract users, improve the existing system or anything else?
To better understand the business objective and the general goal of the project, it is recommended to interview the stakeholders. Stakeholders are all the people involved in the project that have a certain impact on it. Stakeholders may be product owners, managers, users, domain experts, suppliers, partners, and even competitors.
When interviewing the stakeholders, the business analyst learns more information about the project (i.e. milestones, estimated scope and deadlines, preferences on workflow, possible constraints). This information, added to the determined business objective, helps the business analyst see the project in more detail and learn some important facts about it.
Step 3: List down the possible options
Depending on the current project state and business objective, the analyst will then need to list down the possible options for the client to choose from. These options will depend on the project state and its needs.
It may be:
- Development from scratch
- Integration with a third-party system
- Other option
At this stage, the business analyst will most probably start discussing the budget, deadlines, and feasibility. The choice of the most suitable option is important because the analyst will base the proposal upon it. As well, depending on the chosen option, the analyst will also be able to plan further work and allocate resources and budget.
Step 4: Outline the project scope
The project scope includes the negotiated goals, deliverables, deadlines, budgets and tasks. It can be called a summary of all the information that the business analyst received and it will further be used as a guideline for the project development.
Business analysts may use the SMART concept to see whether the project scope was efficiently defined: specific, measurable, achievable, relevant, time-bounded. As you see, all these features can serve as KPIs to track and monitor the project’s state during the development process.
Alongside the project scope, the business analyst will also prepare and present a delivery plan to the client.
Step 5: Collect the requirements for the development team
Once the project goals, budget, and deadlines are defined, the business analyst will get down to more specific things which are requirements for the development team.
As we mentioned above, the interview with the stakeholders often helps to learn about certain project requirements so this is a step that should not be missed. In general, project requirements are usually divided into functional (use cases, prototypes, wireframes) and non-functional (scalability, security) ones. When collecting the project requirements, the analyst will also write project specifications that will serve as guidelines for developers.
At this stage, it is important to decide whether to develop the project by waterfall or Agile methodology. Both have their pros and cons and it really depends on the project and its scope. A professional business analyst will be able to recommend you the best option for your specific project.
Step 6: Negotiate on communication methods and reporting
Any client wants to know what’s going on with the project at every stage of its development. To keep the client informed and ensure everyone on the team is on the same track, the business analyst will need to negotiate on the methods of communication and reporting. It is especially important for the clients that work with the outsourced development companies.
Clear communication and established reporting hours, frequency and methods. In this way, a client will always know when to expect the results and the team will be able to plan work correspondingly. In Agile development, a team usually works by sprints but the business analyst can still suggest additional ways of monitoring the project status.
Step 7: Support and manage project implementation
Once the project gets going, the business analyst will continue to work on it. At this stage, the analyst’s task is to ensure that the technical implementation corresponds to the requirements. As well, the analyst closely communications with the QA team to make sure the product is tested as needed.
Software development is very flexible and there are always some changes that appear during the development process. So the business analyst has to keep his finger on the pulse to timely inform the developers about any changes needed.
Business analysis plays a significant role in the project’s success and quality. Business analysts work with documentation, translate the client’s requirements to the development team and assess the project to provide the client with the most suitable solution.
SoftTeco firmly believes that business analysis is an integral part of project success. It does not only facilitate the work of our development team but helps keep our clients satisfied with the delivered results.