【发布时间】:2009-10-13 01:40:51
【问题描述】:
我只是好奇社区是否认为在我们停止开发(除了测试和修复错误)的情况下使用“代码冻结”一词是可以接受的。
发展情况
我们刚刚完成第三次也是最后一次冲刺,随后将进行“代码冻结”和为期 2 周的 Q/A 测试。这是一个大版本,一些组件的开发已经超越了所有 3 个冲刺。从历史上看,即使我们称之为“代码冻结”,我们仍然会提交代码来修复错误。
问题
每个版本我都会尝试纠正我的经理和同事,我们应该将其称为“功能冻结”,因为很明显,我们会在开始时立即找到错误并提交代码来修复它们重度测试。但他们仍然坚持称其为“代码冻结”。有时我们仍然有已知的错误并声明“代码冻结”。
维基百科的定义似乎与我一致 here
分析
我怀疑将这些情况称为“代码冻结”是某种故意的Double Think 为利益相关者提供虚假信心。或者我们假装处于“代码冻结”状态,因为根据 Scrum 在每个 sprint 之后我们应该有一个可交付的软件,这是我们遵循 Scrum 的期望。所以我们必须按照 Scrum 的期望来称呼它,而不是它的真正含义。
结论
我是否过度分析了这个?我只是发现忽略现实情况是不健康的,应该放弃将其称为不是的东西或解决根本问题。有没有其他人在代码冻结方面有类似的经历?
【问题讨论】:
-
如果您确实“代码冻结”,即您不会再次更改代码,那么您最好立即发布生产。从今天到您真正执行 RTM 之间没有任何变化,为什么还要等待?因此,只需将其称为 RTM 而不是“代码冻结”。每当我在一个使用它的团队中时,“代码冻结”意味着“除了修复少数剩余的测试失败之外的所有代码更改都应在下一个版本的分支上”。基本上,“除非 QA 和/或产品经理另有说明,否则冻结”。
-
还有比这更糟糕的双说——如果是双说的话。经常听到人们问“您是否在 2.34.56 版本中包含错误 314159”;他们不是那个意思——他们的意思是“您是否在版本 2.34.56 中包含了对错误 314159 的修复”。而“代码冻结”从根本上意味着“从这里开始对代码的任何更改都受到严格控制”。
-
“代码冻结”听起来很迟钝,而“功能冻结”更有意义,听起来更酷,因此我更喜欢“功能冻结”这个词。
标签: testing process agile scrum code-freeze