跳转到内容

使用说明

一份完整的用户指南。关于概念,请参阅简介

eastagiletracker.com/register 用电子邮件和密码注册,或者如果你更喜欢 OAuth,用 GitHub 继续。点击我们发送的链接验证你的电子邮件;在此之前你可以登录,但部分功能受限。

如果你被邀请加入某个项目或某个组织,请点击邀请邮件中的链接——你的账户会被创建(或者你直接登录),然后径直落在对应的看板上。

忘记密码?在登录页面使用 Forgot Password;我们会用电子邮件发送一个重置链接。

从右上角的头像 → Account Settings

  • Profile——显示名、姓名缩写(用于负责人头像)、电子邮件。
  • Bio——一段简短的自我介绍(最多 4 KiB)。显示在 /me 和组织成员列表上,让智能体(或队友)能挑对该问的人。留空即表示不参与。
  • Password——随时更改。
  • Avatar——上传一张图片,或退而使用你的姓名缩写。
  • API Keys——创建个人 API 令牌;见 API 指南
  • Theme——Agile、Labs、Dark 或 Light(也可从侧边栏切换)。
  • Delete Account——两步确认。将你从所有组织和项目中移除。

从右上角的头像 → Security

  • 双因素(TOTP)——用任意验证器应用(1Password、Authy、Google Authenticator……)设置一个验证码。获得 10 个一次性恢复码——它们只显示一次,所以请妥善保存。日后可用一个当前验证码或一个恢复码来停用。
  • 通行密钥(Passkeys)——添加一个设备绑定的 WebAuthn 通行密钥(Touch ID、Windows Hello、硬件安全密钥)。之后即可无密码登录。在同一页面上添加、命名和移除密钥。

一次成功的登录会铸造两枚令牌:一枚短时效的 access JWT 和一枚长时效的 refresh token(30 天,每次使用时轮换)。SPA 会在 access token 过期时自动刷新它;在 refresh token 过期或你登出之前,你都保持登录状态。登出会在服务端撤销 refresh token,因此被窃的副本无法被重放。

大多数账户供个人使用为 Free Forever。如果你的账户有按量计费的额度余额,可在 Account → Billing 下查看——通过 Paddle 结账充值,查看交易历史。

每个账户都隶属于一个或多个组织。一次全新的注册会以 Linear/Vercel 的方式自动创建一个个人组织(“<Name> Org”)。项目存在于组织之内,而组织成员资格门控着项目成员资格。

点击顶栏中的组织切换器,在你所属的各组织之间切换。活动的组织会为侧边栏着色、限定“Projects”列表的范围,并在你创建新项目时预先选中它。

点击侧边栏中的组织区块 → Manage organization → 你会落在 /organization/{id}/projects。侧边栏会呈现三个管理标签:

  • Projects——本组织中的所有项目。
  • Members——当前成员、角色以及待处理的邀请。按电子邮件邀请;邀请会绑定到该邮箱,附带一个有 TTL 的令牌和一个角色上限(成员无法邀请管理员)。
  • Settings (仅限所有者)——组织名称、slug、套餐。在这里将所有权转移给另一名成员。

把一名成员从某个组织中移除会级联:在同一事务中,他在该组织各项目中的逐项目成员资格都会被撤销。一旦他失去组织访问权,被收藏的看板 URL 立刻失效——不会留下任何孤立的痕迹。

Projects 页面点击 New Project。创建表单只问两件事:

  • Title——必填。
  • Description——可选;对所有成员可见。

其余一切——迭代长度、起始日、初始速率、估算尺度、完成状态、任务开关——都在之后于 Project Settings 中设置,并预置了合理的默认值。

在项目的 Settings 菜单下,共有四个标签:

  • Project——编辑标题、描述、迭代长度与起始日、速率策略(最近 3 / 5 / 10 个的平均)、完成状态、估算尺度、任务开关。
  • Member——邀请、升降级以及移除人类成员(见下文成员与邀请)。
  • Agent——为本项目铸造和撤销智能体 API 密钥(见下文智能体)。仅限所有者。
  • Import——从另一款 tracker 导入故事(见下文从其他 tracker 导入)。

