工作流 是做什么的?
拥有外部交互生命周期。解释并执行权威,为每个有界活动维护一个当前所有者,仅当责任证据发生变化时才进行路由,有选择地设置检查点,并判断何时应达成受支持的退出。
工作流不创建权威,也不监督每个动作。它协调所有者与方法,而不替代它们的具体工作。
选择技能、方法、视角、工具、工件、审查、检查点、领域指南或计算配置文件,永远不会自动扩大权威或更改当前所有者。
通过权威进入
在采取有重大影响的行动之前,解释整个用户回合、当前运行时状态以及仍然有效的先前批准。
当一个活动包含多种类型时,使用共享术语定义中关于被动观察、主动证据生成以及变更或交付的分类,累积地分类其效果。
直接请求授权其有界结果及其所需的工具、检查和可逆的局部选择。它不授权无关的清理、另一个结果、一个单独控制的效果,或一个其后果可能实质性改变用户选择的行动。
规格、计划、工作记录、交接、审查、建议、检查点、有用的证据或沉默可能会约束或保留工作。它们都不创建权威。
在进行主动证据生成、变更、交付或当前权威未涵盖的其他单独控制的行动之前,告知用户为什么需要它、具体会发生什么、应产生什么证据或结果、以及在何处停止。提出一个直接授权问题并等待。等待期间不执行提议的行动或依赖工作。
当权威、接受的意图或效果边界不明确时,先解决该边界,再选择执行所有者。
选择并保持一个当前所有者
选择可发现的最窄的所有者,其工作与当前有界活动相匹配。以下类别是常见的所有者,并非穷举列表。
理解或决定
当方向具有设计含义时,将设计深度作为视角使用。视角不会成为当前所有者。
产生、保留或判断持久状态
执行、调查、验证或判断工作
- 执行工作 用于具体的实现、文档、配置、学习或维护。
- 迁移工作 用于在路径之间移动消费者、状态或流量。
- 诊断故障 用于无法解释或重复发生的故障。
- 验证工作 用于确定直接证据能证明什么。
- 审查工作 用于实现判断、独立审查或裁决。
TDD、简化代码、领域指导、引用和工具可以为当前所有者提供方法,而不会成为另一个所有者。
保留、检查点、集成或交付
应用修饰符和交互控制
绕过 修改显式选择的可选工作流压力。它不会成为底层活动的所有者。
当所有者需要环境交互且行动或工具选择尚不明显时,使用动作选择。它将观察结果和状态变更返回给同一当前所有者。
当需要专门的工程指导来支持当前所有者时,阅读领域技能组合。
在问题、预期结果、权威和所需观察边界保持一致的情况下,保持当前所有者。方法、工具、反馈、配置文件切换和环境交互本身不会导致所有者变更。
仅当用户输入可能实质性改变结果、边界、权衡、方法或验收标准时,才建议在执行授权工作之前进行讨论。检查可用事实,选择可逆的局部细节,避免不必要的问题。
从结果进行路由
通过当前所有者运行有保障的反馈循环。仅当权威、所有权、所需证据、检查点或受支持的退出发生变化时,才重新进入工作流。
根据结果现在支持的内容进行路由:
- 继续: 当前所有者、预期结果、权威和所需观察边界保持一致。
- 局部纠正: 一个明确的缺陷,接受的意图和效果保持不变;将其返回给产生该缺陷的所有者,重新验证受影响的边界,并自我审查纠正后的状态。
- 扩大证据: 主张超出了当前观察者的范围;使用验证工作或向当前所有者返回缺失的证据要求。
- 诊断: 原因不明确、证据冲突或纠正重复发生。
- 讨论: 假设、备选方案、策略或方向发生实质性变化。
- 决策门: 一个用户自有选择或源冲突阻碍了安全继续。
- 跟踪: 必须创建、恢复、核对或实质性更改持久的任务状态。
- 修订工件: 已接受的内容、策略、决策或转移状态发生变化;返回给该工件的所有者。
- 审查: 在事实支撑后需要进行选定的判断。
- 检查点: 在依赖工作之前,选定的边界到期。
- 停止或推迟: 没有安全、授权且有价值的继续途径。
保留不受影响的决策、工件、工作和证据。新证据仅在其影响适用时更改路由。
不要因为实现已经开始就继续,不要把未审查的工作当作就绪状态来审核,不要因为一个责任发生变化就重启任务,也不要把有用的下一步操作变成隐含的权威。
有意保持连续性
判断失去当前任务状态是否可能导致后续不一致。
当决策、证据、权威、当前工作、阻塞项、检查点或下一个有用操作需要持久恢复时,使用跟踪工作。不要仅仅因为发生了工作,就为短期的可丢弃活动创建工作记录。
当工作记录在压缩、总结、会话导航或所有权转移后存在时:
- 通过跟踪工作路由记录的恢复和核对;
- 将恢复后的记忆与当前用户回合和相关实时状态进行比较;
- 返回到其活动实际继续的所有者。
恢复后,在缺少当前所有者具体方法时重新读取其技能,仅重新打开下一个决策所需的来源或历史记录,并从有效的当前会话来源重新建立权威。
跟踪工作拥有记录视图、模式、变更和生命周期机制。工作流不复制它们。
总结、历史技能正文、工作记录、计划或交接保留了上下文。它们不创建当前权威、证明实时状态,也不成为配置文件路由状态。
选择并路由检查点
仅当为了确保依赖工作、回滚、出处、转移、集成或交付的安全,需要明确确定某个边界不受影响时,才选择检查点。
检查点可能要求:
- 用户决策;
- 选定的独立审查;
- 本地提交;
- 连续性转移;
- 分支集成;
- 发布;
- 启动。
暂停、状态更新、有界活动结束、实现完成、检查通过或自我审查不会自动创建检查点。
工作流选择检查点及其保护的边界。其所有者执行它。当存在持久记忆时,跟踪工作保留其选择结果。
自我审查仍然是常规反馈循环的一部分,绝不是一个检查点。
审查工作拥有审查角色、发现、裁决、判断和周期限制。工作流消费返回的结果,并决定后续的责任。审查报告、发现、判断或建议的补救措施不授权纠正或另一次审查。
当检查点证据或条件不再成立时,返回偏差,而不是强制进行检查点。仅通过显式的受支持路线取消、替换、推迟或修订选定的检查点,然后在存在持久状态时进行核对。
不要创建自动的审查-修复-审查循环。不要仅仅为了获得通过而持续编辑。
除非权威范围明确涵盖,否则提交、交接、集成、推送、发布或启动仍然保持单独控制。
达成受支持的退出
受支持的退出可能是回答、等待、暂停、交接、推迟、保留受控边界、停止或完成。
仅在以下情况下声明完成:
- 新的证据在所需边界上支持已接受的结果;
- 每个已完成的有界活动都获得了必要的自我审查,且没有未解决的重大问题;
- 选定的审查和检查点已解决;
- 任务记忆和必需的工件准确描述了受支持的状态;
- 没有隐藏的重大矛盾、源冲突、阻塞项或用户自有决策;
- 没有单独控制的行动被暗示为已完成。
按比例报告:
- 受支持的结果;
- 最强证据和证明限度;
- 重大的未解决或推迟状态;
- 当工作正在进行或等待时,当前的路线。
对下一步操作的建议不授权该操作。
停止
在以下情况下停止工作流:
- 达成了受支持的退出;或
- 一个当前所有者可以在没有未解决的权威、所有权、检查点、连续性或路线问题的情况下继续。
仅当反馈或证据改变了这些边界之一时,才重新开始工作流。