拒绝加班:如何避免开发完成了但是不能交付的困境?

相信开发者都遇到过,功能已经开发和测试完成了,但是当项目经理要求立即上线这些已完成的功能的时候,团队确说还不能上线,必须等待另外一些功能完成了才能上线。

是什么阻止了即时交付?

那么是什么阻碍了团队不能做到完成一个功能就上线一个功能呢?下图展示了原因:

  • 如果一个功能完成测试后,在需要交付时还需要等待其他功能完成测试才能交付,就不可能做到完成一个交付一个。

同时测试多个功能
如上图所示:

  • Dev为开发的主分支
  • Feature A 和 Feature B 同时从D1点开始开发
  • 在 Feature A 在提交了 A2 以后完成开发工作
  • Feature A 提交代码到 Dev 形成 D2
  • 开始测试 Feature A
  • Feature B 在提交了 B2 以后完成开发工作
  • Feature B 提交代码到 Dev 形成 D3
  • 开始测试 Feature B
  • Feature A 在提交了 A3 以后修复了测试中发现的问题
  • Feature A 提交代码到 Dev 形成 D4
  • Feature A 完成了测试

现在的问题是,因为 Dev 上还有没有完成测试的 Feature B的代码,这个时候即使客户要求交付 Feature A,测试团队也不能带着未完成的 Feature B 交付产品给客户。

如何解决这个问题呢?

如何做到测试完成就可交付

其实很简单在主要开发分支上使用单件流模式,主要的测试工作在功能分支上完成。

在这里插入图片描述
如上图所示,Dev是主开发分支,只要开发者能保证这个分支上的代码都是经过测试的,产品就能发版,但是一旦代码被提交到某个分支上,这些代码就必须测试以后才能交付,所以开发者必须保证代码提交到 Dev 分支后测试时间尽可能的短。使用下面的原则,可以保证这一点:

  • 先在功能分支上完成测试,再提交代码到主分支上
  • 主分支上每次只测试一个功能,这样测试完成就可以交付了
  • 在主分支上的测试时间要尽可能短,这样才不会阻塞单件流

回到图中的例子,Feature A 和 Feature B 的开发和测试都在自己的分支上完成。当 Feature A 完成开发和测试以后才提交代码到 Dev 分支上。即使在 Feature A 完成测试前,Feature B 已经完成了开发和测试,也不能提交代码到 Dev 上。这样就能保证 Feature A 在 Dev 上完成测试以后就可以交付给客户。

总结

本文讨论了如何保证功能开发完成以后就能交付。这需要在最后的测试环节保持单件流。

相关资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

surfirst

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值