1) Failing to design for rollback
2) Confusing product release with product success
3) Assuming a new Product Development Life cycle (PDLC) will fix issues with missing delivery dates
4) Allowing history to repeat itself
5) Scaling through third parties
6) Relying on QA to find your mistakes
7) Relying on “revolutionary” or “big bang” fixes
8) Not taking into account the multiplicative effect of failure
9) Failing to create and incent a culture of excellence
10) Not having a business continuity/disaster recovery plan
Source & more detail : http://gigaom.com
thanks for www.CodeProject.com for the link