Obsessed with software quality.

Primer

Here comes a brand-new tinted post that takes a jab at software quality. Why do we need to be undeniably paranoid about quality? And why failure to deliver quality software is horrendously equivalent to failure in project & intent? Also, the cost and consequences associated with poor quality. I draw various references to solidify my case for being quality obsessed. Along with that throw an angle of discussion from the programmer’s perspective and lessons from the dugout. This post is primarily intended for software folks from QA to CEO and all the great people in the middle.

Exorbitant Cost

The cost of failure due to subpar or inferior quality with glitches can be as simple as losing a customer base or reputation or losing profit margins and as extreme as going bankrupt. Please refer to the small sample (Figure 1) of the fiasco that is hit by software glitches.

Figure 1

In a recent report, software-testing company Tricentis analyzed 606 software fails from 314 companies to better understand the business and financial impact of software failures. The report exposed that these software failures affected 3.6 billion people and caused $1.7 trillion in financial losses and a cumulative total of 268 years of downtime. You can say it doesn’t cost my life and hence why should I be paranoid. Read further- there are numerous instances of fatal plane crashes due to bugs in the control system [Boeing].

Perspective from Programming Trenches

Now the question that begs an answer is how does programming, in general, can improve the quality of software. I remember reading a book named Pragmatic Programmer and it’s still green in my mind about a concept called “broken window principle”. It’s about how a normal habitat inside a city unwittingly drifts into a chaotic ghetto after a window in one of the apartment houses gets vandalized, and that soon deviates into a series of further vandalism and finally culminates to the underbelly of the city. I believe that the programming ecosystem is like this too – a minor code smell if unattended can veer off direction into something like a chaotic ghetto. As developers, we must pay attention to not just “conformance to requirements” but also to the “code hygiene”. 

Solution & Conclusion

Code is the most important asset for any software IT company. The Google codebase includes approximately one billion files and has a history of approximately 35 million commits spanning Google’s entire 18-year existence. The repository contains 86 terabytes of data, including approximately two billion lines of code in nine million unique source files. In terms of the largest single product, that’s probably Microsoft Windows at 500 million LOC. Develop a checklist for coding hygiene and make a point that the company/team grasps the essence. And put in place code hygiene police task force that evangelizes/ educates/ conduct a frequent seminar and conference/ moderate review process etc., to spread the idea and weed out the bad practices.

Leave a comment