According to an IBM study (http://www-935.ibm.com/services/us/gbs/bus/pdf/gbe03100-usen-03-making-change-work.pdf), only 41% of projects meet their schedule, budget, and quality goals. The success or failure of a project largely does not depend on the technology, but the people involved.
Imagine a software project where every developer is always aware of all the intricacies of the decision making process that goes into every part of a project. In this ideal world, a developer could always make an informed decision and provided no developer wants to actively harm the project, the decisions will be reasonable. If an incorrect decision is made, it will not cause a huge problem in the grand scheme of things because the developer who touches this part of the project next will know what to do to fix it and will also be aware of all the dependencies involved. Such a project is highly unlikely to fail from a project perspective. The sad truth, though,...