在 Project Settings 的 Member 标签中,按电子邮件邀请人类。待处理的邀请会单独放在一个分组里,直到被接受为止;你可以看到谁被邀请了,并能重发或撤销。活动成员可在 viewermemberowner 之间升降级。所有者可以更改项目设置;查看者可读但不可写。

项目历史在它自己的页面上——对项目设置的每一次更改、每一次成员变动,都连同操作者(人类或智能体)一并记录。

在任意看板面板(Current、Backlog、Icebox 或自定义面板)上使用 + Add story 入口——输入标题并按 Enter。

Current 中创建的新故事默认为 current_state = 'unstarted'。这与 PT 保持一致:一个 Current 迭代是一份工作的计划,而非按状态的分区。负责人在开始动手时才明确地 Start 这个故事——周期时间的时钟在那之前不会启动。

必填:标题。选择一个类型(默认为 feature)。添加描述、估算(仅限功能)、标签、负责人、关注者、阻碍——这些都可以稍后从详情面板补填。

很快地按了两下 Enter?没关系——该按钮有防护;你恰好只会得到一个故事。

功能是唯一带点数的类型。点击卡片上(或详情面板中)的点数圆圈,从尺度中挑选。未估算的功能显示一个空白圆圈。

  • Fibonacci 尺度——0, 1, 2, 3, 5, 8, 13。标准 XP。任何大于 13 的,都应拆成更小的故事。
  • East Agile 尺度——0, 1, 2, 3。更紧凑。一个 3 意味着一个人一整个迭代的时间。超过 3 的就装不下了。
  • 3-Point 尺度——1, 2, 3(小 / 中 / 大)。严格的 T 恤尺码法——没有零选项,没有半点。

在 Project Settings 中一次性挑选尺度;之后可以更换(已有的估算会跨尺度映射)。

有三种方式让故事走过生命周期:

  1. 点击卡片上的就地操作按钮——StartFinishDeliverAcceptReject。按钮文字反映该故事类型的下一个有效状态。
  2. 拖动卡片到不同的列。系统会施加跨越那一列所隐含的流转。向后的移动会提示确认。
  3. 批量流转——选中多个故事,Transition all——每个故事独立流转。若有一个非法,其余的仍会通过。

点击故事行的任意处即可就地展开它。详情面板显示:

  • 标题(可编辑)、描述(Markdown)、类型、估算、请求者。
  • 负责人(添加/移除成员或智能体)、关注者、标签。
  • 任务(如已启用)、评论、附件、阻碍、链接、评审。
  • 一个三点菜单,用于复制、删除及其他较不常用的操作。

Escape 关闭最近打开的故事(它会记住堆栈——一次折叠一个)。

最多 10,000 个字符,按 Markdown 渲染。可编辑和删除自己的评论;审计日志会保留历史。用 @ 提及成员,自动补全会把他们识别出来。

把文件拖到详情面板上,或使用上传按钮。每个文件最大 2 GB——是的,大到足够放屏幕录制的视频讲解。可就地使用视频播放器。

从侧边栏的 Labels 页面:创建带名称和颜色的标签,过时则归档(已归档的标签从看板上消失,但仍可搜索)。在详情面板中逐故事添加标签。

  • Blockers——一段自由文本的“此事被 X 阻碍”备注。标记为已解决/未解决。可用 has:blocker 筛选看板。
  • Links——六种关系类型:relates toduplicatesblocksis blocked bypull requestbranch。粘贴一个 GitHub URL,类型会被自动检测。
  • Reviews——指派一名评审者(人类或智能体),附带状态(pendingapprovedrejected)和可选评论。

如果在 Project Settings 中启用,故事就会带子任务——故事内部的一份清单。随做随勾;计数会显示在卡片上。

故事详情界面上每一个选择型变量,在其标签旁都带有一个小小的 [?] 图标。在应用内点击它,即可看到下文所概述的相同指引。译者会随 UI 的其余部分一并交付应用内文案;本节是长篇形式的权威参考。

