Unfortunately, that practice has turned around to bite us. The business person who has felt rather "abused" after all these years, doesn't realize that their businesses have become so complicated it truly requires a great investment in capital to get a decent computer program written these days. Subsequently, they continue to operate on what the industry refers to as "legacy code" that is doomed to collapse like the proverbial house of cards.
The proper design of a computer system is infinitely more complicated than it was when I started putting David's brain into that micro-computer back in 1981. To begin with, even if we had the knowledge we have today, the tools to design a system in the proper fashion did not exist until much later. And the reason the tools didn't exists was partially because the computers necessary to create and run these tools had yet to be invented. It wasn't until sometime after the year 1990, an affordable computer system capable of running properly designing computer software, made its debut in the marketplace.
Another reason computer software was designed improperly in those days was because computers weren't fast enough and large enough to run a properly designed program. So you ‘danced with the guy that brung you’ so-to-speak. Example: I always maintained two versions of my programs: One for the bulk of my customers and another for those who preferred innovation over just having something that worked. Maintaining computer programs is similar to handling explosives. One little mistake can blow up in your face. This makes it more and more difficult to give clients what they need without telling them they've got to spend more bucks on their computer.
As a rudimentary example of how things changed, payroll data was stored in most computers in summary form. For example, an employee's check consists of several bits of information… the check itself, a deduction for federal withholding, FICA and Medicare, child support, and as many as three or four different pay-rates. In the convenience store business, a single employee might work at several different stores. Keeping track of all this detail became a serious problem.