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

May 25, 2017

DevOps brings Development and Operations together with the sheer objective of ensuring quality and enabling faster time to market. However, what happens to QA in this scenario? How does the Testing team fit in? Let's ponder on this further and understand the role of QA and Testing in the DevOps world ...

May 23, 2017

When organizations adopt containers and microservice style architectures in production, systems become incredibly complex. For operations it's a shock because it means coming to grips with many new container tech nuances - plus letting go of the old monitoring rule book ...

May 22, 2017

Managing application performance today requires analytics. IT Operations Analytics (ITOA) is often used to augment or built into Application Performance Management solutions to process the massive amounts of metrics coming out of today's IT environment. But today ITOA stands at a crossroads as revolutionary technologies and capabilities are emerging to push it into new realms. So where is ITOA going next? With this question in mind, DEVOPSdigest partner site APMdigest asked experts across the industry for their opinions on the next steps for ITOA ...

May 18, 2017

In Part 3 of my Q&A with industry analysts, I ask: What trends will have the biggest impact on the software industry and DevOps in particular this year and beyond? How can enterprises set themselves up to succeed with so many rapid changes occurring in development and delivery? ...

May 16, 2017

See how to turbo-charge the impact of APIs, according to a global study conducted by CA Technologies ...

May 15, 2017

APIs are vital components for business success and thriving in the application economy, according to a global study conducted by CA Technologies ...

May 11, 2017

In Part 2, I'll dive into some findings from CollabNet's outreach to industry analysts. I asked them about the greatest challenges facing enterprises venturing into the world of DevOps and to touch on what lies ahead for the future of the DevOps movement ...

May 09, 2017

DevOps teams bring significant benefits to their organizations. Unfortunately, DevOps teams, like many business programs, tend to believe innovation must come with a detriment to security. Security measures are often seen as obstacles that impact the agility that DevOps teams rely on ...

May 08, 2017

With increased competition, enterprises now require greater agility than ever before, and traditional approaches simply can’t provide the speed enterprises demand. To remain competitive with these new players, companies need to improve their operational agility both in the data center and the WAN ...

May 04, 2017

There is no "right" culture for DevOps, but characteristics such as open communication, high cooperation, collaboration, respect, and trust are essential. If your organization does not have these characteristics, they must be developed. Culture is learned, not inherited. It must be genuinely nurtured by everyone from executive management on down the line. Here are some hacks to help develop a positive DevOps culture ...

Share this