The disputes concerning the QA teams’ role in the software development process rage on. In the area of Microsoft Dynamics, some organisations even doubt whether it is efficient to add a QA team to the project or whether their consultants should execute the testing. Others, on the other hand, do not treat the QA engineers lightly and want to get the QA team fully engaged.
At Global Mediator, we are evolving in a direction where we increasingly see value in a holistic, 360-degree view on the Agile SDLC and emphasise the significance of the QA team’s engagement as soon as possible – literally, get them integrated with the development engineers from the onset of a development project.
When a QA team is in
Agile methodology has blurred the lines between the teams’ roles and finally brought the QA team’s contribution into the spotlight. With the continuous software delivery approach, the QA engineers can prevent expensive bug fixes before the project goes live thanks to close cooperation and open dialogue with the development teams. From our experience, updating the QA team on what is happening NOW, not what happened YESTERDAY, means being ready for TOMORROW: this is what producing a high- quality solution implies. Prevention is more cost-efficient than cure – especially in software development.
“It is vital for the development and QA engineers alike to remember that they are in the same boat heading towards bug-free, top-notch solutions and a holistic user experience.”
– Nicolai Krarup, COO at Global Mediator
Adhering to the ISO 29119 standards and Global Mediator’s policies, our QA specialists use the tools like SpiraTest and Jira to detect and document every finding not to miss any bugs during manual and/or automated tests, as well as provide an advisory opinion on the development process in a variety of technologies – Microsoft Dynamics 365 Business Central, .NET development, AL, Microsoft Power Apps development and more. Obviously, such a symbiosis at early stages pays its way before the solution is delivered:
- Getting the QA team involved during the requirements collection and analysis significantly reduces the defect fixing cost in the future and provides a deep insight for the QA team to be more responsive during the execution stage of the project. The QA engineers always keep “Why?” in mind and clarify any controversies with the customer. They also communicate with the system designers to reduce the risk of design defects and make sure that changes in architecture do not break the application.
- The QA team completes the test case preparation and reacts quickly to any change requests if the solution design refactoring is necessary. The teams share their insights to avoid any bottlenecks in the further testing phases and prioritise testing of the development process riskiest areas.
- Global Mediator’s best practices require the teams to always stay in touch to conduct the functional testing without issues and successfully fix bugs during the test execution stage. Along the phase, the QA engineers pay special attention to the checks of Microsoft NAV and Business Central migrated objects – reports, layouts, pages, and data validation.
- When the regression testing is conducted, both teams respond timely to all the iterations. Business Central automated tests (with either Rapise or Test CodeUnits) substantially raise the QA team’s productivity: they work with Agile perfectly, reduce the time necessary for regression testing and help detect bugs that might have gone undiscovered during manual testing.
- During the test closure activities, before the product is released, the QA team pays special attention to the business logic checks to protect the ERP financial processes, discovering and eliminating the defects that might have gone unnoticed earlier, data migration checks in NAV and Business Central, as well as test documentation finalising.
“Many Dynamics projects go over budget due to bug-fixing at the end of the development stage. Why not push some of that cost upstream and build reusable collateral of clear test cases and automated tests.”
– Luc van Vugt, D365 BC MVP & QA-evangelist
Developers’ vision on the QA role
At Global Mediator, the development teams know from experience that delivering a high-quality software solution without a dedicated QA team on board is not impossible, but far more unpredictable and complicated. Yes, software engineers should write and run automated software testing since coding within the applications they work on. But relying solely on this has several flaws.
- Test code units primarily test the logic within the application, but are often not ideal to test the user experience nor the integration to other systems or applications.
- Getting the QA team involved early to write user stories often helps to clarify misunderstandings about the targeted user experience and as such it provides a much clearer scope for development.
- Development testing, performed by the developers themselves, can postpone the release of the solution.
- Omitting the QA part of the project is often driven by the desire to cut its cost. In reality, finding potential bugs earlier rather than later in the development process is far more cost-effective.
- Many software solutions are modified over time and having a well-structured test library based on precise test cases will reduce the cost of repeated testing.
- In addition, doing things in parallel may increase the speed to market.
Developers might (occasionally) perceive coding as sculpturing a specific function, a single task, and overlook the bigger picture. The QA engineers, however, always look at the surroundings of that task – at what and how it influences considering what has already been built – with the regression testing in mind. While the developers are trying to prove their code is working fine (with Test CodeUnits), the QA pros are trying to prove it is broken. The QA professionals help find the missing pieces of the puzzle and see the solution from a different angle – from a user’s perspective. It is highly likely that by missing the continuous dialogue and feedback from the QA engineers, the final solution may fall short of what the customer expected.
Analytical thinking turns the QA engineers into real quality ambassadors
Ambassadors for Quality
Considering the above, the QA role in the development process is hard to overestimate: the quality assurance-based mindset and thoroughness leave no stone unturned in making sure the solution is exactly what the customer wanted. The QA and development engineers are a perfect match when they work in parallel from the very start of the development process. Testing the solutions upstream is the right track and an efficient investment since the best way to deal with any bugs is to eliminate them before giving the green light to the product.
With the application’s users in mind along with a deep understanding of what the solution is meant to achieve, the QA pros advise on the business aspects of the product – which makes them more than testing specialists. Analytical thinking and understanding the application’s business logic turn them into real quality ambassadors – the strategic consultants who make sure that quality is put first by every team member and add value to the software development cycle from the start of the process.