“We are not a software company!”, is a phrase I have heard a lot of times. Sometimes I heart it in exactly this wording and sometimes hidden behind some nice words, explanations and epic speeches. The problem is, companies telling you something like that are software companies already. What people try to say is: “We do not sell software to customers.”. But, the real meaning is: “We do not need tools, processes and QA like companies who sell software to customers.” It is in most cases only an excuse to not do something important, meaningful, but maybe expensive. Please, let me disagree here…
There are two major issues with that sentence: The first is to distinguish between companies who sell software to customers as either box product or service, and one self. This distinction is correct and in most cases obvious, but it does not have any meaning with the second point, when it comes to the explanation that something is not needed in software development because of that. The second issue is, that the need to do some QA or something else is a business requirement and not a need by the customer itself.
The big problem is to distinguish only between software products which are directly relevant for revenue and those who are not. For box software and services directly sold to customers, it is obvious that this software is a product and for most people it is very important to assure quality for the customer. But, when it comes to software used only internally, some people come to the conclusion, that QA, certain tools and procedures are not needed.
Internally used software has one major motivation: It saves money! It is not making any revenue, but it increases profit by cutting losses. What a motivation!
The financial savings come from saving time, making better decisions, better monitoring to reduce defect costs and waste and many more… But, why do QA there? Because, software not checked may increase defect rates, produce wrong data which leads to wrong decisions, may perform badly what increases wait times and reduces through puts… And there are much more negative influence a software may have. Think about testing some security functionality which should prevent the own intellectual property from being stolen?
Issues in in-house software may lead to serious trouble, to increased costs and reduced profits by not influencing the revenue in any direction. So, why do a lot managers only focus on revenue?
As soon as a company is using software which is created internally, there is a strong motivation to do proper QA. The business may depend on it more heavily than expected…