Skip to main content

Software Quality Control: Why should I care?

Michail Papamichail

Michail Papamichail

CTO @ Cyclopt

Quality control is not simply a bunch of numbers: it is a trigger to call-to-action based on data-driven evidence. But what can quality control offer?

software-control

To my perspective, the impact of software on our lives is reflected in the phrase of Watts S. Humphrey, the “father of software quality”:

“Every business is a software business.”

Although this conclusion came up almost two decades ago, today it is more timely than ever, as software is everywhere. Business, entertainment, hobbies, transportation, news, communication, education are only a few aspects of our everyday life driven by software.

Of course, as there has been a long time since recognizing the great impact of software, one could expect that software development nowadays is at its best. But, is that really the case?

What is the current status of software development?#

According to the Standish Group report only in the US more than $250 billion are spent each year on IT application development of approximately 175,000 projects. The numbers speak for themselves:

  • 31.1% of projects will be cancelled before they ever get completed.
  • 52.7% of projects will cost 189% of their original estimates.
  • Only 16.2% of projects are on-time and on-budget.

The observations mentioned above constitute an excellent food for thought. Despite the deluge of existing tools, frameworks, and methodologies, how can software development still fail? The answer to this question lies in the absence of systematic quality control.

Quality control is not simply a bunch of numbers: it is a trigger to call-to-action based on data-driven evidence. But what can quality control offer?

Successfully dealing with technical debt#

Software projects today are constantly getting larger and more complex, driven by the continuously increasing demands of end-users. As a result, setting the deadline for the development of new features to “yesterday” leaves no room for proper design along with the correction of “old sins”. This leads to a significant increase in technical debt. Applying systematic quality control enables early identification of a series of problematic situations and provides tangible solutions in a quantified manner.

More effective Project Management#

Increasing technical debt also has a notable impact on the development team itself. High technical debt decreases the productivity of developers. At the same time, it increases their stress as they feel responsible for occurring bugs or any other inefficiency of the final product. To that end, systematic quality control enables proper prioritization and balance between new features and the necessary code improvements. On top of the above, measuring different aspects of the source code (e.g. complexity, coupling, inheritance etc.) in a quantified manner also enables better estimation of the workload of the upcoming tasks and thus facilitates project management.

Increased customer satisfaction#

Quality control does not only measure how a software product is developed or designed, but also provides a full overview of how it operates in practice. As a result, quantifying aspects such as reliability, responsiveness and performance, offers valuable conclusions upon improvements that can enhance user experience, the cornerstone of customer satisfaction.

Over to you#

So, do you think quality control is worth the effort? Share your opinion with us on Facebook, Twitter, or LinkedIn — we are curious to hear from you!

In the next to come,
Michalis