The importance of a IT business analyst in software industry, in a modern managed development team is hard to overstate. This person helps to shape the project from its very inception by facilitating communication between development team and upper management and executives. This effective communication is what in many ways makes managed teams work. It allows customers to save management resources, while teams are able to deliver on time and within budget.

Written by:
Vitaly Plitchenko,
Market Research Specialist

 

However, the world of software outsourcing has caught up to the practice of providing business analyst services only relatively recently. And while majority of larger companies include business analysts as part of their managed teams, some clients still have certain misconception about their role and importance. People sometimes are not sure whether they need a business analyst for their project at all and if they do, whether they should try to hire one or try to outsource.

At Apriorit, the work of a business analyst is essential to every team that we provide. Therefore, we decided to share our experience of providing business analyst services in order to show that they are an essential part of a managed development team, and to dispel popular misconceptions about business analysis. This article will cover typical IT business analyst roles and responsibilities, and will address the benefits of having business analyst (not to be confused with project manager) as part of your managed dedicated team.

Contents

Challenge of getting your requirements across

IT business analyst is not a technical writer

Business analyst responsibilities

Business analysis tools

Business analysis outsourcing

Conclusion

 

Challenge of getting your requirements across

Each project starts with an idea that can come in one of many different forms. It can either be a stroke of inspiration on the part of an executive, a careful market research, or a result of an extensive analysis of competitor solutions. In any case, each idea is different in a sense of how it has been formulated and how complete it is.

While some people think that an experienced development team is all you will ever need to transform these ideas into working products, in reality, developers are simply not qualified enough to collect all the necessary requirements from stakeholders. There are often a number of details and edge cases that they are simply not going to consider. While handling both regular behavior and exceptions, developers do not always have the foresight to focus on what is the most important for stakeholder.  At the same time, most commercial products should adhere to the industry standards that developers do not always have a good grasp on.

In order to bring ideas from an executive to the development team that will be able to turn them into a working solution, these ideas first need to be formalized by a person with an extensive business domain knowledge. This is where the business analyst steps in.

 myhc 1111481

IT business analyst is not a technical writer

The task of a business analysis at its core is to review and analyze business domain. Business intelligence analysts, business development analysts, and technical business analysts are used across the board for strategic planning, business model analysis and process design.

Role of business analyst in IT company, on the other hand, sometimes intertwines with the position of a technical writer. There are certain organizations where these two terms are used interchangeably, both of those positions have similar job description, and where business analysts perform functions of technical writers and vice versa.

Misconception comes from the fact that they both produce technical documentation for a project, however, in terms of content, their actual deliverables have almost nothing in common and their roles on the project are also very different.  While a technical writer creates content aimed at end users, such as manuals and help files, a business analyst produces documentation that is mainly useful for the development team and stakeholders.

Therefore, for maximum efficiency, duties and responsibilities of business analyst should be separated from the tasks of technical writer whenever possible. IT business analyst role requires a very specific set of skills and expertise that you will not always be able to find in a technical writer.

There are three main components specific to each business analyst that distinguish them from other roles on the team:

  • Technical knowledge. Business analyst should have the necessary technical knowledge to be able to communicate with developers and testers on an even footing and understand technical specifics and limitations of the project.
  • Problem solving and analytical skills. Business analyst possess an extensive analytical skills in order to properly interpret and translate customer business needs into functional specifications. They need to have problem solving and decision making skill in order to consult both stakeholders and developers and make swift judgment on certain problems and features when situation requires it.
  • Communication skills. Business analyst should know how to effectively collect information from a person and how to present it to another one. Business analyst works with a variety of different people in various positions across different organizations, including stakeholder, decision makers, developers, testers, and project management, etc. They should be able to effectively communicate with these groups and make sure that their concerns reach each other. Extensive listening, writing, and interpersonal skills are a paramount for a successful business analyst.

By combining these essential components, a business analyst should be able to effectively represent stakeholders, act as a product owner, and facilitate successful communication, helping the team to deliver exactly what the client wants.

 

Business analyst responsibilities

A business analyst is one of the key members of the project. From the very beginning, a business analyst should closely work with stakeholders to understand their vision of the project and translate it to all sides. So, exactly what does a business analyst do?

Outsourcing business analystTypical business analyst responsibilities on a research and development project in IT companies include:

  • Defining the scope of the project
  • Gathering project requirements
  • Translating requirements to the team
  • Performing acceptance testing

 

1. Defining the scope of the project

A business analyst should define an ultimate vision of what the project should look like early on, effectively limiting the scope of the development. A precisely defined project scope will help the team to prioritize features in order to deliver a minimum viable product as early as possible, instead of spending time on secondary and nice-to-have features. It also allows to assess required resources and potential risks of the project and produce approximate estimates.

2. Elicitation

In order to determine scope of the project and gather all the necessary requirements, business analyst also needs to research information, related to the project. This can include copetitor research, document analysis, brainstorming, prototyping, and other methods, and allow business analyst to gain clear understanding of business needs related to the project, thus facilitating requirement gathering.

3. Gathering project requirements

Requirement gathering is what people think about when they hear the words business analysis. This task takes a unique blend of expertise that simply cannot be completed by any other person on the project.

The source of business requirements is project stakeholders. Stakeholder is a term used to describe everyone who will be affected by the final product, therefore having a stake in how it will turn out. This includes customers, sponsors, senior managers, end-users, etc. With a research and development outsourcing project, the requirements are usually gathered directly from outsourcers.

