3 Best Practices for Maintaining Quality in the Proliferation of Software
March 20, 2017

Greg Law
Undo

It has been said before and will be said again – software is truly eating the world. In the quest for survival, every company is becoming a software company. However, with the prevalence of software comes an increased number of software bugs, which impacts on software quality. Monitoring and understanding what software is really doing, and maintaining good levels of software quality is therefore increasingly important to software vendors today. Even a minor bug is capable of shutting down whole systems, and there is a real risk that development cycle pressure competes with quality assurance best practices.

Having the right tools and tactics in place is therefore key to managing the proliferation of software without sacrificing quality to ensure that software vendors are not exposed to potentially catastrophic failures.

Best Practice 1: Know Exactly What Your Software Did and When It Did It

As software becomes increasingly complex, involving more lines of code and becoming mission-critical to everyday operations, developers need to have an understanding of what their software is doing at all times.

The ability to see precisely what went wrong and when can provide developers with some much needed peace of mind. This can be achieved via capturing a program's execution in a recording, which can be subsequently replayed and analyzed to see exactly what the software did before it failed.

Having an exact replica of your program's execution, whether in test or production, offers developers the ability to track down hard to isolate bugs that impact software quality. In QA, having a recording of why a test failed allows developers to go back in time to any instruction in the program's history and view contents of any location in memory and in any register, making it significantly easier to find the root cause of the failure.

Best Practice 2: Act on the Problem

With the ability to generate recordings in place, the next step is ensuring the intel is routinely inspected. By allocating review time into a developer's every day workflow, even when there are no issues under review, software quality becomes ingrained in the fabric of the enterprise. With the right tools in place and the personnel on board, software monitoring moves from something enterprises know they need to have, to a smart business investment that guarantees the utmost software quality.

Best Practice 3: Commit to the Customer

It is important to remember that software quality is important for your customer, as it affects how they view the company and can make or break customer loyalty, which is why companies such as SAP spend much time and resource on making sure their code is the highest standard it can be. Unresolved software issues can be potentially catastrophic for a business and can negatively impact the customer experience, creating problems for a software vendor's reputation and the bottom line.

Viewing software quality as not just a developer issue but as a customer issue should bump it up to the top of priority lists and allow it to be recognized as crucial to giving businesses a competitive advantage. Quality assurance tools such as the ability to record a program's execution that fit seamlessly into already existing workflows are a great way to make monitoring a natural part of the landscape.

Dr. Greg Law is CEO and Co-Founder of Undo.

The Latest

March 23, 2017

Mature development organizations ensure automated security is woven into their DevOps practice, early, everywhere, and at scale, according to Sonatype's 2017 DevSecOps Community Survey ...

March 21, 2017

When it comes to food, we all know what's considered "good" and what's "bad". We can all understand this simple rule when eating. But for many, when it comes to software development, simple rules and advice from nutritional labels aren't always there for us ...

March 20, 2017

Monitoring and understanding what software is really doing, and maintaining good levels of software quality is increasingly important to software vendors today. Even a minor bug is capable of shutting down whole systems, and there is a real risk that development cycle pressure competes with quality assurance best practices ...

March 16, 2017

More than half (54 percent) of IT professionals surveyed indicate they have no access to self-service infrastructure, according to a new DevOps survey of 2,000 IT industry executives by Quali.This means that more than half of respondents take a ticket-based approach to infrastructure delivery, impacting productivity and increasing time to market ...

March 15, 2017

Driven by the adoption of cloud and modernization of application architectures, DevOps practices are fast gaining ground in companies that are interested in moving fast – with software eating everything - between "write code and throw it across the wall" to creating more pragmatic mechanisms that induce and maintain operational rigor. The intent behind DevOps (and DevSecOps) is quite noble and excellent in theory. Where it breaks down is in practice ...

March 13, 2017

There might be many people across organizations who claim that they’re using a DevOps approach, but often times, the “best practices” they’re using don’t align with DevOps methodologies. They can say what they do is “DevOps”, but what we’ve found is that many are actually not following basic agile methodology principles, and that’s not DevOps ...

March 09, 2017

The velocity and complexity of software delivery continues to increase as businesses adapt to new economic conditions. Optimizing and automating your deployment pipelines will dramatically reduce your lead times and enable you to deliver software faster and with better quality. Here are three more most common areas that generate the longest lead times ...

March 08, 2017

Every enterprise IT organization is unique in that it will have different bottlenecks and constraints in its deployment pipelines. With that being said, there are some common problem areas that typically produce the longest lead times in your software delivery process. Here are the most common areas that generate the longest lead times ...

March 06, 2017

The findings of an independent survey of IT leaders, application developers and database administrators, conducted by IDG Research for Datical, indicate that database administrators are unable to keep up with the pace and frequency of database changes caused by the accelerated pace of application releases, thus creating a bottleneck and delaying digital transformation initiatives. An overwhelming number of databases administrators (91 percent) and application development managers (90 percent) cited database updates as the cause for application release delays ...

March 02, 2017

A "Boost Caboose" is a secondary engine pulled on a trailer for the explicit purpose of increasing the output of the primary engine. In many ways, DevOps is its own form of Boost Caboose for application of agile methodologies within the modern software factory and SDLC/ADLC processes ...

Share this