错过截止日期的罚款/回应应该是什么?

Art*_*ldt 33 project-management development-process

作为一个相对较新的软件行业,我遇到了最后期限执行的问题:

回到学术界的田园时代,截止日期是学期结束,惩罚是一个定义明确的'F'(或当地的等价物).在现实世界中,我们需要制作当前和未来同行可以使用的代码,我面临截止日期到来,截止日期,项目仍未完成的情况.

怎么办?在一个极端,我们可以解雇所有参与者,另一方面,我们可以丰富地奖励所有参与者.

  1. 您看到哪些行为被视为错过截止日期的"惩罚",哪些最终会产生更好的代码?

  2. 什么项目管理响应导致项目彻底失败,

  3. 什么响应恢复了工作顺序并导致后续可以维护的代码?

  4. 什么回复导致更糟糕的代码?

Rex*_*x M 66

截止日期是关于如何进行软件开发的根本错误观点的一部分.新手或软件开发行业之外的人不理解这一点:

软件在完成后立即完成,不久之后.

如果一个开发人员有一个任务和一个星期的时间来执行它,并且它看起来需要一个多星期,那么就无法改变它.无论开发人员工作多么困难,无论有多少人加入任务,它仍然需要花费的时间(实际上添加人员通常需要更长的时间).

相反,请阅读敏捷开发过程.软件应该迭代开发,每次迭代应该基于前一次迭代的结果,而不是基于强加的外部要求.

根据以下广泛评论进行修改:

我永远不会说开发商不能满足某种交付期望.我的观点是对提问者提出的具体假设的回应- 商业软件开发的本质在某种程度上类似于学校作业或任何其他类型的工作.我认为绝对不是."截止日期"不仅仅意味着简单的交货日期.这是一个固定的点,必须完成一定数量的工作.软件根本不起作用.我写了几段解释原因,但老实说,如果你还没有相信,我说的任何话都不会说服你.

如果您正在开发一个软件项目并且很明显您将无法达到截止日期,那么您可以采取哪些措施来纠正这个问题?答案现在众所周知:几乎没有.你无法添加更多人.你不能"更快地工作".它不会按时完成.你告诉利益相关者,每个人都要调整,并继续工作(或不工作).那么原始日期是什么意思呢?

声称软件开发的任何人都类似于桥梁建设或家庭作业,或者如果开发人员只是把他们的狗屎放在一起工作他们的屁股,那么即将到来的最后期限仍然可以得到满足,他们对自己的专业感到非常困惑.

  • 我在大多数情况下都同意.软件在完成后完成.我不同意的是截止日期是根本错误的.桥梁在完成后完成,但它仍然有最后期限.诀窍不是完全消除截止日期,它正在学习如何使它们变得现实和管理软件,这样你就不会引入特征蠕变等. (34认同)
  • 我不同意软件在完成后不久就会完成.对我来说听起来像是一个女主角的艺术行为而不是那些依赖于估计期限等公司工作的人的行为...... (11认同)
  • 问题是,"完成"的定义是什么?特征 - 蠕变和范围变化可能是一个杀手 - 这是导致政府合同超支的原因.您不能禁止范围更改.你只需知道何时说不. (5认同)
  • @Rex M:软件开发人员只认为截止日期并不重要,因为他们从非商业思维中接近软件.管理包含软件的大型项目的人员需要知道什么时候可以完成软件.他们也应该(并且经常不会)知道截止日期是多么严格,以及他们可以做些什么来弥补它是否会被遗漏.他们应该接受"当它完成时就完成了,这就是我很确定它会被完成的时候." (5认同)
  • @David企业只认为他们需要截止日期信息,因为他们从非SD心态进行软件开发.我知道 - 我为一个庞大的企业组织工作.可持续发展的唯一最佳期限是如此荒谬的填充而且远远超出它根本没有截止日期. (3认同)
  • 截止日期,*n.*"监狱中的一条边界线,囚犯只能冒着被枪杀的风险穿越." 如果项目非常重要,如果在截止日期不完整就无法杀死/搁置,那么设定截止日期对于没有真正控制正在进行的工作的人来说只是感觉良好的繁忙工作.否则,您只需要预测完成日期以帮助安排,您可以在需要时轻松更改... (3认同)
  • @Travis是失败的秘诀.你的情景并没有改变真相,只是意味着更大的现金现在面临风险.任何依赖软件开发的系统都应该按照软件的进度进行分阶段.无法组织软件以响应外部需求.许多人尝试,除了失败之外的任何事情都是幸运的. (2认同)

