【问题标题】:How do you handle scheduling/deadlines around programmers? [closed]你如何处理程序员的日程安排/截止日期? [关闭]
【发布时间】:2010-09-27 17:19:22
【问题描述】:

程序员喜欢设定最后期限吗?我是一名网络开发人员,在我的领域里到处都是时间表/截止日期。但是我和一些讨厌截止日期的软件工程师/程序员一起工作过,有没有办法解决这个问题?

【问题讨论】:

    标签: project-management scheduling deadlines


    【解决方案1】:

    首先,您需要区分最后期限和估计。

    • 截止日期来自外部来源,例如“功能 X 需要为展会做好准备”。
    • 估计来自内部来源,例如“功能 X 需要 N 周才能完成”。

    一般来说,程序员应该创建估算,而销售/营销部门会创建最后期限。

    当这两个问题无法解决时就会出现问题 - 如果截止日期比估计的更近。

    对开发人员(潜在客户)的有用提示:

    • 让工作人员创建估算值。
    • 确保估算基于微小的任务,每个任务不超过一两天。
    • 使用反馈循环让开发人员提高他们的估算技能。
    • 准确的估算技能可让您更加努力地完成最后期限的要求。

    对营销人员/截止日期创建者的有用提示:

    • 不要用截止日期覆盖估算值。
    • 如果截止日期与预估值冲突,唯一可行的选择是 (a) 开发人员加班,(b) 削减截止日期要求,或 (c) 错过截止日期。
    • 解释为什么截止日期很重要,以及功能截止日期的目的是什么(“客户 X 将签署一份六位数的合同”)。
    • 了解那些觉得自己无法按时完成任务的人不会有动力。

    【讨论】:

      【解决方案2】:

      程序员讨厌最后期限是有充分理由的!

      在你完成之前,几乎不可能准确估计一段代码需要多长时间来设计、编写和调试。

      根据我的个人经验,我花了一个多星期的时间让一个“简单”的 shell 脚本工作,我估计大约需要一个小时。另一方面,我花了大约一周的时间为 COBOL 数据定义(包括所有奇怪的 COMP COMP-3 OCCURS 重新定义 SYNC 和 slack 字节的东西)编写解析器,我估计大约需要两个月。

      另一个大问题是,面对紧迫的最后期限,程序员会跳过最佳实践并开始进行黑客攻击。从而节省了大约 50% 的编码时间,但增加了 300% 的测试和调试时间。

      【讨论】:

      • -1 我们的开发人员还需要改进我们进行估算的方式。这不是“几乎不可能”,需要练习。我几乎可以准确地估计一些任务,因为我确切地知道会发生什么,这要归功于我的经验。我不讨厌截止日期,因为它们帮助我专注于一个目标,我讨厌不切实际的截止日期为我的营销人员设定:)
      • 新手与否,当我为不熟悉的 bug 寻找新的解决方案时,我的老板不断催促我询问截止日期。如果我太诚实,那将失去我的工作。可以期待什么?我们是程序员,时间完全不匹配,因为一件事:过度思考。
      • 同意!你永远无法估计你以前从未做过的任务。估计 CRUD 网站很容易,但不能估计你必须研究的东西。在您知道如何做之前,您无法给出正确的估计。当我赶时间时也会发生同样的情况。我只是写了快速的代码,甚至没有进行基本的测试,然后重构了几天的烂摊子\
      【解决方案3】:

      传统上,您只能调整质量、功能或时间,最后一个是截止日期。你真的不想乱来的质量。因此,只要您使用的流程允许您校准功能以达到最后期限,我就可以。

      【讨论】:

        【解决方案4】:

        开发人员需要参与创建最后期限。如果它们是任意的并且在没有开发人员输入的情况下创建,那么他们有权投诉。项目合法地从业务中获得时间限制,但必须调整资源和功能以进行补偿。如果没有开发人员(更不用说 BA、QA 和运营人员)的投入,这些调整就无法进行。

        【讨论】:

          【解决方案5】:

          我见过的唯一讨厌截止日期的软件工程师/开发人员有这样的感觉,原因有两个:

          1. 他们完全杂乱无章, 并且知道他们不会遇到 截止日期,所以不喜欢它们 因为当他们错过最后期限时 这让他们看起来很糟糕。
          2. 他们没有 截止日期有问题,因为 只要有人懂 所涉及的工作是设置 最后期限。最糟糕的最后期限是 经理们试图出售 项目并说“3周?不 问题!”然后告诉他们 他们拥有的开发团队 3 几周来制作一个工作版本 MS Office 并重新创建 为 CEO 的小孩提供互联网。

          【讨论】:

            【解决方案6】:

            我认为这取决于时间表是如何创建的。开发人员需要在制定时间表方面发挥重要作用。不然怎么知道合理不合理?

            如果高层管理人员只是简单地指出“功能 X 需要由 Y 完成”,而没有很好地了解它实际上可能需要多长时间(有些事情实施起来比听起来要复杂得多),那么这是一件坏事。但是,如果他们与开发人员一起估计实际需要的工作量并将其与公司的其他需求相平衡,那么通常效果会很好。

            【讨论】:

              【解决方案7】:

              嗯,我对截止日期很满意如果这个截止日期是通过深思熟虑的估算过程确定的,并得到经理和工程师的意见要求因为在上述期限内应该交付的内容已经明确。

              【讨论】:

                【解决方案8】:

                定期审查至关重要:

                • 列出主要里程碑和可交付成果
                • 把它分成更小的块
                • 创建较小估计值的集合
                • 合理安排截止日期

                您必须有截止日期,但同样,这些截止日期必须切合实际且可衡量。移动规范会惹恼开发人员——这可能是不可避免的,但不要害怕移动(经过讨论)。

                截止日期和工作估算永远不会特别准确,但基本的项目管理技术应该意味着人们知道错过它们 - 以及为什么会发生。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2021-09-21
                  • 2020-09-03
                  • 1970-01-01
                  • 2021-08-28
                  • 1970-01-01
                  • 2023-04-02
                  • 2014-03-08
                  相关资源
                  最近更新 更多