Git能否用来基于文档管理流程?
git是分布式的文档版本管理系统,版本管理有类似于区块链的作用,方便将过去修改定格,回溯修改,也是个“后悔药”。同时旧版本文档又不可见,不需要在一堆文档中找哪个是最新版本,看得到的都是最新版本文档,使得主要注意力集中在新文档上,工作效率大大提升。同时git也是协作系统,不同的程序员共同完成一个项目。
流程同样是一个协作系统。一般的流程是基于时间线和权限的。也就是A先做什么、B再做什么。通常是A提交、BC审批、EF查阅。并且为了让BC及时审批、EF及时查阅,流程都有通知消息。
git的提交是程序员,审批(测试)靠程序员、测试工程师、产品经理(UT、ST、IT),查阅范围更广些,如果是开源,任何人都可以。所以git也是有提交、审批(测试)、查阅的。在敏捷思想下,测试是追求自动化的,从自动UT、到自动集成、自动打包发布nightly版本。
而一般流程审批全部靠人。虽然绝大多数情况下都是“同意”。
git与一般流程的一个最大区别是“通知”。当然自动化条件下只要通知测试系统自动编译就好了。非自动化条件下,UT测试责任本来就是提交者自己,ST、IT测试通常比较规律。敏捷思想下可能是每天、每周,瀑布模型下也就只有一次主要提交测试,人工完成就行了。另外,为程序员考虑, 需要大段连续时间思考编程才能产生效果,所以编程界不主张被通知频繁打断。
不喜欢被打断其实这也适用于任何人。但是事实上打断的东西太多,10年前电子邮件大家就觉得烦了,现在还有钉钉微信短信电话语音视频……沟通越来越快也越来越烦,如何提高沟通效率又降低对人的干扰呢?