The role of analyst in a software development project

The role of business analysts and their competencies are more often used in IT projects (and not only IT!). Nevertheless, this function is still not that well known or is a source of inaccuracies when it comes to the range of analysts work and benefits it brings.

So, what exactly does a business analyst do? At what stages of the project is needed? Is it cost-effective to engage analyst in the project? What consequences does resigning from such services bring?

We’ll try to answer all of these interesting yet difficult questions in the article below.

Who’s a business analyst?

Let’s start from defining who a business analyst actually is. BABOK® Guide — publication of the internationally recognized IIBA organization which standardizes the fields of knowledge related to business analysis states that:

Business analysis is a process of implementing changes within an organization by defining its needs and recommending possible solutions valuable for stakeholders. A business analyst is a person responsible for discovering, synthesizing and analyzing information gathered from a company’s different sources. They take care of establishing stakeholders’ real needs to determine basic problems and their causes.

So, what do business analysts do?

  • They strive to understanding a company’s problems and goals
  • They analyze needs and possible solutions
  • They develop a strategy
  • They drive changes
  • They facilitate stakeholders’ cooperation

These activities are performed no matter if it’s an internal project or a one dedicated for an external client. Analyst’s work is necessary in both cases!

Who does an analyst work with?

Analysts are torn between the worlds of business and development. They should discover a client’s needs, understand their expectations and take them into account while designing a range of application’s functionalities and detailing its performance.

An analyst should be able to talk with clients using a business language, and then turn to a team of developers and explain all requirements in a technical manner. Such a person is responsible for streamlining the communication between both worlds and for a clear and smooth information flow.

The role of analyst at various project stages

Analyst’s work input can be of great value at most of a project’s life stages — from creating an offer to releasing a product to the market. Each step requires different competences and brings varied values.

Project’s initiation

At the initial stage of a project, analysts help define a precise business need, and then, basing on their own knowledge and experience, they support a client in choosing the most adequate methodology of obtaining requirements. At this point, they also pinpoint a project’s vision and scope.

Obtaining business requirements

It’s a highly demanding stage of a project that requires the most work. Regardless of a chosen methodology, an analyst’s task is to gather and understand the business requirements. Acquired knowledge can come from different sources — workshops with a client, documentation analysis, interviews, data analysis, etc.

It’s the stage which should include detailed, and sometimes even difficult questions. Thorough knowledge of processes, existing problems, and all the related topics provides an analyst with a complete understanding and information which transfer directly into designing a solution adjusted perfectly to one’s needs.

Creating a technical specification

The knowledge gathered during the previous stage allows an analyst to create a technical specification. It thoroughly describes the functional and quality scope of an application as well as all of the assumptions undertaken.

The specification is not just plain text. It includes diagrams that present a system’s performance and structure, showing the flow of business processes as well as use cases.

The role of an analyst is presenting business requirements in a way that they are understandable for both a developer and an architect. Behind each functionality should stand a clear business need that influences a final product’s performance.

Development

Although this stage is mainly a developer’s work, an analyst should be available and ready to explain all of the potential uncertainties connected with business requirements. Their role is also specifying expected results of the work which can be verified by testers.

As you can see, the responsibilities of an analyst can be quite extensive. They also depend on adopted methodology and individual organizational practices.

What are the benefits of engaging an analyst in a project?

Finally, the most important issue — what does collecting business requirements before designing a solution and launching a development actually give us? Well, it’s really hard to list all of the advantages.

  1. The first and most essential advantage is basing the functionality scope and its description on a client’s actual requirements. Thanks to this approach, there’s an obvious business need behind every feature.
  2. Knowing a client’s needs, i.e. goals they want to achieve, groups of users they want to reach and areas of integration, provides an analyst with an in-depth picture of the environment for creating the product. It reduces the possibility of oversight or missing some essential aspects influencing the project.
  3. Knowing the scope and having a big picture of the project from the beginning allows an analyst to control the dependencies between its particular elements and pay attention to safety while implementing changes. It’s because they’re able to identify how a specific alteration influences other elements in the project.
  4. An analyst is also a person who possesses full knowledge of the projects, both from the business and technical perspective. Thus, while talking with the developers team, they’re able to explain the validity of creating each feature based on business needs. And the other way round — they can inform a client about possibilities and technical limitations connected with creating individual elements of the system.

Summing up, an analyst provides better communication between a company and a technical team, improving their cooperation. This way, every project member, regardless of the role, understands the needs and the resulting assumptions which leads to one common goal.

What are the consequences of lacking a business analyst in a project?

Incomplete solution

Lack of a thorough analysis of users problems and needs can lead to omitting some of the most essential requirements. In result, the project may be lacking some necessary features or they can be designed in a way that doesn’t fulfill clients’ needs or is inconvenient.

These problems may be noticed after releasing the solution to the market when clients have already made up their mind about a product and the alterations can be very costful.

Lack of understanding

Common understanding of the product’s goal and vision for the project’s flow are very important among all the team members.

Knowing the business context (or its absence) can influence every stage of the product’s lifecycle — from process flow design to development, graphic design, marketing, etc.

If every person engaged in a project knows its business assumptions, they can offer valuable suggestions or detect logic errors at the early stage of the development.

Leaving out users group

Omitting a group of stakeholders can cause a situation in which a crucial functionality may be overlooked. It affects the level of user satisfaction with using the app, fitting a product into the market, and sales.

Creating unnecessary features

If a solution is created without analyzing actual user needs, a company’s goals, and adequate prioritization of tasks, it can have a negative impact on the project’s life. As a consequence, the developed features may be useless for a user or unnecessary during the first phases of an app’s life.

Waste of resources and lack of values

All of these mistakes lead to wasting resources: time, money, and often even a contractor’s reputation. Such a solution doesn’t bring a desired value to the user, but it causes material and image losses to its owners.

We hope that after reading this article, all your doubts are dispelled and the role of an analyst and their function is more clear.

human-centric software design & development. check out our website: www.iteo.com