Nice article on some of the challenges of software development by Brian Kilcourse in CIO Magazine - Taming the Wild Child of IT—Application Development. There are some great quotes in it.
Software, and more specifically software development, is arguably the single most strategic component of IT. The conception, development and delivery of new applications, services and systems can be a powerful competitive edge. It creates market leaders, drives growth and expands the limits of what is possible for businesses and their customers.
Software development has become unmanageably complex as the scope of business applications has widened and enterprise environments have expanded to include the widely distributed mix of components and technologies it takes to power today’s businesses. Factor in constantly changing business requirements, competing priorities and limited communication with end-users, and the challenges that development organizations face are truly daunting.
Could not agree more. One of the reasons for the rapid growth in the business rules market, a core component of an EDM approach, is agility or ability to respond to "constantly changing business requirements" business rules can deliver.
If users are often unsatisfied with the functionality and capabilities of the applications you deliver, you may need to apply a little more structure around requirements gathering and management
Well here I have to disagree. This is often a problem but, to be honest, I think chasing better requirements is a false hope. Better to adopt approaches, and technologies, that let the business users be more integral to the development of the system.