Quality assurance in development: better safe than sorry

Jan 16, 2023
  • IT
  • SAP

Whether you’re building cars or code, the importance of quality assurance (QA) can’t be overstated. Not only does compromising on quality lead to customer dissatisfaction – or worse: accidents – it also causes significant delays and additional costs. Unsurprisingly, QA is gaining a lot of attention in coding and development. But what exactly are the characteristics of high-quality code, and how can developers meet these requirements?  

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. 


scheme about quality assurance

The characteristics of high-quality code

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:

 

  1. Make it robust: The code should be able to handle unusual conditions and provide clear error messages when needed.
  2. Make it readable: The code has to be easy to understand. This is especially important in large software projects where many developers are involved. 
  3. Make it sustainable: It should be able to survive system upgrades with no, or minimal, changes or corrections.
  4. Make it transferrable: It can be migrated to any other platform without requiring major changes.

 

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. 

QA checklists and tools

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.

Prevention and follow-up

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.

 

  1. Prevention: better safe than sorry – training, procedures, prechecks, and efficient re-use of code
  2. QA check: automated testing, process checks and code reviews
  3. Incident follow-up: informing and updating the customer, documenting and providing feedback

 

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.

related content