0

我们是一家新的敏捷商店,我们遇到了一个我希望其他人看到的问题。

在我们的流程中,Trunk 被认为是一个集成分支;它不必是可发布的,但它必须是稳定的和功能性的,以供其他人分支。我们为新的开发创建了主干的功能分支。所有工作和测试都发生在这些分支中。一个单独的分支会根据需要拉起,以保持与主干的集成,就像其他被接受和提交的特性一样。但是现在我们有许多功能分支。每个都是专注的,生命周期很短,完成后会被推到主干,所以我们不会争论是否需要分支,而是非常努力地实现敏捷。

我的问题出现在这里:我要求分支在其生命周期结束时从主干中拉出,并在推送到主干之前完成验证、回归测试并处理所有配置问题。一旦重新集成到 Trunk 中,我要求至少进行一次构建和自动冒烟测试。但是,我现在正在推迟中继验证。理由是开发人员可以合并代码而不需要 QA 验证步骤,因为他们已经完成了功能分支中的工作。因此,不需要额外的测试。我试图提醒管理层无数次“无脑”合并失败。他们的解决方案是让开发人员区分功能分支和新合并的主干,而不是构建和回归测试。他们心中的那个过程将取代我要求的回归测试。那么,当您重新集成回 Trunk 时,您需要什么?如果我们删除这一步并替换为 diff,我们会遇到什么问题?保持敏捷的成本是分支机构整合的额外工作吗?

感谢您的任何意见。孤独的CM

4

1 回答 1

0

我不明白为什么“构建和自动化冒烟测试”应该是任何实质性的额外工作,或者被视为“保持敏捷的成本”——当然,因为它都是自动化的。(实际上,我通常会考虑将持续构建/集成和自动化测试作为与敏捷开发相关的一组最佳实践的一部分)。 diff通常不会削减它,因为可能存在永远不会比较相等的文件(例如,格式包括时间戳的二进制资源)并且只有测试才能确认差异(如果有的话)不会损害正确性。

如果多个开发人员(可能是成对的,如果您进行结对编程)都可以独立地致力于主干(即不允许“锁定主干”),那么强烈推荐您提倡的那种最小的健全性检查——无论底层开发要“敏捷”,完全混乱,或其他任何东西;-)。

于 2010-04-05T14:52:59.013 回答