How DevOps can improve software quality more quickly

MEHDI Ali
The Telegraph Engineering
2 min readJul 20, 2017

Software quality has been a major subject since the beginning of the development process and production. It’s critical to the success of the product and traditions have dictated that the quality assurance (QA) team was responsible for testing.

However, a close working relationship between Development and Operations or DevOps provides the opportunity to make improvements to software quality with less effort, by capturing user-centric feedback.

The availability of the usage data and the right environment for people to flourish is fundamental to improving quality in the DevOps world.

A new benchmark for quality

The traditional approach for assessing overall software quality lists 20 measurable criteria, including:

  • reliability
  • integrity
  • usability
  • efficiency
  • maintainability
  • flexibility
  • reusability
  • ability to modify

Denning (in this article) confirms that these are the objective and traditional measures that have been applied to software standards for a long period. However, he argues that this only defines the basic correctness of the program, but not the levels of customer satisfaction. In his six user levels of software quality assessment, Denning introduces the top level: “software delights”. At this level, the product inspires users and goes beyond customers’ expectations. The software at this stage delivers surprises which are often shared to others by a primary user.

Whilst there are different definitions of DevOps, the general understanding is that it’s a combination of software code and system skills. The approach is an enhancement to the “Waterfall” software development methodology, which gives modular responsibilities between development, testing and operations. The concept introduced by the influence of the DevOps culture promotes programmatic analysis of user scenarios. Analysis of user behaviour essentially builds your testing scenarios for you, allowing you to meet users’ expectations in less time.

Availability of data helps Quality

The DevOps approach helps to prioritise the issues that are more critical to the end user; anything else can be deferred to the next development cycle in an Agile process, where there is an opportunity to make faster changes. The difference between the common approaches and the same analysis through DevOps practices, is the availability of data. In his article “How DevOps is killing QA”, Yigal writes that there is some empirical evidence that DevOps is making software testing redundant, although it first needs automation of all tests and to continue deployment of software changes. This heavily relies on data provided by tools and users in realtime in order to maintain the quality.

Don’t forget the people part!

It’s very important to factor in people and their motivations. An environment where all team members feel safe and encouraged to raise their opinions and ideas and to strive to do a good job will result in quality software.

--

--

MEHDI Ali
The Telegraph Engineering

Program Architect at Salesforce UK&I. Interested in tech, startups, leadership and drones