1、需求不明确或频繁变动
虽然现在很多公司的项目开发规范里,都会有业务部门提需求,产品经理接需求,然后下达到开发人员。这里通过一系列的串讲,反串讲,反复确认需求,然后进行开发。
2、计划不充分
在项目开发中,需求方和接收方各自了解,但是因为不明确,或者频繁沟通,导致一开始制定的时间计划不够准确。
3、技术挑战
如果是简单的需求,按部就班就可以了。
但是,很多客户的需求都有一定的难度,然后客户又想着对标一些大厂的产品,比如用户体验对标苹果,这就导致一些高难度,高技巧的开发项参杂在里面。
因为,在项目实施过程中就遇到预料之外的技术挑战或复杂性,这些问题可能需要额外的时间来解决
4、沟通不足
项目开始前期,需求方,和开发方做了一系列沟通这个挺好的,但是当开发开始的时候,就突然失联了。
因此,项目团队成员之间以及与利益相关者之间的沟通偏少可能会导致误解和错误决策。
5、范围蔓延
理想的开发当然就是新来一个需求,然后照着这个需求进行开发就完事了。
因为这个需求,你动了历史代码中的一小部分,导致一整块功能执行不了,这就是所谓的牵一发而动全身。
开发过程中你都预想不到会有哪些事情发生,工作范围在无意中逐渐扩大,没有相应的调整时间表和资源。
6、客户参与度低
因为他们参与不足,会导致对于需求的理解不一致,或者统一决策花费更长的时间。
7、风险管理不足
很多时候项目开发不可能一帆风顺,在你开发的过程中,领导们会识别到各种风险。
比如版权风险,代码的安全规范,或者政策的改变需要进行紧急修改等等。
项目中潜在的风险可能没有被恰当地识别或管理,一旦这些风险成为现实,可能会导致延期。
8、总结
要有效地避免或减少IT项目的延期,通常需要改进项目管理实践,包括更好的需求管理、风险管理、沟通和资源规划等。
推荐使用敏捷方法、持续集成和持续部署等现代软件开发实践也可能有助于提高项目适应性和减少延期的几率。