团队与流程:文档、协作、外包与质量控制
你准备找人改善ClearCopy输入页,第一次协作就从一个小任务开始:在事实栏增加行李清单的完成示例,并确保手机和键盘都能使用。 本篇完成可直接交给协作者的任务单与交接方式,不把整个支付后台一次性交出去。
需要你拥有自己的教学仓库,且有权限管理协作者。如果只有个人私有仓库,先核对可用角色与计划功能;下面的Read、Triage、Write等细分角色指GitHub组织仓库,不保证个人仓库拥有同样选项。本教程不会邀请任何真实协作者或修改仓库权限。
把任务写到对方无需猜需求
复制这份任务单,项目内路径按你的实际文件替换:
标题:为Product facts增加可复用的行李清单示例
用户要做:第一次使用时理解“真实功能”该填什么。
改动范围:工具输入页;不改订单、价格、登录、支付或部署配置。
示例内容:
An offline packing-list app. Create a trip, check off packed items,
and reuse a packing list. No accounts or cloud sync.
交互:增加“Use packing-list facts”按钮。
- 文本框为空时,点击后填入示例。
- 已有输入时,不直接覆盖,先让用户明确确认替换。
- 不自动提交任务,不扣次数。
完成展示:
390px手机宽度下可看到按钮和事实标签;
仅用键盘可聚焦并触发;输入已有内容时不会无声丢失。
提交材料:改动分支、说明、关键状态截图、执行的检查。
任务没有要求“提升体验”这种无法确认完成的抽象动作。对方读完就能准备两种输入状态,也能知道不能顺手改价格和生成接口。
给完成任务所需的权限
打开GitHub组织仓库角色表。在表格中可以逐项核对Read、Triage、Write、Maintain与Admin分别能做什么。需要提交代码的协作者通常需要相应写入路径,单纯看需求和讨论不一定需要管理权限。
本例先给教学仓库的适当代码协作权限,不给组织所有者、生产数据库、支付后台或域名账户。协作者使用自己的账号,访问限于本次仓库;测试资料使用合成用户和本书示例,不导出真实客户文案给他“方便调试”。
如果对方通过自己的fork提交,也先核对仓库可见性与组织策略。不要为了使用某种流程,把原本私有的商业代码改成公开仓库。
让改动先进入可查看的分支
约定分支名improve/facts-example,只改本任务文件;提交代码后开拉取请求。描述可以照抄这份完成例:
问题:首次使用者不知道Product facts该填写什么。
结果:增加行李清单示例按钮;已有输入时先确认替换。
检查:空输入、已有输入、键盘操作、390px布局。
范围:未改提交接口和扣次逻辑。
GitHub受保护分支说明介绍要求审查和状态检查的能力。若你的计划支持,可在自己的教学仓库中为主分支设置相应要求;不具备时也能采用“分支提交、由负责人查看再合并”的人工流程,不因缺少一个高级设置就放弃查看改动。
测试任务中不要设置必须有另一个人批准但实际上没有可用审查者的死锁。也别让名为test的空任务通过就算页面操作已验证;检查需要覆盖这次具体行为。
用两条输入重做一次
先清空事实栏,按Tab到Use packing-list facts,触发后应填入完整例子;报告还没提交,次数不变。再把事实栏改成My app works offline.,点击示例按钮,应先确认,取消后这句仍保留。
收到截图时核对它是否真实来自这一版页面。手机截图只能证明该状态下的视觉,已有内容保护和键盘行为还要实际操作或看对应逻辑检查。没有运行证据的就明确记为待做,不能替协作者预先写passed。
如果对方顺手把输入框连接到自动生成,读者点示例就扣次,应退回到任务要求。修正范围只围绕本次输入动作,别扩大成一次全站重做。
将部署与代码提交分开
GitHub Actions安全说明提醒有写权限的代码可以影响工作流和凭据使用。不要以为“密钥放在CI里”就能安全地给任何人运行任意代码。把预览检查与生产部署权限分开,实际方案依仓库工作流设计。
配图是GitHub官方的Actions密钥变更审计日志示例,EXAMPLE_TOKEN与octo-org都是官方示例名称,不是本项目凭据。注意日志里的动作类型与仓库访问范围变化;它用于发现谁改了秘密配置,不是仓库角色矩阵。若你是组织所有者,可按组织审计日志说明进入组织Settings中的Logs/Audit log,查看相关变更;非组织所有者先阅读公开示例即可,不为练习申请过大权限。
协作者任务不需要看到生产Stripe或Resend密钥。若测试只用静态输入按钮,根本不用支付环境变量。审查依赖文件和工作流有无额外改动,再决定合并。
为一次问题写下可再次使用的修复
假设新版上线后发现“已有输入被覆盖”,复盘可以短到这份完成例:
影响:事实栏已有文本的用户点击示例会丢失原输入。
原因:只检查空文本框,没有覆盖已有输入路径。
修复:替换前确认;取消后保留原文本。
防再发:任务模板固定保留空输入/已有输入两种检查。
Google SRE复盘章节强调记录影响、原因和改进,本例把它缩到一个小协作任务。你拿到的不只是一位帮忙写按钮的人,还有一份下一次能复用的任务和交接样式。