Development, like politics, is a metaphorical room where you're amazed at just how many elephants can fit simultaneously, and yet be ignored. These elehpants are conjured through some central, unanswered questions. A former Bank employee friend of mine has a fine one, for example - ask any Bank defender how the incentive structure for determining loan recipient validity and reliability works when the loan agent is encouraged to issue loans, and the recipient doesn't have the option to default without serious global consequences.
Another question is the morality of development. Think of psychology or anthropology, and the extensive, exacting processes these professions have to approve studies involving humans, ensuring the safety of the subjects, measuring risk and making sure the subjects have been clearly educated on, accepted, and signed off on any risks involved. Now compare this to development, where entire nations are subject to the economic theory de jure, with, if they're lucky, pilot projects (which, if they're really lucky, are quantitatively measured and evaluated before being used as blueprints for a larger strategy). This new book review at the Boston Globe discusses this with an example of the response to the 2005 Pakistani earthquake, and problems in distributing aid to remote regions (or, indeed, effectively at all). An organization tried to implement a simple logging feature to get reports from aid agencies on where they were sending supplies to make sure that easily-accessible communities weren't over-compensated at the detriment to more remote areas. The response from the agencies was predictable - "people are dieing and you want us to fill out forms??"
This is a bit extreme on one hand, this was an unusual event, a disaster relief project, not your normal more organized development project, but at a certain level, the lesson still applies - yes, people are dieing, and guess what? they're also dieing because of your failure to organize. There are limits of bureaucratic inefficienies, but there are also inefficiencies in entirely horizontal structures with no coordinating effects.
This reminds me strongly of where software development goes awry in too many cases - the business addiction to urgency too often overrides the software development need for careful planning and forward-thinking organization.
In both software and international development, planning, testing, and strong, honest evaluation methods create better results. Similarly, the incentive structures are very hard to implement, as they take time and money while (profits, people) are being lost, so even though they "pay off" in the long run, it takes talented and willful management/policy makers to ensure that these structures are in place.
Making sure the code compiles and is bug-free is something that both the Microsofts and the World Banks of the world should keep an eye on.