流水线阶段责任怎么划分:角色、交付物与检查方法

流水线阶段责任要解决的是“每个阶段谁负责、交付什么、何时算完成、出问题找谁”的问题。划分时先按交付流拆出阶段清单,再为每个阶段固定输入、执行动作、产出物和完成标志,指定负责人与协作角色,最后用一次真实变更走通全流程,验证责任是否闭合。



要点总览(TL;DR)


  • 阶段责任划分的产出是一份阶段责任表:按交付流拆出阶段清单,为每个阶段固定输入物、执行动作、产出物和完成标志,再指定负责人与协作角色。
  • 每个阶段只设一名负责人,负责人拥有对该阶段完成标志的判断权和暂停流转的权力;协作角色承担配合动作,不承担阶段结论。
  • 角色与交付物对应时区分决策权与执行权,交付物写清存放位置和维护人,交接时由接收方核对输入物清单并留下确认记录。
  • 回退与升级规则要和阶段责任表放在一起:写明失败退回哪个阶段、由谁重新决策、多久内响应,并用一次真实变更验证回退路径。
  • 判断机制是否建立,看责任表是否覆盖全部阶段、完成标志是否可观察可记录、交接确认是否可查,以及真实变更走通的结果。


阶段责任划分的核心答案与操作步骤


阶段责任划分的产出是一份可执行的阶段责任表。它把流水线从“一串自动任务”变成“有明确责任人的交付环节”,让每个阶段的进入条件、完成标准和交接对象都能被核对。划分过程分四步,每步都有对应的产物。


第一步:按交付流拆出阶段清单


从一次变更实际经过的环节出发,而不是从工具界面上的任务列表出发。常见拆法包括:代码提交与评审、构建打包、自动化测试、环境部署、验收确认、发布上线。拆分粒度以“能指定一个负责人、能给出一个完成标志”为准。如果某个阶段由多人分段负责,就继续拆细;如果两个环节总是由同一人连续完成且没有交接动作,可以合并。完成标志是阶段清单定稿:每个阶段有名称、有边界、有前后顺序。


第二步:为每个阶段定义四要素


阶段清单确定后,逐项填写输入物、执行动作、产出物和完成标志。输入物是进入该阶段必须具备的材料或状态,例如合并请求已通过评审、构建所需的依赖版本已锁定。执行动作写清由谁做什么,例如“测试负责人执行回归用例集”。产出物是该阶段留下的可追溯结果,例如测试报告、镜像包、部署记录。完成标志是判断阶段结束的客观条件,例如“回归用例通过率达到约定阈值且无阻断级缺陷”。四要素写不出来的阶段,说明责任还没有真正落到具体动作上。


第三步:指定负责人与协作角色


每个阶段只设一名负责人,对完成标志负责;协作角色按需要列出,承担配合动作但不承担阶段结论。负责人需要具备两件事:对该阶段产出物的质量判断权,以及阶段未达标时暂停流转的权力。协作角色则明确各自提供什么输入、在什么时点介入。这样区分的目的是避免“大家都参与、没人拍板”的情况。


第四步:设定交接与回退规则


交接规则说明上一阶段以什么形式把产出物交给下一阶段,以及下一阶段如何确认接收。常见做法是交接时由接收方核对输入物清单并记录确认,确认后才开始本阶段动作。回退规则说明阶段失败时退回哪里、由谁决定、需要补充什么信息。升级规则说明回退后仍无法解决时,向哪一级角色上报、在多长时间内响应。三类规则与阶段责任表放在一起,才能在执行时直接查用。


阶段责任表建议包含以下字段,可直接作为填写模板:阶段名称、阶段负责人、协作角色、输入物、执行动作、产出物、完成标志、交接确认方式、回退目标阶段、升级对象。字段填满并通过一次真实变更验证后,这张表就可以作为团队执行流水线的依据。



各阶段角色与交付物如何对应


角色与交付物的对应关系要区分两种权力:决策权决定阶段能否通过、能否放行;执行权负责完成阶段内的具体动作。同一人可以在不同阶段承担不同权力,但在同一阶段内应明确哪一项是主导。下表按典型阶段列出常见对应关系,团队可据此裁剪。


阶段 负责人(决策权) 协作角色(执行权) 主要交付物 交付物归属与存档
代码提交与评审 开发负责人 提交者、评审人 合并请求、评审记录、关联的工作项 代码仓库保留提交与评审历史,工作项中记录关联关系
构建打包 构建负责人或值班工程师 开发人员 构建产物、版本号、构建日志 制品库按版本存档,构建记录与对应提交关联
自动化测试 测试负责人 开发人员、测试执行人员 测试报告、缺陷清单、通过率数据 测试管理系统或项目文档中按版本归档
环境部署 运维或环境负责人 开发人员、测试人员 部署记录、环境配置版本、回滚预案 部署日志与配置库留存,部署单关联变更
验收确认 产品负责人或业务验收人 测试人员、开发人员 验收结论、遗留问题清单 验收记录随需求或迭代文档存档
发布上线 发布负责人 运维、开发值班人员 发布记录、上线检查单、监控基线 发布单与变更单关联存档,保留回滚版本信息

交付物归属要写清两件事:存在哪里、由谁维护。存在位置决定后续能否追溯,维护人决定内容更新由谁负责。交接时的确认动作建议统一为“接收方核对输入物清单并记录确认结果”,确认记录与交付物放在同一处,避免交接只停留在口头。对于跨团队交接的阶段,确认动作还应包含对完成标志的复核,例如测试负责人接收构建产物时,同时核对版本号与构建记录是否一致。


当团队使用 ONES 承载研发过程时,阶段责任表可以作为项目文档维护,代码提交、构建、发布等过程可在项目、迭代和需求中关联查看,流水线执行状态与日志随集成同步,便于在交接时核对同一变更在各阶段的实际状态。这一衔接的前提是已完成相应工具链集成,具体集成范围以实际配置为准。



