In my experience, most projects fail because they don't properly deal with project risk. Project risk refers to the issue that a team will fail to meet some or all of a project's objectives. Risk is defined to be the product of an event's likelihood of occurrence times its severity. Risk is always about the unknown. There are many different kinds of project risk, for example:
- Resource risk
- Technical risk
- Schedule risk
- Business risk
Risks are always about the unknown, and risk mitigation activities, known as spikes in Agile literature, are work undertaken to uncover information to reduce risk. For example, a technical risk might be that the selected bus architecture might not have sufficient bandwidth to meet the system performance requirements. A spike to address the risk might measure the bus under stress similar to what is expected for the product. Another technical risk might be the introduction of a new development technology...