Assessing the QA Competence of a Software Development Consultancy

If large organizations have their own software development teams, smaller company often looks for external resources to create software. Choosing a supplier to develop an application is not easy.

It is possible to evaluate the technical capabilities of suppliers by looking at previously delivered projects, but evaluation of their attention for software quality assurance (QA) is more difficult. This article hopes to provide you with some hints on how to assess the importance of software quality assurance for a software development consultancy.

Integrating software quality assurances in proposals

The first thing to check is that the software testing and QA related activities are explicitly visible in project plan of your supplier. This is especially true for the user acceptance testing phase, where the customer will check if the delivered software meets the requirements.

During this phase, it is important that the software development company provides a clear process for bugs / defects management. Ideally, the supplier should provide a bug tracking tool where the customers will have the visibility of the issues created. They should know how the bug tickets move in the process until their resolution. The customers should then be notified that they could test if the issue is definitively solved.

Availability of a safe testing environment

When the application is delivered, there will always be some missed defects to solve or new features to develop. However, you don’t want that these changes for evolution inadvertently impact the application users. It is essential that the development company has a separate environment for development and testing of the application. This will make sure that changes will be visible to the users only when they have been validated and transferred to the production environment.

Assessing the QA Competence of Software Development Consultancy

Asking for precision in requirements

The amount of questions on the initial requirements document is one of the thing that will let the customer know about how the supplier care about software quality. Initial requirements have always a fair share of ambiguity for the readers from outside the company. A serious supplier will try to clear most of these ambiguities before signing the contact and starting to code. The goal is to avoid possible confrontational situations during the development and acceptance phases when the customer and the supplier have a different interpretation of requirements.

Non-functional requirements

If a request for proposal is often focused on the functional requirements of the application to be developed, a quality-oriented supplier will also put in evidence what are called non-functional requirements. These are elements that key for the application to run smoothly, but not necessarily immediately visible from a customer perspective.

In this category, you can include :

  • Accessibility: how users will interact with the application, especially for users with disability
  • Performance: what level of performance is expected. Will exceptional events like the Black Friday impact the application.
  • Security: how the application is protected from hacking
  • Privacy compliance / data protection: how the application manage the privacy of its users.

Seniority of software development team

It is hard to generalize, but usually software developers with experience will make less coding mistakes. They are more aware of the various elements that you should be considered when writing code. The supplier should provide the customer with a development team that has a fair share of senior experience in developing similar applications.

Usage of test automation tools

A good supplier will use various test automation tools. They make repetitive validation of content like login screens or API calls more efficient. They are even essential for the load and performance testing activities when you have to simulate simultaneous access by 1000s of users.

Conclusion

The relationship with a software development consultancy should not be assessed only about how fast they can deliver the promised features. This is naturally important, but quality should be included in the final results. If they suffer from a performance failure during peak usage or the hacking of sensitive users data, the customer company will endure losses both financially and in reputation.

Ideally, it is the supplier to make the customer proactively aware of the importance of incorporating software quality assurances activities in software development projects.

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.