ang*_*son 36

您的第一反应不应该是为了回应错过的截止日期,而是要分析您错过截止日期的原因.由于这个原因,对错过截止日期的回应将自然而然地跟随.

例如,如果所涉及的每个人都没有完成他们的工作,那就解雇他们.

但如果他们完成了自己的工作,那么为什么还要错过呢?同一个人做了太多其他活动?截止日期的范围太大(即不切实际的截止日期).或......等

在我的经历中错过最后期限的最主要原因是人们不允许100%在手头的项目上工作,因此您可能拥有的任何估计虽然准确无误,但根本没有用.那,加上不切实际的估计和截止日期.


Jer*_*iah 20

开发商永远不应该因管理层的错误而受到惩罚.

这就像父母惩罚孩子,因为父母有一个糟糕的一天.

推理:

截止日期是生活中的事实.人们想知道需要多长时间.我们能做的最好的就是估计/猜测.管理层的角色是试图想象这个神奇的,永远不正确的猜测.当他们创建截止日期时,他们需要使用正确的工具(经验,请求开发人员帮助,律师,人力资源等)

然而....

错过最后期限的处罚应该落在工人身上.错过最后期限是管理层的错.他们应该说不,应该缩减项目或者应该更好地激励工人.

在施工人员中,如果你惹恼工人,你就会开始战斗.在我的公司,如果我们错过最后期限,管理层会遇到麻烦.不是工人.控制项目和完成工作是管理者的工作.工人们只是尽他们所能.经理负责分配角色和任务.

我不是说工人的素质不是一个因素,但管理层应该知道!知道一个项目没有经过深思熟虑或控制得很好,这并不是一个天才.问问任何人他们的经理是否知道发生了什么,你会发现问题.

当管理人员意识到设定/同意截止日期是他们的错误时,我们不再错过最后期限.

</rant>
Run Code Online (Sandbox Code Playgroud)

回复:问题:

1.你看到哪些行为被视为错过最后期限的"惩罚",哪些行为实际上让事情"变得更好"?

  • 经理责任较少.这个人没有得到晋升或公开表示感谢.很可能这个人将被转移到一个"不那么关键"的项目.

2.什么项目管理响应导致项目彻底失败,哪些响应恢复了工作顺序并导致代码可以在以后维护?

  • feature creep:manager继续在列表中添加更多内容.< - 使用按优先级排序的任务列表来解决此问题.当您向列表中添加内容时,请将它们的优先级与周围的内容进行比较.让新事物更难被设定为"头等大事".
  • 代码中存在太多错误:Manager需要测试(至关重要)和自动化.构建需要标准化和自动化.真正的用户需要在"完成"之前查看代码.
  • 不可读的代码:研究所同行代码审查.如果某人有脏代码,请让某人用项目"帮助"他们.
  • 如果您有销售人员问题,销售人员承诺不存在/工作的功能:管理层需要介入并向该销售人员解释问题.此外,没有给予销售人员公开肯定的工作做得好有时有助于此.


Pet*_*ete 18

实际估算和奖励按时发布,而不是惩罚?


受到对我的回复的评论的启发

也许问题应该是"我如何做出切合实际的估计?" 对我来说,我使用FogBugz 估计历史完成日期图.这些给出了我估计要完成任务的时间和实际花费的时间的数据点.这有助于指导我从长远来看实际的发布日期(它不会在一夜之间发生).我发现估计时间表是一个交互过程:我

  1. 设计
  2. 估计
  3. 开发
  4. 找到设计中的缺陷并重复.

  • 它永远不会发生.(仍然很好尝试大声笑) (4认同)
  • 我没看过那些.我只是好奇,他们是否涵盖了这样一个事实,即估计所经历的每个中间人都会缩短它,有时会显着缩短? (2认同)