People, who consider formal requirement gathering to be unnecessary, will often cite the ease and importance of verbal communication as their main argument. However, even in Agile methodology, where verbal communication is the king and the amount of written material is reduced in order to facilitate face-to-face discussions, business analyst takes a prominent role on a development team.

In an ideal Agile world development team and stakeholders should be co-located, allowing them to efficiently discuss every requirement face-to-face at every step of the development. In this case, the role of business analyst in software development is to bring them together for meetings and facilitate discussion between them.

However, this is never the case in software research and development outsourcing where developers and stakeholders are geographically distributed. In this case, agile business analyst is reverted to a more traditional role of gathering and translating requirements.

Business analyst carefully evaluates the needs of stakeholders based on their objectives and concerns. He or she needs to understand how stakeholders expect the system to work and formulate requirements based on those expectations. By acting as a bridge between stakeholders and developers, business analyst brings understanding of not only “how” the work needs to be done, but also “why” it needs to be done in that particular way, providing essential understanding for an agile team.

There are various ways to get this information, including interviews and surveys. In Apriorit, business analysts always try to communicate with customers directly in order to get the most precise picture.

4. Requirement specification

After requirements have been gathered, the next step is to formalize them by creating a written specification. This means that requirements should be written in a document that can be shared with stakeholders. This requires a specific set of skills and techniques that will allow to present requirements in a precise manner that will be clear to stakeholders and useful to developers. 

5. Translating requirements to the team

After a requirement specification is written and reviewed by stakeholders, it needs to be presented to the development team. The team needs to understand all requirements correctly and get answers to all questions that they might have. From the way business analyst understands the team, their strong and weak points, and their level of understanding of business domain, largely depends how well he or she will be able to communicate the necessary information.

Agile projects often operate on a basis of user stories – small written representations of particular user needs or ways in which they should be able to use software, coupled with face-to-face discussions on a subject. User stories can be used on their own, however, in an outsourced project, it is more efficient to couple them with a more standard full-fledged functional specification. This combined approach allows the team to get a better understanding of what is required with user stories describing core features, functional specification covering all the edge cases and outlining formal requirements of the client, and business analyst being always available to clarify any questions and discuss features if needed.

6. Performing acceptance testing

Business analyst needs to check whether an implemented feature meets all requirements. In order to do this, software should be tested to make sure that it can correctly perform all required activities and is suitable for regular business use. Acceptance testing is usually performed at the last stages of feature development and signifies that the product is complete and ready to be put on the market.

While we covered the gist of what business analysts do above, there is much more to it. To get an idea of how many tasks are actually involved in a business analyst day-to-day job, check out this great infographic that provides a summary of business analyst job description.

Business analysis tools

Business analysts also often accompany requirement specifications with diagrams that serve as a means to visualize complex requirements and ensure that both the team and stakeholders are on the same page.

Diagrams often serve as a visualization of various processes and data flow. There are two standard sets of notations, that business analyst use for creating diagrams: UML or BPMN. The former is great for developers, while the latter allows to effectively visualize a business process, which is useful for stakeholders and executives. Each of these sets of notations can be used to create various diagram types in order to describe a product from different perspectives.

One of the most frequently used diagram types are process flow diagrams, which are also called Swimlane Diagrams. They split parts of the process by actors, making it clear who participates in the process and what roles they perform. Such diagrams may be hard to read at first, but if all parties know how to read them, they can serve as a very useful guide helping to understand the relation between different components of the system and how they interact with the user to create a single, continuous process.

In some cases, business analysts can also produce prototypes and mock-ups, allowing them to directly visually represent how user interface should look like. These types of deliverables allow to confirm and elicit requirements and give better understanding of what needs to be done to the team.

Apart from the range of deliverables, business analyst also should use a number of standards and best practices. International Institute of Business Analysis (IIBA) issues Business Analysis Body of Knowledge (BABOK) guide, a publication gathering the best techniques and practices industry has to offer. Business analysts around the world, including our staff at Apriorit, follow these recommendations.

 

Business analysis outsourcing

IT business analyst in outsourcing teamDeeper understanding of the roles and responsibilities of business analyst makes it obvious that they are an essential part of a managed development team. However, even if service providers include business analysts as part of their teams, decision to use them is still belongs to the client. And while many companies appreciate the value and convenience of outsourced business analyst, some of them decide to hire new or use an existing in-house specialist.

In practice, this approach is fairly inefficient. There are several reasons to outsource business analysis, and companies of any size can benefit from it:

  • Small and medium companies – such companies often have limited budgets and capacity to hire and train their own staff. Outsourcing business analysis services is a great way to get experienced professionals on board and save money at the same time.
  • Large companies – business analyst outsourcing allows large companies to simplify management, get a stronger communication bridge between the engineering team and the stakeholders, and save valuable in-house human resources that can be used for other in-house based tasks. Saving costs is another important benefit.

By outsourcing business analysis, you will get a professional with the right set of skills and expertise, extensive experience of participating in many projects, and ability to communicate directly with the team and make sure that your requirements are understood at each project stage. Such business analyst acts as a client representative in the development team, working on-site on a daily basis.

It is also worth noting that talent acquisition on domestic market is becoming more difficult with a lack of supply and the ever growing competition from other companies. Therefore, it is much easier and more efficient to use the services of a business analyst that is a part of your managed outsourced team.

 

Conclusion

We hope that this article gave you a good understanding of the role that a business analyst plays in a software research and development project. We tried to bring across how important business analysis is in our ever changing agile world, and why it is essential to have a managed team with a business analyst on board.

Read also: HR Management SaaS Platform Development

Subscribe to updates