4 ms·
Though I wouldn't necessarily take the same cynical route, I would reach the same conclusion: that enterprise software lives in a world dictated by budgets, adm
by kitd 12y ago
Though I wouldn't necessarily take the same cynical route, I would reach the same conclusion: that enterprise software lives in a world dictated by budgets, administrative costs, and politics. This shouldn't be so surprising though as IMHO the cost of a system failure increases exponentially with the size of the business. Bob & Brenda's online pet store going down won't make much difference to anyone. RBS's systems going down was top item on the main BBC evening news here in the UK. Bad PR and loss of goodwill in a major company can take years to recover.
As a result, the costs of running enterprise software massively outweighs the cost of buying it. Data centers are huge expensive beasts to run. Access to the systems & software is strictly controlled. Upgrades are deliberately made difficult to minimise the chance of untested changes going in. You are normally required to submit a timescale for how long it will take for you to (a) do the upgrade, and (b) rollback if the upgrade fails. Your slot will be (a) + (b) with no leeway. Failure to rollback correctly has serious employment ramifications.
You will also need to demonstrate how many FTEs are required to run your system, since the staff costs are the single largest cost in the ongoing cost of the system. This is partly why J2EE servers became popular. All typical enterprise services are normally in place already and administering one J2EE application is much like administering any other.
Ease of backups/restarts/hot failovers etc must be considered. Can you just get away with moving a transaction log or are there some convoluted and proprietary steps that must be taken?
Software development is my main job role, but I spent a year as a system architect for an oil major. It really was an eye-opener and I recommend it to anyone who wants to become well-versed in all the pressures and tensions involved in running enterprise software.