示例:一次变更走完流水线各阶段的责任流转


以下为演示情景,用于说明责任如何随变更传递,不代表特定团队的真实案例。


某需求拆出一个研发任务,开发人员提交代码并创建合并请求,关联该任务。代码评审阶段由开发负责人决策:评审意见关闭、合并请求通过后,阶段完成,交付物是合并记录与评审结论。构建阶段由值班构建工程师负责,输入是已合并的代码版本,产出带版本号的构建产物和构建日志,完成标志是构建成功且产物入库。若构建失败,回退到开发负责人,由提交者修复后重新触发,连续两次失败则升级到开发负责人所在团队的技术负责人。


测试阶段由测试负责人决策,输入是构建产物与版本说明,执行回归与专项测试,产出测试报告和缺陷清单。完成标志是阻断级缺陷清零、通过率达到约定值。若发现阻断级缺陷,回退到开发阶段,缺陷单关联原任务,修复后重新构建并重新进入测试;若缺陷涉及需求理解偏差,升级到产品负责人确认范围。


部署与验收阶段由环境负责人和产品负责人分别负责。部署完成以部署记录和健康检查通过为标志;验收完成以验收结论记录为标志。发布阶段由发布负责人决策,输入是验收通过的版本和上线检查单,产出发布记录与监控基线。发布后出现异常时,按回滚预案退回上一稳定版本,并由发布负责人决定是否升级到变更评审角色。整个流转中,每个阶段的负责人、输入、产出和回退目标都能在阶段责任表中查到,交接确认记录与交付物存放在同一位置。



责任机制落地后的完成检查


判断阶段责任机制是否建立,不看文档写得多完整,而看三件事:责任表是否覆盖全部阶段、每个阶段是否有可核对的负责人和完成标志、交接与回退规则能否在真实变更中执行。可按以下清单逐项核对。


  • 阶段清单覆盖了从代码提交到发布上线的全部环节,没有“无人认领”的环节,也没有两个阶段共用同一完成标志的情况。
  • 每个阶段都有且只有一名负责人,负责人具备对该阶段完成标志的判断权。
  • 每个阶段的输入物、产出物、完成标志均已填写,完成标志是可观察、可记录的条件,而非“基本完成”一类描述。
  • 每个交付物写明了存放位置和维护人,交接确认有记录可查。
  • 每个阶段写明了回退目标阶段和升级对象,回退后由谁重新决策清晰可查。
  • 已用一次真实变更走通全流程,各阶段交接确认记录齐全,至少验证过一次回退路径。
  • 验证中发现的责任空白已补入责任表,并同步给相关角色。

清单全部通过后,阶段责任表即可作为团队执行依据;后续阶段调整时,同步更新责任表并重新走一次验证,避免规则与实际执行脱节。



常见问题


阶段负责人和协作角色的边界怎么划,一个人同时负责多个阶段可以吗?


可以,同一个人在不同阶段承担不同角色是常见做法。需要守住的是同一阶段内的权力归属:该阶段只有一名负责人,对完成标志作出判断并决定是否放行;协作角色提供输入、执行具体动作,不替负责人下结论。


如果一个人既是某阶段的执行者又是负责人,建议在责任表里把这两个身份分开写,并在交接确认时留下记录,避免自己执行、自己确认、没有第二人核对的情况。对于风险较高的阶段,例如发布上线,可以要求交接确认由另一名角色复核。


阶段数量拆到多细比较合适,拆得太细会不会增加管理成本?


拆分粒度以“能指定一名负责人、能给出一个完成标志”为准。某个环节由多人分段负责、中间存在交接动作,就继续拆;两个环节长期由同一人连续完成且没有交接,可以合并。


阶段拆得过细确实会增加确认动作和记录负担。实际做法是先按当前交付流拆一版,用一次真实变更走通,观察哪些阶段的交接确认流于形式、哪些阶段经常出现责任不清,再据此合并或细分。阶段清单是随交付方式调整的,不必一次定死。


流水线大部分环节是自动执行的,还需要为每个阶段指定负责人吗?


需要。自动执行改变的是动作由谁完成,不改变失败时由谁判断和处理。构建、自动化测试这类阶段,负责人关注的是完成标志是否达成、失败后回退到哪、是否需要升级,而不是亲手执行每一步。


对全自动阶段,负责人可以按值班制轮换,但责任表里要写清当班负责人是谁、在什么时间窗口内响应。这样流水线报错时才有人对“继续、回退还是升级”作出决定。


交接确认记录放在哪里比较合适,需要和交付物放在一起吗?


建议放在同一处,便于追溯时一次查全。交付物本身有固定存放位置,例如制品库、测试报告归档、发布单;交接确认记录应能关联到对应的交付物和变更,而不是散落在聊天记录里。


如果团队使用 ONES 承载研发过程,阶段责任表可以作为项目文档维护,代码提交、构建、发布等过程可在项目、迭代和需求中关联查看,流水线执行状态与日志随集成同步,交接时能核对同一变更在各阶段的实际状态。这一衔接的前提是已完成相应工具链集成,具体集成范围以实际配置为准。


责任表建好之后,阶段或人员发生调整,怎么保证规则不过期?


把责任表更新纳入阶段调整的固定动作:新增、合并或取消阶段时,同步修改责任表中的负责人、完成标志和回退目标,并通知相关角色。人员轮换时更新负责人字段,交接确认方式保持不变。


调整后建议重新用一次真实变更走通全流程,重点验证新的回退路径是否可执行。定期检查时,可以对照最近几次变更的交接确认记录,看是否存在责任表未覆盖的环节或长期无人确认的阶段。