BA & QA Collaboration Approaches

Oct 12, 2022 0 min read 2838
Anastasiia Strielkina PhD. Business Analyst
BA & QA Collaboration Approaches

Software Development Hub operates on “the best software development results come from high-performing teams” principle.

Introduction

First and foremost, in order to achieve the best result for the developed software, the specification and requirements supplied by Business Analyst (BA) play a vital role.

The other significant role in software development is a Quality Assurance Engineer (QA), who works most of the time with “final” results. The main goal for QAs are improving software development processes by preventing faults, defects, and bugs. To put it differently, they make sure that the software team is doing the right thing in the right way. In other words, they make sure that the software team is doing the exact right thing in the correct way.
Indeed, both of them have the same aim — ensuring that the developed software meets customers' business needs.

Responsibilities of Roles in Software Development Life Cycle

In most cases, the software development life cycle consists of 6 phases that are shown below.
Responsibilities of BA & QA Roles in Software Development Life Cycle

To briefly describe all the phases, in the Analysis phase, all the necessary and available information is acquired from the client in order to develop the product according to customer’s needs and expectations, and the analysis of the obtained information is performed. The result of the Analysis phase is Software Requirements Specification (SRS).

During the Design Phase, the software architecture is developed, which is used to implement the development of the system.

The Development phase includes the implementation and coding of all components of the software to be developed.

During the Testing phase, the developed software is thoroughly tested. Any defects found are passed on to the developers for elimination to ensure that the software meets the customer's compliance standard.

After the software is tested, it is deployed in a production environment. Once it is deployed in a production environment, the software has to be maintained by the developing team.

There are key responsibilities of BA and QA during SDLC for the best practices.

BA

QA

Analysis

  • Preparing and planning of business analysis activities
  • Identifying business needs and defining project scope and approaches
  • Facilitating the elicitation and analysis of requirements
  • Requirements feasibility analysis
  • Establishing the environmental requirements.
  • Preparing the higher-level test plan
  • Identifying the type of the testing to be carried in the project

Design

  • Defining design options
  • Recommending the design solution 
  • Reviewing of design
  • Verifying the flow of requirements
  • Verifying the UI/UX
  • Preparing low-level test plan

Development

  • Supporting the development team
  • Creating a list of test cases
  • Preparing an test environment 

Testing

  • Readiness reviewing
  • Facilitating user training sessions
  • Prioritizing of found defects/bugs
  • Testing
  • Writing test cases
  • Finding bugs and testing Bug Fixes
  •  Regression Testing
  • Preparing bug reports
  • Preparing testing statuses

Deployment

  • Readiness reviewing
  • Smoke testing

Maintenance

  • System evaluation
  • Testing of the bug fixes and upgrades to features

But unfortunately in practice, because of resource lack not all responsibilities are met.

The traditional approach very often meets the problem that QA are not sufficiently engaged into the development process, which leads to irreparable consequences — many bugs and issues that would have been detected in the early stages of development are not discovered until the last phases of the project. This makes it challenging for the development team to find the essence of the problem, and ends up with large structural and architectural changes that require a large variety of resources (time and money) to fix the cause.

Let’s review the main approaches of BA and QA collaboration.

Work in Isolation

Generally, BA and QA are two different roles working separately. Without going into details, the BA prepares the requirements, the QA does not take part in this process and begins to learn the requirements when testing certain features. Such an approach can save time and other resources for both roles at early stages of project implementation.

Part of the issues with a more traditional approach for managing projects is that the QA is not sufficiently integrated into the development process starting from the earliest stages. As a consequence, a lot of misconceptions, errors, and problems that may have been detected earlier are not spotted in time.

Poor communication and collaboration between BA and QA might lead to many additional consequences such as misinterpretation of terms used in the developed system, misunderstanding of dependencies between features and requirements, and omission of various points.

To conclude, such approach reduces the efficiency and productivity of the team, which can ultimately lead to project failure.

Cooperation

Another collaboration approach offers involving QA from the early stages, i.e. from the requirement elicitation process.

Based on experience, this has the most significant advantages of all other approaches:

  • There is another pair of eyes on this avoiding preconceptions in requirements.
  • BA assists QA to analyze test coverage, convert use cases to test cases and provide information for testing complicated features. It is also very common practice when test cases are written by the BA.
  • Knowledge exchange in both directions.

With all benefits, there is the disadvantage of this approach as the involvement of more resources and time for everyday routine.

Merge of BA and QA roles

Some companies and development teams have decided to combine BA and QA responsibilities into one role, putting the same person at both ends of the process to improve collaboration between development roles. This merged role is a critical link between the client's business needs and the team's expertise.

BA and QA collaboration approaches - SDH

The available studies of this approach say that the integrated role identifies more metrics that improve product quality. And also it allows to reveal project issues at the early stages of the process and resolves them at a lesser cost.

But as with the other approaches, there are also limitations and disadvantages, like as missing some significant points, and emphasis on one aspect (either business analysis or quality assurance) due to the human factor, conducting only functional testing in most cases, time pressure, overloading with information and responsibilities that affects the efficiency of the duties performed, missed chance to have another pair of eyes during the process, etc.

Instead of the Conclusion

The only thing left to say is that the production of the software requires the ongoing cooperation of all relevant stakeholders to achieve the best outcomes and it is needed to find a middle ground and adjust to the peculiarities of each project and team.

Categories

BA QA

Share

Need a project estimate?

Drop us a line, and we provide you with a qualified consultation.

x