极客时间已完结课程限时免费阅读

10 | 项目延期了,作为负责人该怎么办?

10 | 项目延期了,作为负责人该怎么办?-极客时间

10 | 项目延期了,作为负责人该怎么办?

讲述:丁婵

时长06:28大小2.96M

关于这个话题,我们先来探讨一下,为什么项目会延期。
只要你参加软件开发项目,无论是作为新人,还是作为带新人的老手,或多或少都会经历过项目延期。即使你工作很多年,成了行家里手,做得都是详细的项目计划和估算,但在项目进展的过程中,总会出现一些偏差和意外。偶尔有幸运的时刻会提前结束,延期完成,甚至是项目烂尾也是很有可能的。
为什么项目这么容易延期呢?
这是因为人们在历史长河中累积的经验失效了。
到目前为止,计算机科学只出现了短短几十年的时间,人类很难按照以前的经验对项目进行判断和预测。看到一个人在操场上慢跑,你很容易能判断出来,这事儿不难,因为你也可以去操场慢跑。看到一位百米选手跑进了 10 秒,你就会知道,这事你拼了老命也做不到,难易立判。
但是一到了编程的范畴,你甚至很难从敲击键盘的速度上分辨出哪个是优秀的程序员,哪个是打字速记员。是的,搞速记的人,敲键盘的技巧可能会更加纯熟一些。
同样,我们可以从物体形态的大小、结构的复杂程度上作出判断。
我们一定知道,修建一座小桥的难度和工期会远远小于一幢摩天大厦。因为物理上形态的区别和感官上的认知,总能让我们的大脑去做出正确的判断。我们很少失误,几千年来,我们的基因就是这么告诉我们的。
但是,软件没有物理的概念,它既没有体积,也没有面积,更没有速度。你写了两万行代码,你的硬盘也不会重一点,10M 的代码,也不一定会比 1M 的代码好用。
技术项目更是很难简单从表面获知其复杂程度。打开 Google 的官方网站,我们看到的是个搜索框,这个简洁的搜索界面,就是整个 Google 帝国的入口,是浮出海面的冰山一角,隐藏在下面的则是数以万计的工程师和庞大的服务器集群。
即使你是经验丰富的工程师,有时候也很难从一纸需求上确定较为准确的工期。
那一旦项目延期了,该怎么办呢?
先问自己几个问题:为什么项目延期了,你是什么时候第一次感觉到项目可能会延期,在此之后你做了什么?
有些时候,项目延期是因为一些不可控因素,比如产品上加了特性,原有的需求变更了 —— 当然,这是经常发生的事;比如人员减少了,或者预计增加的人员没有到位;比如项目组的人员被拉去做另一个项目同时还要兼顾原有项目的任务。
有的时候,项目的延期,是因为负责人没有做好计划,或者这个计划没有很好地分享给每一个对项目进度有影响的人,也就是项目干系人。又或者,当偏离计划的事情发生时,你没有在第一时间做出好的应对措施。
对于不可控因素,我们能做的并不多,只能权衡取舍,对项目期限、人员或者需求范围做出调整。
如果是计划本身的问题,或者是因为项目成员没有很好地跟进同一个计划并保持一致,那我们应该尽最大可能避免这些问题的发生。
一旦发现项目延期了,应该有哪些具体的应对措施呢?
怎样才能做到这一点呢?下面的几个策略是我在工作中经常使用的,对你也许会有帮助。
建立一定的流程。这里包括计划制定流程和计划跟进流程,也许是每周一次的同步会议,也许是一个共享的任务管理工具。不要过分相信自己随机跟进的能力,哪里出了问题就去处理问题,很多时候会陷入救火队员的困惑,手忙脚乱,有的时候还会错过最好的时机。
在整个项目计划中,要有明确的优先级。知道哪些任务是非做不可的;哪些任务是别的任务所依赖,需要提前完成的等等。人们往往有先处理简单任务的惰性,如果没有搞清楚轻重缓急,那就有可能出现不太重要的杂事都做完了,而重要的事却没有太大进展的情况。
制作一个共享的项目状态表,让团队成员可以一眼就看清楚项目进展,并保持该图表的更新。进度表可以作为大家对进度评估的工具,也可以是负责人判断哪里需要重点跟进的依据。确保这个计划是每个主要相关者都确认并同意的,并在同意后让他们每天都能看到这个计划的所有更新。
不要漏掉任何一个人。不要觉得暂时还没有他的活儿,可以先不用跟他沟通。当一个项目的计划落实后,应该第一时间让所有相关的人了解到。临时通知会让合作者或帮忙的人没有参与感,并且很容易因为对方没有提前准备在时间上无法达成一致。
提供一个有效的反馈渠道。任何人在任何时候对项目有担心或者质疑,确保他可以通过有效的途径让你第一时间知道他的担心。
如果能做到这些,每个人都会有参与感和使命感。一旦出现项目延期的情况,我们就能非常清晰地知道是哪个环节出了问题,能迅速地意识并了解这个延迟对整个项目产生的影响和后果,并在第一时间调整需求、计划、人员,重新让项目回到正确的轨道上。
如果做了所有能做的,项目还是延期了 —— 这种情况时有发生 —— 我们需要尽早和上级沟通,让他们了解为什么延迟,自己做了哪些努力,还需要哪些资源或者做出什么样的调整才有可能赶上预计期限,是不是一定会延期等等。
当你的沟通内容中有了这些详细的描述,相信上层能够体谅你和当时的项目状况,并给予你最大的帮助和支持。
互联网时代瞬息万变,不变的永远是变化,只要我们参与软件研发,总会遇到项目延期的情况。
今天我和你讨论了项目为什么会延期,如何避免项目延期,一旦发现项目延期了,应该有哪些具体的应对措施,遇到了这种情况怎么办?
建立流程、划分优先级、同步进度、实时反馈。采用了今天技术管理课中讨论的方法,你很可能会避免或挽救一次延期的灾难。如果没有,相信也可以帮你总结经验,避免同样的延迟发生。
如果你有更好的建议或想法,也欢迎给我留言,我们一起成长。
分享给需要的人,Ta购买本课程,你将得18
生成海报并分享