Uri*_*Uri 14

取决于开发人员是否在每个修改请求上设置截止日期,或者管理员是否为他们设置了这些截止日期.

在后一种情况下,除非您的所有开发人员都坐着并且整天玩Halo 3,否则错过的最后期限往往表明管理层或团队领导者的错误.因此解雇所有人都无法解决问题.在您的软件过程中引入更好的指标可能是有意义的,这样您就可以看到截止日期很早就会错过.

如果您的开发人员确实给出了时间估算,那么我会非常小心奖励和惩罚开发人员以满足截止日期或错过他们.这样做的结果可能是他们会在时间估计中调整他们的"软糖因子".他们会给自己太多的额外时间(获得奖励),如果他们擅长估计会让事情变得混乱.您的目标应该是让他们提供良好可靠的估算,而不是改变他们的工作方式来满足这些估算.


Don*_*oer 14

死亡.干净简单.

  • "你上一个项目团队怎么了?" "哦,那些可怜的儿子......那不重要.重要的是,我需要一支新团队" (20认同)
  • (-1)应该是评论. (2认同)
  • 感谢您执行规则.不希望事情失控. (2认同)

Dam*_*ien 11

这取决于最初的截止日期是否可行,可能是规划和估计需要多长时间的错误.在决定处罚之前,请确保你知道截止日期的原因


Mik*_*vey 7

天啊...

首先,有外部截止日期和内部截止日期,它们应该是不同的.

内部截止日期发生的事件是随着截止日期临近,活动频率增加,在截止日期达到峰值,然后随着截止日期的消退而下降.因此,计划外部截止日期至少在几个星期内遵循内部截止日期.

然后,确保截止日期是现实的.部分是通过让开发人员参与设置它们以及决定将要完成什么来做到这一点.

最后,我主要是一名开发人员,但有一次,当我接受管理时,我绝不想将最新版本的版本带入会议或演示文稿.我想要一个至少几个星期的版本,我知道问题在哪里,我可以肯定不会包含令人不快的意外.


smo*_*ok1 6

在他关于项目管理的精彩书中 - "截止日期" - 汤姆德马科告诉我们一个故事,关于来自西方世界的项目经理正在管理一个虚构的后共产主义东欧野生国家的项目(狂野是一个非常好的术语,因为公民有点......不文明).
有一天,PM发现,出了问题,他的项目的某些部分突然错过了不切实际的时间表.前任总理仅仅通过将责任人挂在屠夫的钩子上而确定了对失踪期限的处罚,但由于时间表不切实际,一个人已经错过了截止日期.
所以这个故事告诉我们一天,当西方式的PM出现在一个负责任的人身上时,他应该让他被绞死在屠夫的钩子上.正如大多数人所做的那样,PM害怕将某人判处残酷死亡的愿景只是因为有些人无法及时完成他的项目.并且 - 无论如何 - 挂这个可怜的人并没有推进这个项目.由于这是关于项目管理的小说小说,而不是关于折磨,我们的英雄取消了惩罚.
但是这个故事背后有一些关于悬挂某人的大问题:如果你设定了截止日期,并因错过这个截止日期而设置了某种惩罚,那么这一天将会到来,你可能不得不实际惩罚某人.你会这样做吗?无论惩罚是什么:悬挂,奖金损失,解雇,破坏交易或一些费用 - 你可能必须惩罚某人.这种惩罚会对你的项目有所帮助吗?你必须自己回答.
所以:不要因错过截止日期而设定罚款,你不会想要执行......


Mar*_*ark 5

正如其他人所提到的那样,在谈论处罚之前,先从"我们如何确定这些截止日期是否切合实际"开始?

或者正如我的老板曾经说过的那样,"当你给我们一个有效的计划时,我们会很乐意制定计划".

我仍然认为应该穿上T恤.