Enjoy today's guest post from PSC Vice President, Rob Cross!
For over a decade PSC has analyzed and scrubbed code for quality defects. Yet, it’s almost a standing joke in the industry that software quality is still a “nice to have” and not a “need to have.” For example, we recently met with a prospective customer who, during the initial meeting, informed us that he knew his organization’s software had many flaws in it. However, sales had not been negatively impacted and customers were okay with being inconvenienced by buggy software as long as they had access to great support, where their voices could be heard and problems eventually addressed. If this example is as irritating to read as it was to write, then you have some context for what happens next.
Me: Guys, I understand you’re doing what has always been done in the past, but eventually such practices will catch up to you. Perhaps you should seize the opportunity to build more reliable and secure software. This would help you to to strengthen your brand and increase engineering productivity and efficiency, leading to higher profits and less risk.
Prospect: We’ve made investments in the past by buying several tools for our engineers, which provide us with defect information.
Me: So you have trained every engineer in how to use the tool, purchased enough licenses for all of them to access the tool, integrated use of the tool into your processes, hired an administrator for the tool, have regular training sessions for the tool, developed or subscribed to a coding standard, produced reports capturing the flow and accountability of the data throughout this process and provided management a view into this so that they can make decisions? Is that what you mean? And one more thing, how do you get a guarantee from your engineers that they will never compromise on this process?
Prospect: The reality is that we put up a good fight, but our engineers are stretched too thin. The only thing that is guaranteed around here is that our engineers will be distracted daily with fire drills from our support team to fix a critical defect found by our customers. We don’t have the time, focus or energy to do the stuff you’re talking about, but we make the best effort.
After explaining that PSC does all of the above as a turnkey solution and guarantees the results, the prospect decided that it didn't need help for now. With its next huge release scheduled for the following month, it felt that it couldn't spare the cycles.
Quality is Really Boring
I understand looking through your own code is not fun. That’s why every writer has an editor. Writers love to create new things for people to experience and hate reading their own stuff for quality or issues – but there is still a process in place for oversight. Why do we treat our software developers any differently?
If you gave a software engineer the option to work on the next new “hot” release or spend the next two weeks peer reviewing software from the last release, which do you think he or she would choose?
Quality might be boring; however, its importance is core to a company’s brand in every way. In many cases, your software is your brand because it powers the products or delivers an experience your customers will remember and associate with your brand. It costs your company millions of dollars every year to acquire new customers and keep your existing ones, but you can lose them in less than one software glitch.
It is sometimes a tortuous existence being an advocate for software quality, but life doesn’t have to be that hard. There is a company out there willing to help. If the above story sounds familiar, please give us a call.
PSC, Vice President