Quality assurance in development: better safe than sorry
Here's one thing good code doesn’t have: bugs. In computing, a bug is an error, flaw or fault in a program or system that causes an incorrect or unexpected result, or makes the application behave in unintended ways. The goal of quality assurance in development is to detect bugs, and ideally prevent them from occurring altogether.
And the focus does lie squarely on prevention. Here’s why: according to IBM, the cost of correcting a bug in the production stage of development is more than 30 times higher than if the same error had been caught in the design stage. In other words: the longer errors go unidentified, the bigger their impact on development quality and the more expensive and time-consuming it will be to solve them.
Apart from being bug-free, high-quality code is also clear and simple. It’s well-tested and documented and complies with the specifications and standards set by the customer. To achieve these goals, developers should keep four main principles in mind when writing code:
By sticking to these principles, developers can avoid building up ‘technical debt’: the cost of additional rework caused by choosing an easier or faster solution today, or by failing to spot and/or correct errors in the programming code.
Luckily, there are plenty of ways to minimize the risk of mistakes and inconsistencies that could make a project fail. Major software companies like SAP, for example, provide specific quality assurance and development guidelines to ensure consistency. These include the SAP ABAP programming guidelines, development check processes and unit tests and the SAP ATC check before transport request release.
Many software vendors and implementation partners also have their own checklists that summarize the most common development mistakes. At delaware, for example, this list is constantly being updated to include new programming syntax and best practices.
SAP also provides off-the-shelf, built-in quality assurance tools, including SAP Code Inspector (SCI), Extended Program Check (SLIN) and ABAP Test Cockpit (ATC) for ABAP codes. The latter, ATC, is the most widely used. It bundles quality tools like syntax check, SLIN, ABAP Unit and security checks, and can be extended with customized quality assurance frameworks as well. Moreover, setting up scheduled ATC checks is easy and provides insights into the evolution of code quality throughout the project.
Of course, quality assurance can’t be left to tools alone. It is the responsibility of the entire development team to deliver and maintain quality code, keep the core clean, and as such enable faster and cheaper upgrades. An ideal framework for quality assurance focuses on prevention and follow-up as well.
Adhering to this QA framework allows development teams to easily implement approved procedures and ‘keep the core clean’. Many organizations and teams also benefit from having an external partner with QA experience. Through their experience with numerous companies across industries, these third-party professionals bring proven sets of best practices and a much-needed outside-in perspective. Delaware, for example, provides them with access to a database of reusable, high-quality code that can help speed up development and significantly reduces the risk of errors.
Ready to up your quality assurance game? Get in touch with our experts.