Digging a little deeper, the 12 risks are, in approximate order of danger:
- failure to understand software (e.g. process, costs, expectations)
- failure of team dynamics (e.g. dysfunction, lack of trust)
- failure of roles (e.g. realizing that software can never be completed without testing)
- failure of resources (creative, productive, effective people are rare)
- failure to specify (i.e. to understand, communicate, document the problem domain description)
- failure to architect (i.e. to create a solution that fits the problem)
- failure to design a software application (i.e. ad-hoc spaghetti design)
- failure to implement the software (unmaintainable spaghetti code)
- failure of quality assurance (reliable software results when testing time equals development time)
- failure of project management (e.g. management that demoralizes and robs the team of productivity)
- failure of technology (i.e. to select reliable technologies before the project starts resulting in technology churn)
- failure of tools (i.e. to select good tools before the project starts)
So, why would anyone start a software project?
Because with the right people on the job, all of these risks can be mitigated.
Some success factors are: Grasping the level of effort, Integrity, Team Leadership, Team Dynamics, Technology, Tools, Requirements, Design. Click here
to find out how to reduce these software risks to a minimum.