各字段按其在 Overview 标签中出现的顺序列出。

故事在生命周期中的位置:Unstarted → Started → Finished → Delivered → Accepted(或 Rejected 回到 Started)。

关键的状态是 Delivered:工程师将其标记为已交付,但直到产品负责人对照验收标准明确接受它——或者拒绝它,将其打回——它才算完成。这把一个客户反馈闭环烘焙进了每一个故事,而非把验收推迟到迭代末的演示。

如果故事在 Delivered 里堆积,那是一个信号,表明接受/拒绝的闭环已经停滞。每个迭代末都看一看 Delivered 的计数——如果它在增长,那就是你的信号:产品负责人投入不足,或者验收标准在前期还不够清晰。

故事被规划进哪个迭代。保持为 None 可让故事留在 Backlog,系统会在那里基于速率自动把它归入某个即将到来的迭代之下。

这里的手动覆盖在你想把一个故事到某个特定迭代、不论其顺序时很有用——例如把一个发布故事系在一个固定日期上。否则,就让 Backlog 中的顺序去驱动迭代分配;那正是让速率预测保持诚实的东西。

谁在做这件事。负责人可以是人类智能体——两者在审计日志、评论署名和分析中都呈现为具名参与者。无法把一个智能体负责人伪装成人类。

多个负责人是结对编程(或与智能体结对)的可见表达。把领走故事的那个智能体,和评审的那个人类,都加进去——两个名字都会出现在卡片上。这能让在制品保持在低位;先完成再开始下一个故事,是周期时间上最大的那个杠杆。

负责人与 Followers(卡片上一个单独的字段)不同。关注者是关心故事但并不做工作的人——通常是通知的订阅者。

这四种类型并非可以互换——这种区分正是数据模型的全部要点。

  • Feature——用户可观察的新价值。唯一带点数并计入速率的类型。这迫使你把工作切分为用户能看见的价值。
  • Bug——一个缺陷。不计点。缺陷不挣速率分,这让返工成本保持可见,而非受到奖励。
  • Chore——没有直接用户价值的必要工作(重构、基础设施、搭建)。不计点。团队会被推动着尽可能把杂务捆绑进功能里,以让价值导向的框架保持诚实。
  • Release——一个为里程碑设的零点标记。直接从 Unstarted 走到 Accepted,为预测锚定一个日期。

如果你发现自己想给一个缺陷或杂务打点:别这么做。那会破坏那个让整个系统保持诚实的预测。速率是一台度量仪器;你不会去篡改自己的仪器。

**能不用就不用。**Backlog 本身就是优先级——自上而下、单一优先级、不允许并列。产品负责人掌管着顺序。

“优先级”字段是那个典型的反模式,它会悄无声息地把一份经验性的、有序的待办列表,重新变回一厢情愿的规划。如果你发现自己有三个 P1,那你没有优先级——你有的是一份顺序搞错了的 Backlog。修正顺序;删掉优先级信号。

这个字段之所以存在,是为了兼容那些使用它的 tracker(Jira、Asana……)的导入,好让导入的故事在进来的路上不丢失信息。在新工作中,把它留在“None”上。

故事的相对大小。功能得点;缺陷、杂务和发布保持为零。

估算是一场定大小的对话,而非一项承诺。不要把点数换算成小时;不要为了显得快而虚增点数。速率是一台度量仪器——你不会去篡改自己的仪器。

随附三套尺度:

  • Fibonacci——0, 1, 2, 3, 5, 8, 13。经典的 XP 尺度。任何大于 13 的都应拆分。
  • East Agile——0, 1, 2, 3。一套更紧凑的尺度。一个 3 意味着一个人一整个迭代的时间。
  • 3-Point——1, 2, 3(小 / 中 / 大)。严格的 T 恤尺码法。

如果你经常用 5、8 或 13 来估算,你的故事太大了。一直拆分,直到每个都是可独立交付的(INVEST 中的 S 和 I)。