赞 8

提建议

上一篇
09 | 每个工程师都应该了解的:大数据时代的算法
下一篇
11 | 管理和被管理:期望值差异
 写留言

精选留言(30)

  • 精卫鸟
    2017-12-04
    1. 尽量充分考虑项目所有干系角色所需的时间 2. 尽量充分明细所有技术细节,难点,避免盲点 3. 过程中保持沟通流畅,目标明确,提前预警 4. 总评估时间的50%节点,再review目标没有偏离 5. 总评估时间的80%节点,要开始筹备发布所需 6. 一定力度的按住产品经理和霸道总裁… 历史的经验告诉我们,做到以上几点,你还是会延期,只是相对可控那么一丢丢…
    展开
    共 2 条评论
    51
  • 金鹏
    2017-12-04
    项目要有建立明确的规则,指定关键节点和里程碑。比如code complete、code freeze为关键节点,在节点规定的时间要完成的任务。 安scrum的流程,每天的站立会,汇总项目进度以及遇到的问题,可以所有人同步信息,动态调整; 复杂问题预演,对与复杂问题,一起讨论实现架构,技术选型以及方案,以及plan b,尽可能的把问题暴露,解决思路清晰; 最后,PM的需求可以调整,就像RD写程序也有bug,但限定期限,比如评完需求的3天内可以适当调整,否则本期不接,并入下期。让产品也提升自己的业务水平。 以上都是手段,在开发中,多沟通是最好的方法。
    展开
    共 1 条评论
    9
  • 刘剑
    2017-12-14
    技术开发阶段的延期主要原因可能有 1、业务定义原因:产品定义不清楚,pm与rd理解不一致,产品设计不完整或有缺陷在开发阶段被发现,临时变更需求,临时更改设计等 2、技术问题:出现架构时没考虑到的问题,技术联调不顺畅,解决某个复杂问题消耗大量时间 我们团队过往来看第一个原因导致的延期是更多的,解决办法是“产品先行”,项目周期里给产品设计更多的时间,技术参加产品方案评审时要走心;第二个原因主要通过引入技术概要设计与评审的流程以及划分清楚优先级解决。 其实就是课件中的“建立流程、划分优先级”部分。
    展开

    池建强回复: 关于项目延期其实没有更好的解决办法,就是靠经验和磨合。我带过很多团队,初期组建团队都有个磨合期,有的经验多些,有的冲劲大些,但都很难精确把控项目进度,除了采取文章中的内容,还需要磨合,尝试,最终才能让项目进度处于可控的范围内

    7
  • Zero
    2017-12-04
    安姐,今天的主题能否指导下实际工作如何操作吗。项目同步会议后,用什么工具和方法记录大家的任务进度情况,更有效果?能达到一个是更及时准确的知道项目实际情况;和让组员对自己进度负责。 还有一个问题是,对于技术出身,刚开始带团队,我们需要注意什么,有什么学习路线吗?
    6
  • huangzhimim
    2017-12-18
    我们项目采用了快速迭代开发,正好符合文章所说的
    3
  • mark
    2017-12-05
    有没有推荐的项目管理软件
    4
  • 卡特
    2020-02-25
    我这么做项目管理 2周一个迭代周期,分5个节点 需求评审(产品,研发,测试,运维,运营都参与,提前消化需求和准备问题) 需求设计,切分任务(后端研发给出接口文档和mock数据,前端研发并行开发界面,测试提前输出测试用例和接口测试自动化脚本,运维ready服务器等资源,运营准备数据分析数据模型) 开发(输出上面的东西,pm验收,单元测试,接口测试通过,主流程界面冒烟成功,提测) 测试(解决集成测试问题,工程师推动解决) 发布确认 运营数据分析,监控数据分析 然后就是每天晚上同步进度,盘点项目进度风险,推动进度,解决风险 风险如果是不可抗力因素,申请延期或移动部分功能点到下个迭代周期
    展开
    1
  • gevin
    2018-03-20
    本文提到的做法,项目延期时要这么做,项目不延期同样也要这么做,这样虽然不能保证项目不延期,但至少自己感觉好像让项目节奏可控了😂
    2
  • 长不胖的Garfield
    2017-12-04
    我们在产品迭代过程中几乎总是延期,也采用了各种手段,譬如每天检视、遇到风险减少任务内容;但是经常性地任务要交付时,对应的同事才说因为什么原因无法完成,这种情况一直困扰着我们,不知道如何避免……
    2
  • 黄无由
    2017-12-05
    做好风险识别和风险管理
    1
  • ibrothergang
    2017-12-04
    软件的开发过程往往存在很多不确定的因素,就想艺术创作一样,有些时候不是简单的 1+1=2 的问题。一般重要或者紧急的事情,每天都会有一个站会大家互相沟通下项目进度。加强沟通,信息对称,无论是能按时还是 delay ,负责人做到心中有数是很重要的。
    1
  • Chang
    2017-12-04
    大家觉得计划的流程如何表现会更好?甘特图的方式?用白班和软件工具哪个好?有没有推荐的工具
    1
  • 图南日晟
    2017-12-04
    写的很赞,大多情况下,项目进度沟通会相关的流程能够明显的预测到项目延期的风险,有时候是迫于一些压力造成只能继续往前推进,而没有有效的措施。比如,项目上线时间已定,而时间是上层强行安排的。
    2
  • 杨明
    2021-07-26
    1、建立流程,充分考虑所有干系人的时间; 2、划分优先级、重点优先,明细所有的技术细节难点; 3、及时同步进度,50%节点;80%节点; 4、实时反馈。
  • 秦久霖
    2021-06-11
    建立流程、划分优先级、同步进度、实时反馈。
  • 2021-02-01
    我很赞同课程中提到的几个关于延期的问题。项目为什么会延期(客观还是主观原因?)多问几个为什么,可能就有解决办法。毕竟项目的定义本身就是在有限的资源下完成指定目标。
  • hao-kuai
    2020-10-15
    延期才是常态!
  • 何慧成
    2020-08-05
    现在用的电子看板,以及过程中的dod管理,每日跟进进度和瓶颈,并以各阶段dod来定义里程碑达到的要求。但在前期细化评估改动内容和难度评估,甚至在范围和技术细节方面还存在不足,另外一方面是环境问题也容易导致阶段性任务滞后。对于一个团队来说,特点基本上是固定的,历史由于某个原因发生了延期,那么后面也有大概率发生,也可以作为后续计划安排,过程监控的重点。
  • Ric
    2020-04-18
    消極一點的說法是,在軟件開發這一行業裏,客戶已經習慣項目延期了😂
  • kevenxi
    2020-04-15
    因为疫情,还是还好有疫情这个说辞,项目上线延迟了!现在进入一种焦灼状态,项目上线的准备工作很对没有完成,每天还要面对各种例外“杂事”,真要好好想想,该怎么应对! 1、梳理项目上线事项,安排到人,完成时间,以及优先级。 2、解决上线的各种外部障碍,相关方,接口等 3、排好上线总控表,每天跟踪和分享进度。 4、如果确实不能到期上线,也不要强求保障上线,如实反馈,否则要背锅。 多想方案,而不是问题!Being proactive! To be proactive,start taking action,embracing your responsibility, and controlling your responses. By doing things such as anticipating your future and focusing on solutions instead of problems,you'll maintain a happier and more proactive outlook.
    展开
    1