There are several primary reasons why projects fail. What follows below is a listing of the top ten, along with some basic explanation for each point. The project is too rigid and doesn't allow changes which are required by the users. The project is not rigid enough and constant changes by the customer prevent the final product from being completed in a timely manner. Expectations are unrealistic.
Timelines are unrealistic.
The project is too large to be managed successfully. No testing or too much testing is done. The wrong tool is used for the job. The project doesn't respect its members. Many of the next tenets are designed to address these issues.