研发流程规则配置要解决的是流程要求停留在文档里、执行时靠人记的问题。做法可以拆成四步:先圈定值得规则化的环节,再把要求写成带触发条件、执行动作、责任人和例外处理的规则条目,接着明确谁负责配置、谁负责验证,最后用一条真实需求走通全流程并逐项检查。规则从少到多,先覆盖卡点最集中的环节。
要点总览(TL;DR)
- 规则配置从筛选开始:优先处理重复判断多、遗漏代价高、跨角色交接的环节,判断标准尚未统一的环节先统一标准再配置。
- 一条可执行的规则要写清规则名称、触发条件、执行动作、责任人、例外与豁免方式、生效范围六项内容。
- 触发条件基于工作项类型、状态、字段值等客观信息,执行动作按卡点性质选择状态流转限制、必填字段校验、通知提醒或审批要求。
- 配置过程区分流程负责人、配置执行人和团队代表,分别对环节清单与规则条目、配置说明、试运行反馈负责。
- 上线前用一条真实需求或一个小团队试运行,检查拦截是否生效、例外是否留痕、通知是否到位,并建立规则变更的评审与记录机制。
先圈定要规则化的流程环节
规则配置的起点是筛选,把整条研发流程都配成规则,维护成本高,团队也容易抵触。先找出那些反复出现判断、遗漏代价明显、涉及多个角色交接的环节,规则化收益最高。
可以用三个特征判断一个环节是否适合规则化:一是重复判断多,比如每次提测都要确认开发是否完成、分支是否合并;二是遗漏代价高,比如需求变更没有同步到测试,导致测试范围偏差;三是跨角色交接处,比如开发交给测试、测试交给发布,交接标准靠口头约定。反过来,判断标准还在讨论、不同项目做法差异大的环节,先不急着配规则。
把候选环节记成一张清单,逐项填写,作为后续排期的依据:
| 环节名称 | 当前做法 | 常见问题 | 是否规则化 | 优先级 |
|---|---|---|---|---|
| 开发完成提测 | 开发口头通知测试 | 提测时字段缺失、测试反复确认 | 是 | 高 |
| 需求变更同步 | 变更人在群里发消息 | 测试未及时获知,用例未更新 | 是 | 高 |
| 发布前评审 | 按项目习惯临时组织 | 部分项目跳过评审 | 待定 | 中 |
| 缺陷严重等级判定 | 各测试人员自行判断 | 标准不统一 | 暂缓 | 低 |
排序原则是:卡点集中、规则边界清晰的环节先做;判断标准尚未统一的环节,先统一标准再考虑配置。第一轮建议控制在三到五条规则,跑顺后再扩展。
把流程要求写成可执行的规则条目
一条规则要能直接对应到系统配置,必须写清六项内容,缺一项就容易在执行中产生歧义:
- 规则名称:用一句话说明规则管什么,例如“提测前必须填写测试范围和分支信息”。
- 触发条件:规则在什么情况下生效,要基于可判断的客观信息,如工作项类型、当前状态、字段值、时间等。
- 执行动作:条件满足或不满足时系统做什么,常见类型有状态流转限制、必填字段校验、通知提醒、审批或评审要求。
- 责任人:谁对这条规则的执行结果负责,谁有权处理异常。
- 例外与豁免方式:什么情况可以跳过规则,由谁批准,如何留痕。
- 生效范围:适用于哪些项目、团队或工作项类型。
触发条件要避免“开发认为可以提测了”这类需要主观解释的描述,改成“工作项状态从开发中变更为待测试,且测试范围字段为空”这样可以直接判断的条件。执行动作按卡点性质选择:防止跳步用状态流转限制,防止信息缺失用必填字段校验,防止交接遗漏用通知提醒,需要集体确认的用审批或评审要求。
例外处理要事先约定,否则规则上线后会被各种“特殊情况”绕过,且没有记录。规则条目表可以按下面的结构填写:
| 字段 | 填写要求 | 示例 |
|---|---|---|
| 规则名称 | 一句话说明管控内容 | 提测前校验测试范围字段 |
| 触发条件 | 工作项类型+状态+字段条件 | 需求类工作项从开发中流转到待测试 |
| 执行动作 | 限制、校验、通知或审批 | 测试范围为空时禁止流转,并提示补充 |
| 责任人 | 规则执行与异常处理负责人 | 项目测试负责人 |
| 例外方式 | 跳过条件、批准人、留痕方式 | 紧急修复由项目负责人批准,记录在备注字段 |
| 生效范围 | 项目、团队或工作项类型 | 全部研发项目,需求与缺陷类型 |
角色分工与交付物怎么定
规则配置涉及流程判断和系统操作两类工作,由一个人拍板容易脱离实际。建议至少区分三个角色,各自对不同的交付物负责。
| 角色 | 主要职责 | 交付物 |
|---|---|---|
| 流程负责人 | 确定规则范围和优先级,判断规则是否合理,处理规则冲突 | 待规则化环节清单、规则条目表 |
| 规则配置执行人 | 把规则条目落到工作项类型、状态流转、字段与权限设置上 | 配置说明、配置后的流程截图或记录 |
| 团队代表 | 在试运行中验证规则是否可执行,反馈误伤和漏判 | 试运行反馈记录 |
流程负责人通常由研发经理或项目管理角色担任,对“这条规则值不值得配”做判断;配置执行人熟悉工具配置,负责把文字规则翻译成系统设置;团队代表来自实际执行的一线开发和测试,他们的反馈决定规则是否需要调整。三个角色的工作有先后依赖:环节清单和规则条目表确认后再开始配置,配置完成后再进入试运行。
规则落到工作项状态、字段校验和流转约束时,需要工具具备相应的配置能力。以 ONES 为例,可以在工作项类型上设置状态流转规则、字段必填校验和通知,把上面规则条目表中的条件与动作对应到系统设置中;具体可配置项以实际使用版本的配置界面为准。
示例:一条需求流转规则怎么配
以“需求从开发完成进入测试”为例,演示一条规则从条件到动作的完整写法。
场景:开发人员把需求状态从“开发中”改为“待测试”时,测试人员经常发现测试范围、影响模块、分支信息没有填写,需要反复沟通补充。
规则条目:
- 规则名称:提测前校验提测信息完整性。
- 触发条件:工作项类型为需求,状态从“开发中”流转到“待测试”。
- 执行动作:校验“测试范围”“影响模块”“分支信息”三个字段是否已填写;任一为空时阻止流转并提示补充;流转成功后向该需求的测试负责人发送通知。
- 责任人:开发人员负责填写,测试负责人负责确认信息可用。
- 例外方式:紧急修复类需求由项目负责人批准后可跳过校验,跳过原因记录在备注字段。
- 生效范围:全部研发项目的需求类型工作项。
配置后的可观察结果:开发人员无法在字段缺失时直接把状态改为“待测试”,系统提示缺少哪些字段;字段补齐后流转成功,测试负责人收到通知;紧急跳过的记录可以在工作项历史中查到。
这条规则的写法可以迁移到其他工作项类型:缺陷从“修复中”流转到“待验证”时校验修复说明和影响版本,任务从“进行中”流转到“已完成”时校验交付物链接。条件、动作、责任人和例外方式的框架不变,只替换字段和角色。
试运行与完成检查
规则配置完成不等于可用。上线前选一条真实需求或一个小团队试运行,观察规则在实际流转中是否按预期生效,记录被拦截的次数、补充字段的耗时、有没有出现误伤正常流程的情况。
试运行结束后,按以下检查项逐条核对:
- 规则是否在设定条件下按预期拦截或放行,有没有可以绕过的路径;
- 例外处理是否留痕,批准人和跳过原因能否查到;
- 通知是否发给了正确的角色,有没有漏发或重复发送;
- 规则说明是否可查,新成员能否自己看懂规则存在的原因;
- 团队能否说清每条规则解决的是什么问题,而不是只知道“系统不让点”。
通过标准可以定为:关键环节没有绕过路径,试运行期间没有因规则本身导致的流程阻塞,团队对规则目的有共识。达到标准后再扩大生效范围。
规则上线后还需要维护机制:谁可以提出规则变更、由谁评审、变更记录放在哪里。建议每次变更都更新规则条目表和配置说明,保留变更原因,避免规则随人员变动而失效或无人解释。规则数量增加后,定期回看哪些规则已经不再需要,及时停用,保持规则集与当前流程一致。
常见问题
规则配置第一轮配多少条比较合适?
建议第一轮控制在三到五条,集中在卡点最明显、规则边界最清晰的环节,例如提测信息校验、需求变更同步。规则数量少,团队容易理解每条规则的目的,试运行中出现的误伤也便于逐条调整。跑顺之后再按环节清单的优先级逐步扩展,避免一次性铺满全流程导致维护成本和抵触情绪同时上升。
规则上线后经常被“特殊情况”绕过,怎么处理?
先确认例外是否有事先约定的通道。规则条目中应写明什么情况可以跳过、由谁批准、跳过原因记录在哪里;有明确通道的例外属于正常管理,没有通道的绕过则需要补上配置或收紧权限。试运行阶段可以统计被拦截和跳过的次数,如果某条规则频繁被跳过,说明触发条件或校验字段与实际工作不匹配,应回到规则条目表调整,而不是靠口头放行维持运转。
判断标准还不统一的环节,能不能先配一条宽松的规则?
可以先配,但要清楚宽松规则的作用是收集数据,而非管控。例如缺陷严重等级判定标准不一致时,先要求填写判定依据并保留记录,等积累一段时间的样本后再统一标准、收紧校验。这样做的条件是团队认可先记录后统一的路径,并且有人负责定期回看记录、推动标准收敛;如果无人跟进,宽松规则容易变成长期摆设。
规则配置和流程文档是什么关系,需要两边都维护吗?
规则条目表可以视为流程文档中可执行部分的提炼,两者应保持一致。建议以规则条目表作为配置依据,流程文档说明整体流程和角色职责,规则变更时同步更新规则条目表、配置说明和流程文档中的对应描述。维护责任落在流程负责人身上,变更原因保留在记录中,新成员通过规则说明就能理解某条限制为什么存在。
跨项目复用时,规则应该配在哪个层级?
先看规则的适用范围。与具体项目交付节奏强相关的规则,例如某项目的提测字段要求,配在项目层级更灵活;与研发基本规范相关的规则,例如需求流转前必须填写影响模块,适合配在组织统一的工作项类型或流程模板上,再由项目继承。复用前确认各项目的字段定义一致,字段名称相同但含义不同的情况要先统一口径,否则规则在部分项目上会拦错对象。
