.针对这个问题,我想聊聊关于流程规范落地和如何解决问题,我的一些想法。
现代社会中,工作的职责和内容越来越细化,很多事情是需要靠团队协作来合作完成的。而流程规范的目的,是为了确保团队中大部分人在同一个正确的方向上前进。同时通过一些关键指标、日常宣导和定时检查,让偏离方向的人回到正确的途径上。换句话说,流程规范本身是一种对群体的约束,也是团队内各个成员共同认可的一个承诺,约定和约束意义大于管理意义。
3.人的特质决定了人无法像机器一样时刻保持统一的认知和标准的行动;
流程规范的执行作用大于理论作用。即需要认可和参照规范执行,才可能接近预期的目标;而不是制定了流程规范,就万事大吉。以这位同学的提问为例,流程规范并不是强制动作,团队各个成员之间本质上并不存在上下级的依附和管理关系,只存在合作关系。如果靠管理流程规范去推动人的行为,本质上已经偏离了流程规范的初衷。而且流程规范并没有解决实际的问题,问题一定是需要去找到根因,用数据和事实暴露风险,然后评估提出方案再去执行,才能解决问题。
在软件研发交付流程中,无论是研发还是测试同学,最根本的目标是一致的,即提高交付质量和效率。但影响交付质量的因素并不是流程规范,而可能是需求不明确、环境不稳定、基础技术设施建设落后导致的编译构建失败、风险的滞后发现以及人为变更的误操作导致的。因此,很多问题的根因可能是上述这些原因,而不是流程规范导致出现了问题。
无论是个人还是团队,其行动的本质是为了达成某一个或某些目标。流程规范的目的是通过约束行动来保证团队成员向同一个目标前进。因此在团队协作过程中,真正要管理的是预期目标,而不是人。所有的行动过程和结果,以预期目标为导向。如果发现行动和目标不一致,逆向去分析是什么因素导致的,然后通过流程规范去约束这些行动。
3.大家对和达成目标有关的信息是否存在理解偏差和传递延时?
管理预期目标,在行动上就是让团队成员对信息的理解、传递和加工处理,保持一致。比如产品提供的PRD,产品的预期目标是A,研发的理解是实现成B,测试用例要验证的结果是C,这就是对目标和信息的理解以及同步出了问题。所以我们才制定了需求评审、code review、测试用例评审等很多流程规范,来保证对目标结果和信息的理解是一致的,这样才能确保行动的方向不出现大的偏差。
这里同样体现出了流程规范的作用,为了解决目标和信息不一致的问题,才用流程规范约束行动。流程规范是手段,而不是解决问题的目的。
还是以文章开头的问题为例,这就是典型的提出问题,而不是解决问题。开发提测的质量不高,这是问题的表现,而不是根因。根因可能是分支管理混乱,需求描述不明确,理解误差和人为误操作。遇到问题时我们要做的,是发现问题的表象,分析背后的原因,找到痛点,然后再提出可行的方案。不断思考,不断探寻问题的本质。从更高的维度,寻找更大范围的更优解。有时候跳出问题,后退一步去思考问题,反而能找到更大范围的解决方案。
4.识别问题背后的原因,制定渐进式的改进优化策略,并持续推动改进落地;