Robin Wilson wrote:
I think sometimes with these companies, they get a lot of income from paid support too so it may not be in their interests to make things easy to use or logical and maybe allowing things to go badly wrong is a "feature".
Robin, if it were my company, I would be putting top priority on reliability of systems and accuracy and safety of clients data for the simple reason that support is expensive to provide. I don't know but would not expect that many software houses actually find support to be a profit center unless they expend the effort up front on 'getting data right'.
Throughout my 42 years in IT I tried to base my efforts on the premise that support costs arise from how many support events must be handled. Lack of functional reliability and data accuracy would predictably lead to much more support effort, much more client dissatisfaction, and loss of future sales to competition.
Right now I'm sitting in my home office in front of windows looking out on a snowy day. Now, if one of those windows is broken, my furnace is going to run longer and more frequently to keep me at a comfortable temperature, and that is possible as long as I pay the heating bill. On the other hand, if I repair the window, I can have the same temperature result while saving on the fuel cost and discomfort.
During my 11 years of management responsibility combined with being a primary designer and developer, I found that fixing issues when they first occurred meant that I didn't have to spend time doing the same remediation multiple times. That's why it was so frustrating to be in positions where there was so little focus on maintaining existing systems and developers were not held responsible for their own code.
One of the greatest contributors to overall success is getting it right. Over the years I've seen any number of businesses fail, especially smaller ones, due to owners and managers failing to realize that constantly pulling resources out of a company while neglecting problems leads to almost certain failure.
One of my sons, the only one of four who is NOT in IT, started and owns an HVAC company with about sixteen employees. He knows that if they don't get service calls (support) right the first time, on the call back his expenses for travel, wages, and often even materials go on while he is not able to bill additionally for the second trip. This is even more critical in situations of built-in or contract support .
I often recommend a young developer called Sergiy who through his company Propersoft has created and maintains a group of very good financial data manipulation and conversion utilities. If I have a technical question that requires support, I usually get an email answer within a few minutes, and recently he provided a modification that fixed a problem that was not even with his software, all within a 24-hour time frame.
In contrast, one place I spent eleven years as a DBA was such that I propose the slogan:
"We may not be good, but we're slow".
Disaster Recovery = Backup ( Backup ( Your Backup ) )