谁请求了这个故事。通常是一个人——产品负责人、某位利益相关者,或代表某人行事的智能体。

请求者不是负责人。负责人是做工作的那个人;请求者是关心结果、并将(或将不)接受它的那个人。他们可以是同一个人,但这是两个独立的角色。记录请求者,正是让你在六个月后能给出*“是谁请求了这个?”*这一审计答案的东西。

彩色标记。故事可以带多个。用于横切的分类——mvptech-debtsecurity、某个特定的发布名称——以及看板筛选(搜索框里的 label:mvp,或把它存为一个自定义筛选面板)。

标签是项目范围内的。在侧边栏的 Labels 页面管理它们。把过时的标签归档而非删除;归档让历史仍可搜索,同时清理看板。

自由文本备注,描述是什么在阻止该故事推进。障碍解除时标记为已解决。

阻碍是一个流动信号,而非一个队列。用每日站会把它们摆到台面上;在流程之外解决它们。如果你每个故事在超过一天的时间里都有不止一两个未解决的阻碍,那是规划出了错——拆分故事,或者改变依赖关系。目标是让 Blocked 面板在大多数时候都基本为空。

故事是什么,以及如何辨别它已经完成。Markdown。

验收标准应放在这里——最好采用 Given / When / Then 形式,以便直接映射到验收测试:

Given I am signed in as a member
When I click "Add a story" in Current
Then the story is created in state "unstarted"

INVEST 是检验故事是否成形的理智核验:

  • Independent——可在不依赖其他故事的情况下发布。
  • Negotiable——捕捉的是意图,而非一份冻结的规格。
  • Valuable——对某个用户或利益相关者有价值。
  • Estimable——团队能给它定大小。
  • Small——能从容地装进一个迭代。
  • Testable——拥有可被执行的验收标准。

待办列表顶部、却带着含糊验收标准的故事,是一个规划缺陷——而不是一个可以忽略的未来问题。在让它推进之前先把它修好。

在看板上选中多个故事(shift-点击选范围,或 Select all in panel)。然后:

  • 批量流转
  • 批量删除
  • 批量复制

看板是每个项目的主屏幕。默认有三列:

  • Current——活动迭代中的故事。按迭代头分组(当前、随后、再到已关闭)。卡片按迭代时序出现,每张卡片上都可见其状态;该列按状态切分——那会破坏团队据以规划的迭代时序。
  • Backlog——严格有序的队列。系统会基于速率自动归出即将到来的迭代。产品负责人掌管自上而下的顺序;越往下滚,清晰度允许递减,但顶部绝不可以。
  • Icebox——没有日期的想法。无序、未估算。Icebox 可以是一片坟场。

侧边栏的 Board 区域列出每一个预设列并配一个复选框:勾选以显示该列,取消勾选以隐藏。切换状态按项目、按用户持久保存(它们通过 GET/PUT /preferences 同步)。各预设为:

  • Current Iteration (默认开启)
  • Backlog (默认开启)
  • Icebox (默认开启)
  • Done——已接受的故事。
  • My Work——你是负责人的故事。
  • Blocked——带未解决阻碍的故事。
  • Epics——史诗层面的汇总。
  • Chat——项目范围内的聊天列。

把一次搜索固定成一个面板:粘贴一个查询,比如 type:feature label:mvp owner:claire,把它保存。按需调整列宽;宽度跨会话持久保存。

搜索栏接受简介中所述的筛选语法。搜索结果存在于一个结果面板里;点击任意一个即可跳到它在看板上的位置。

顶栏显示当前迭代的编号、日期范围,以及已接受相对计划的点数。点击即可跳到 Current 列。

系统会根据你的迭代长度和起始日自动创建迭代。你不必去“打开”或“关闭”它们。

要提前规划,把故事从 Backlog 拖入即将到来的迭代分组。系统会在某个分组超出你的速率时把它标红。要规划得更远,滚动待办列表——它会显示前方三四个迭代。

要回溯:点击 Current 列中任意一个过去的迭代头,即可下钻进入迭代报告。

