错误的估计和不当的评价标准
无软件历史数据和度量数据
没有使用正式的配置控制
手工设计和规格说明
非正式和不充分的测试
没有使用自动化的评估工具
没有使用计划工具
缺乏跟踪、对里程碑缺乏监督
架构问题
开发方法问题
不正确的使用开发语言
忽视对数据库元素的定义
各种评审工作不能切实有效
没有正式的风险管理和跟踪
缺乏需求管理、需求偏差过大(大于30%)
对已经验证的资产复用太少或没有复用
过度的复杂性
缺乏内部沟通
缺乏外部沟通
未处理好客户关系
各个关键岗位上的人员经验不足
使用多面手完成关键任务
策略上整个团队未达成一致