Project management 什么时候考虑功能;完成;?

Project management 什么时候考虑功能;完成;?,project-management,Project Management,作为软件开发者,我们创造了很多。。。好。。。代码。我们生成的大部分代码都可以用于新功能或现有功能的增强。在这种情况下,我们如何知道此功能何时完成 在功能的上下文中,“完成”意味着什么?例如,对A公司来说,这可能意味着许多不同的事情,比如 满足客户要求(这本身就很棘手) 没有已知的错误 文件是书面的 等等 等等 为了更好地帮助理解“完成”对不同的开发人员和团队意味着什么,请列出最多五项(但不超过10项)。此列表是您作为开发人员或您的团队可能要查看的内容,一旦所有项目都被选中,该功能将被视为已完成

作为软件开发者,我们创造了很多。。。好。。。代码。我们生成的大部分代码都可以用于新功能或现有功能的增强。在这种情况下,我们如何知道此功能何时完成

在功能的上下文中,“完成”意味着什么?例如,对A公司来说,这可能意味着许多不同的事情,比如

  • 满足客户要求(这本身就很棘手)
  • 没有已知的错误
  • 文件是书面的
  • 等等
  • 等等
  • 为了更好地帮助理解“完成”对不同的开发人员和团队意味着什么,请列出最多五项(但不超过10项)。此列表是您作为开发人员或您的团队可能要查看的内容,一旦所有项目都被选中,该功能将被视为已完成

    更新
    这些都是很好的答案。我正试图找出如何确定最好的一个,因为我猜这个问题有点主观。我想我仍然在寻找更完整的图片。

    当用户满意时。

    当客户/用户在测试后在UAT(用户验收测试)上签字时。这是我们官方的测量标准

    当然,这并不意味着什么,因为几周后总会有一个2.0版的功能被要求,但这比我们的更重要

    编辑-如果您想详细了解它,下面是我们的做法:

  • 需求由系统分析师和客户批准
  • 设计由首席程序员批准
  • 代码审查由同行程序员批准
  • QA部门在单元测试中将代码标记为已测试
  • UAT由客户在亲自测试后签署
  • QA部门在系统测试中将代码标记为已测试
  • 代码发布了

  • 当它发货时。

    当它没有任何东西可以带走时。

    当它解决了预想的问题时。这带来了足够的测试、文档、可用性等负担——不算太多,但足以满足需要。

    当有叉子时

    • 代码符合书面规范
    • 代码通过代码审查
    • 代码具有并通过了单元和集成测试
    • 代码通过QA
    • 包含代码的包由所有涉众签署

    -Adam

    当所有与功能相关的测试都通过时,您的功能就完成了。当需求发生变化时,添加更多的测试和代码,直到它们也通过。

    我认为这取决于人们对它的看法。开发人员自然希望将代码提升到第n个级别,而客户将对此有一个愿景

    所以

    • 客户,当他们停止要求更改时
    • 开发人员,从不:)
      • 如果你的意思是“我们再也不用碰它了”,那么唯一的答案是:当系统过时时;-)


        如果您的意思是“当它准备好交付时”,那么假设所有商定的单元测试都通过,当然假设采用TDD/XP/Agile方法。

        对于我们来说,一个特性已经完成,这意味着我们可以在满足两个标准时交付它:

      • 一个特性通过了我们在版本开始时编写的所有单元测试和手动测试。在没有QA的情况下,这由QA或开发人员确定
      • 对功能执行未完成的更改请求/错误修复所提供的价值低于完成这些请求所需的资源(时间)。这由产品所有者决定
        简单回答:当它满足客户(或您为其实施功能的人员)的要求时


        答案并非如此简单:当它满足人们/客户期望的所有内在要求时:隐藏的质量要求、可扩展性、文档、稳定性、易用性等。

        令人厌恶的、政治上不正确但实用的答案:在一项功能的发展过程中,(至少)有一个关键点

        • 在此之前释放该功能,您将失败,因为客户将不接受该功能。修复它的成本——时间、材料、声誉——将比“完成”它的成本更高

        • 在这一点之后释放该功能,您将因为机会成本而失败。如果你把注意力集中在别的事情上,你会获益更多


        功能在达到这个临界点时完成。

        每个项目都分为冲刺。冲刺可能有一个或多个功能。冲刺或功能在冲刺的这些阶段完成时完成


        1.美国->用户故事->用户界面->开发->开发->质量保证->用户验收测试已经完成。

        关于“完成”的含义,似乎仍然存在差异。对许多人(大多数?)来说,如Mayank Gupta at,完成意味着产品或功能可能可以由产品所有者自行决定发货


        对于其他人,如上面的MattC(以及我自己的组织),“完成”意味着产品或功能已经发货。

        当按照团队定义的完成定义完成时。“完成”的定义应该是一个由scrum团队同意的可见文档,每当被问到“完成了吗?”时,都会引用该文档

        在scrumalliance.org网站上有一篇很好的文章对done的定义进行了详细的分析


        完美——如果你制造回飞棒。注意:我不“喜欢”这个答案,但这是经营企业的方式。术语“利润”和“成本”包括无形资产和货币金额。我认为,从长远来看,努力实现“利润”最大化和“成本”最小化的公司才是赢家。你的回答肯定是最完整、最深思熟虑的。仔细想想,这个问题有点主观,因此很难“正确”回答。不过,你最符合我的想法。