How does a business analyst help to reduce costs and minimize risk in development projects?
Overview
Perhaps your project is unique and doesn’t need a business analyst. Can it be so? Who should be responsible for business analysis in IT projects? And should they? Such questions are sometimes encountered by company executives when they start developing a new software product.
Many people think that in order to automate business processes or, say, to create a site, all they need to do is to find programmers and explain to them what is required.
If you’re planning to develop your own site or application, you probably already know who should be on the team. A team usually includes developers, testers, a project manager who will keep track of everything and provide reports, and at least one analyst. And while the other key roles and their importance to the project usually do not cause questions, the role of an analyst and the tasks of this expert sometimes stay unclear to some people.
Reasons why customers don’t see any sense in working with a business analyst
- Adding an analyst to the team increases the development budget.
- The previous experience of interaction with an analyst was unsuccessful. For example, because the customer did not see the results of the work conducted by this specialist.
- The customer thinks that the development team will be able to get requirements from him/her directly.
Business Analysis. Why does it matter?
Bringing together business logic and technical models is not easy. Even if customers have a basic understanding of the principles of software development and exactly know how they want to automate their business, they will not be able to create a perfect technical task, which would fully satisfy the development team and answer all the confusing questions. The time required to produce such a document would exceed rational limits and the process would take unreasonably long.
Business analysts act as mediators between the client and the development team. They identify needs and offer effective solutions with minimal risk.
A specialist in this area does not need to know the technicalities and subtleties of development in detail. The tasks of a business analyst are to study the subject area and its specifics, understand the customer’s task and propose an effective way to solve it.
In order to exactly and correctly understand the requirements for a software product it is necessary:
- to understand the business schemes and key processes according to which the company works;
- to find out the roles and functionality of the in-charge specialists;
- to fix the existing document flow, etc.
The detailed business model that the business analyst fixes becomes the foundation for software development. It will be the basis for improving, automating, and optimizing the company’s business model for the benefit of the client.
The modern approach to software development allows effective remote participation of specialists of different profiles in the process of building software solutions. For becoming a full-scale team member, the business analyst, along with the customer and programmers, gets access to various project management and collaboration services.
For example:
- general project management can be performed in the Teamwork system;
- Jira is used to track errors and changes;
- for detailed documentation, the wiki system Confluence is used.
A business analyst should:
- choose the optimal solution;
- prepare requirements for it;
- assess which functionality is the most important to the client;
- prepare and coordinate documentation for developers.
Business analyst’s tasks:
- Introduction to the client’s business. The business analyst explores the area the project is related to.
- Identification of business needs. The analyst has to define what software solution the business needs and whether it is needed at all, what issues it should solve. After that, the business analyst, along with other team members, proposes their variants for the client. The client makes a choice.
- Participation in the development of requirements for the system. This expert takes part in discussing and fixing all sorts of subtleties (the number of buttons in the application, their color, the need for a personal account, font, development timeline, start of testing, etc.).
- Preparation and harmonization of documentation. The business analyst presents a detailed document outlining all the requirements for the system. The client harmonizes it.
- Assistance in formulating tasks for developers. The business analyst provides documentation to the team leader or team and gives explanations. Answers related questions from the team, and, if necessary, checks the answers with the customer.
- Participation in product delivery. During the product review process, the analyst helps to resolve disputed issues. This specialist identifies any additional requests the customer may have, and passes them on to the team. The main task at this stage is to allow the customer to make changes to the project so that the initial agreements are not broken.
In addition, the task of the business analyst is to think through all the variants of events. For example, a request from a customer often describes only a positive situation.
As a result, the business analyst provides optimal two-way communication between the development team and the customer and participates in finding solutions when crisis situations arise.
Benefits of business analysis
The business analysis makes the project better. Analysts show points of growth, so the client understands which features of the future product are the most important. This helps discard unviable ideas and saves money and time on development.
- Lower costs.
The realization of a project is more difficult than it seems at first glance. Without a business analysis, there is a risk of overpayment. Without a precise specification, developers will encounter unexpected requirements and difficulties. They will remake the same code over and over again, and development will be delayed. Without a business analysis, you run the risk of a non-viable product that will need additional money to refine. In the worst case, the work will have to be started all over again, which can result in a doubling of the budget.
- Reduced development time.
With business analysis, developers already know exactly what to do and how to do it before they start a project. A ready-made specification helps plan the work in the best possible way and speeds up development.
As a result of the business analysis you will receive:
- A complete project specification, which includes a description of all functions and user features envisioned in the product;
- A visual prototype of the product, showing the device and features of the user interface.
The specification is a ready guide for developers, and the visual prototype is a visual manual for designers. With these artifacts, it’s easy to get development started.
How will a business analyst help the project?
Description of business requirements:
- The more precisely the requirements are described, the lower the probability of additional costs is.
- Without a business analysis, the project is developed according to the Time&Material model, which may lead to great risks. A competently prepared technical task saves the budget and allows you to get a realistic forecast of the product delivery time.
- The questions that the analyst asks at the specification stage will come from the team within the development process. And in this case, two variants are possible:
- The developers will constantly distract you. When you can’t respond right away, it will affect deadlines and may cause downtime;
- The developers will make decisions at their own discretion. And it’s highly likely that in some aspects your opinion will not coincide with theirs. You’ll have to remake the functionality. If you add the analytics stage, the developers will address all questions to the analyst.
Summary
Business analytics is aimed at ensuring the following moments:
- the product matches the customer’s vision;
- the product helps the business and users achieve their goals;
- the risk of unforeseen situations is minimized;
- the project is technically implementable;
- the team has a single vision of the technical structure of the project;
- the internal structure meets the requirements related to security, speed, loading and extensibility;
- the necessity of questions to the client during development is minimized;
- the amount of rework and modifications is minimized;
- project success metrics and a system for tracking them are defined;
- the client understands how users interact with the product, and it is possible to make a reasonable plan for product evolution.
The combination of these factors determines the success of the project and the satisfaction of the client. The analyst performs some of the tasks together with other team members, and some of them should be performed independently.
By excluding the analyst from the development processes you take serious risks, especially if you need to develop a complex product. Yes, you can save money by reducing the number of team members, but it will also increase the volumes of reworks, the project’s cost, and the time needed for its development.
Successful projects can only be created by a team.