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

April 24, 2017

The expectation of regular software updates – it's what developers are tasked with, and what users expect and demand. Increased functionality, better performance, and fewer bugs – often in a week or less. Automation of critical processes such as QA can help meet the gargantuan task of constant updates, but it can also send your software into a death spiral of user abandonment unless deployed correctly ...

April 20, 2017

One could argue that testing is the most important phase of an IT project. It's also time-consuming and expensive. It's essential to strike a balance between an IT testing program that ensures a quality product and the cost-to-value ratio of your project. But when you're dealing with replatforming projects, how much testing is enough testing? ...

April 18, 2017

Whether through formal methods such as classroom or virtual training, job shadowing, and mentoring; or through informal methods such as team discussions or presentations, teaching needs to be a frequent element of team integration. It is a given that IT and business teams have difficulty understanding each other without a common taxonomy. Even teams within IT often fail to understand each other ...

April 17, 2017

Although DBAs fortunately have the rare ability to bridge the gap between development and operations, they have been detrimentally overlooked in many companies that deploy DevOps practices. A DBA's ability to interrogate code and construct a resilient, well–performing database environment uniquely defines the capabilities needed for DevOps – leaving me perplexed about why DBAs were not one of the first operations team members asked to join the DevOps movement ...

April 12, 2017

DEVOPSdigest asked experts across the industry — including analysts, consultants and vendors — for their opinions on the best way for a development or DevOps team to become more Agile. Part 5, the final installment in this series, provides tips on empowering people ...

April 10, 2017

DEVOPSdigest asked experts across the industry for their opinions on the best way for a development or DevOps team to become more Agile. Part 4 covers DevOps technologies ...

April 07, 2017

DEVOPSdigest asked experts across the industry for their opinions on the best way for a development or DevOps team to become more Agile. Part 3 provides some tips for getting started and gaining feedback ...

April 05, 2017

DEVOPSdigest asked experts across the industry for their opinions on the best way for a development or DevOps team to become more Agile. Part 2 covers processes including automation, continuous delivery and testing ..

April 03, 2017

One of the most ubiquitous words in the development and DevOps vocabularies is "Agile." It is that shining, valued, and sometimes elusive goal that all enterprises strive for. But how do you get there? How does your organization become truly Agile? With these questions in mind, DEVOPSdigest asked experts across the industry — including analysts, consultants and vendors — for their opinions on the best way for a development or DevOps team to become more Agile ...

March 30, 2017

As trends like cloud computing and DevOps become the de facto standard, organizations are increasingly looking for next-generation analytics tools and services that provide continuous intelligence to help them build, run and secure modern applications, and accelerate their journey to the cloud, according to a new study with UBM Technology titled The New Normal: Cloud, DevOps and SaaS Analytics Tools Reign in the Modern App Era ...

Share this