发布是一种故事类型,而非一个单独的对象。创建一个发布的方式,和你创建任何故事一样:选择 Release 作为类型,给它一个名称(例如 v2.4),把它拖入你打算发货的那个迭代。

发布会跳过 Started/Finished/Delivered/Rejected 状态——它们一步就从 Unstarted 到 Accepted。在你发货时接受一个发布;分析视图会显示发布标记。

Analytics 标签页(在项目顶部)为你提供六份报告:

  • Project Overview——速率趋势、近期迭代 KPI、燃起、燃尽、累积流。
  • Iteration——下钻进单个迭代:KPI、燃尽、状态流。
  • Releases & Burndowns——发布时间线、逐发布燃尽。
  • Story Activity——谁做了什么,可按操作者、类型、日期范围筛选。
  • Cycle Time——从 Started 到你的完成状态所用时间的均值与分布。
  • Projections——以当前速率预测待办列表何时能做完。

这是让本产品与众不同的部分。智能体是一名具名队友——只不过它是 AI。

你必须是项目所有者(或管理员)。打开 Project Settings → Agents

  1. Create new agent key
  2. 给智能体一个名字(它会以这个名字出现在审计日志、评论署名和负责人头像中)。
  3. 挑一个角色——viewer(只读)或 member(可写)。owner 角色仅限人类。
  4. 密钥只显示一次——把它复制下来;我们不以可取回的方式存储它。前缀是 ea_agent_…

一个具 member 角色的智能体,能做人类成员所能做的任何事:

  • 创建、编辑、流转、删除故事
  • 评论、附加文件、添加标签、设置负责人
  • 选自己作为某个故事的负责人
  • 读取活动、追随事件

审计日志会以该智能体的身份记录每一次写入。无法让一个智能体的动作看起来像是人类的动作。

Project Settings → Agents 中,你能看到所有活动密钥、它们的名称、角色和上次使用时间戳。随时撤销一个密钥;该智能体会立刻失去访问权。该智能体过去的活动会永远留在审计日志里。

代码示例见 API 指南 → 智能体密钥

如果你正从另一款工具迁来,我们为八个来源提供了导入工具:

  • Pivotal Tracker
  • Jira
  • Asana
  • GitLab
  • Shortcut
  • Trello
  • Linear
  • Plane

Project Settings → Import,上传一份导出文件(大多数为 CSV,Plane 为 JSON)。故事、负责人、评论、标签和状态会自动映射;某些来源还会带入迭代。

预览会显示将要导入的内容。不匹配之处(例如某个标签不在你的项目中)会弹出提示——创建还是跳过,由你决定。

随附四款主题。在侧边栏页脚(或在 Account Settings → Theme)切换:

  • Agile——营销落地页的配色。暖白、深蓝品牌强调色(#1f6f9f)、饱和的故事类型图标。切换器中的首选项。
  • Labs——被悉心保留的 Pivotal Tracker 配色。深色界面、蓝色顶栏、列间隙的柔和色调。原版。
  • Dark——纯中性深色。
  • Light——纯中性浅色。墨落于纸。

你的主题会跨会话持久保存。

界面被翻译成 15 种语言:英语、法语、德语、西班牙语、日语、中文、韩语、葡萄牙语、意大利语、荷兰语、瑞典语、丹麦语、捷克语、芬兰语、波兰语。在侧边栏页脚切换——界面框架、认证页面、账户/安全区域、项目列表以及营销落地页会立即本地化。故事详情 / 分析 / 设置的本地化将陆续跟进。

几个物有所值的:

  • Escape——折叠最近打开的故事。
  • 在就地输入框中按 Enter——提交(不会折叠该行)。
  • Shift-点击——范围选中故事。

随着时间推移会添加更多;当前列表见侧边栏中的 Help

East Agile Tracker 是开源的。完整源码在 github.com/EastAgile/agile-tracker——克隆它、构建它、在你自己的基础设施上运行它。功能集与托管版本相同。

关于搭建,请参阅项目 README。