Software – Expensive or Not
Software can be inexpensive or very expensive. The most expensive software is that which gives the wrong answer. The next most expensive is that software paid for that does not work. Software that give new insight into business operations can be very cost effective. All this requires good management of the software, its development process, and how it is used.
Software does not always give the right answer. We see this most clearly when trying to do a search. The many "wrong" responses show how wrong the search software can be. It may take several attempts to get a list of items we want to look at.
In business, we rely on the software giving the correct answer. Unfortunately, if the software has not been built, managed, and fed correctly, it may give good answers most of the time but give bad answers in certain circumstances.
There are many different reasons why a piece of software gave a bad answer. Reasons range from misuse of the software, programmer errors, bad data, viruses on the machine, to hardware breakdowns or even the rare gamma ray switching a bit. It is almost impossible to prevent all forces that cause software mistakes.
Software can be misused. Just like someone can use a wrench to pound in a nail instead of a hammer, a piece of software can be used in an environment that it was not designed for and not give correct answers in that environment.
If you run into software algorithm errors, that is generally are due to improper management of the software development. All software has bugs. Software developers don't always understand what is being asked of them. The software development management that has the responsibility to manage the development process so that it delivers the quality that the users need. The process needs to catch bugs as soon as possible.
With much software, the real reason that it gives bad answers is because it was fed bad data. Those in the computer field have a saying "Garbage In, Garbage Out" due to how many times the problem isn't the algorithm, but the data that was fed into it.
Bad data can occur in many different ways. There can be data improperly formatted, whole files can be sent to the wrong program, files can be missing data in fields or whole lines, data that has been converted into strange characters, or data put into the wrong column. Programs can be very picky about what data they can accept or loosely attempting to figure out what the data should be and modifying it according to some preset criteria. It is generally better to be picky about what data is acceptable rather than silently changing the given data and thus, deliver a false view.
Developing quality software takes time and resources. But done well, the effort generates a high return on the investment.