Here's an interesting article on software development/deployment problems. The most instructive part, to my mind, came about half way down:
Big software projects -- whether to manage supply chains, handle payroll, track inventory, prepare finances -- tend to begin with high expectations and the best intentions. They're all about efficiency, reliability, cost-savings, competitiveness.
Companies might develop their own programs internally, outsource the job or buy from a company such as SAP AG, Oracle Corp. or PeopleSoft Inc. Regardless of the route, it's usually a major undertaking to get things right.
Often, however, the first step toward total disaster is taken before the first line of code is drawn up. Organizations must map out exactly how they do business, refining procedures along the way. All this must be clearly explained to a project's technical team. Security workers look at posted flight delays at Los Angeles International Airport caused by a radio system outage in September.
"The risk associated with these projects is not around software but is around the actual business process redesign that takes place," said Bill Wohl, an SAP spokesman. "These projects require very strong executive leadership, very talented consulting resources and a very focused effort if the project is to be successful and not disruptive."
Those kinds of projects tend to fail for a simple reason - you can't solve a political problem with a technology solution. If you attempt to roll out a large system that assumes you will change processes to match it - then you're going to run smack into tons of internal, internecine political issues. It's much harder to convince an organization to change than it is to create software that adapts itself to the existing system. Not to mention that it saves you the political headaches...