agile-product-owner

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Agile Product Owner

Agile 产品负责人

Backlog management and sprint execution toolkit for product owners, including user story generation, acceptance criteria patterns, sprint planning, and velocity tracking.

面向产品负责人的 Backlog 管理与 Sprint 执行工具包,包括 User Story 生成、Acceptance Criteria 模板、Sprint 规划以及速度跟踪。

Table of Contents

目录

User Story Generation Workflow

User Story 生成流程

Create INVEST-compliant user stories from requirements:
  1. Identify the persona (who benefits from this feature)
  2. Define the action or capability needed
  3. Articulate the benefit or value delivered
  4. Write acceptance criteria using Given-When-Then
  5. Estimate story points using Fibonacci scale
  6. Validate against INVEST criteria
  7. Add to backlog with priority
  8. Validation: Story passes all INVEST criteria; acceptance criteria are testable
根据需求创建符合 INVEST 标准的 User Story:
  1. 确定 Persona(谁将从该功能中受益)
  2. 定义所需的操作或能力
  3. 明确带来的收益或价值
  4. 使用 Given-When-Then 格式编写 Acceptance Criteria
  5. 使用 Fibonacci 量表估算故事点数
  6. 对照 INVEST 标准验证
  7. 按优先级添加到 Backlog 中
  8. 验证: Story 符合所有 INVEST 标准;Acceptance Criteria 可测试

User Story Template

User Story 模板

As a [persona],
I want to [action/capability],
So that [benefit/value].
Example:
As a marketing manager,
I want to export campaign reports to PDF,
So that I can share results with stakeholders who don't have system access.
As a [persona],
I want to [action/capability],
So that [benefit/value].
示例:
As a marketing manager,
I want to export campaign reports to PDF,
So that I can share results with stakeholders who don't have system access.

Story Types

故事类型

TypeTemplateExample
FeatureAs a [persona], I want to [action] so that [benefit]As a user, I want to filter search results so that I find items faster
ImprovementAs a [persona], I need [capability] to [goal]As a user, I need faster page loads to complete tasks without frustration
Bug FixAs a [persona], I expect [behavior] when [condition]As a user, I expect my cart to persist when I refresh the page
EnablerAs a developer, I need to [technical task] to enable [capability]As a developer, I need to implement caching to enable instant search
类型模板示例
FeatureAs a [persona], I want to [action] so that [benefit]As a user, I want to filter search results so that I find items faster
ImprovementAs a [persona], I need [capability] to [goal]As a user, I need faster page loads to complete tasks without frustration
Bug FixAs a [persona], I expect [behavior] when [condition]As a user, I expect my cart to persist when I refresh the page
EnablerAs a developer, I need to [technical task] to enable [capability]As a developer, I need to implement caching to enable instant search

Persona Reference

Persona 参考

PersonaTypical NeedsContext
End UserEfficiency, simplicity, reliabilityDaily feature usage
AdministratorControl, visibility, securitySystem management
Power UserAutomation, customization, shortcutsExpert workflows
New UserGuidance, learning, safetyOnboarding

Persona典型需求使用场景
End User高效、简洁、可靠日常功能使用
Administrator可控、可视、安全系统管理
Power User自动化、可定制、快捷操作专家级工作流
New User引导、学习、安全新用户入门

Acceptance Criteria Patterns

Acceptance Criteria 模板

Write testable acceptance criteria using Given-When-Then format.
使用 Given-When-Then 格式编写可测试的 Acceptance Criteria。

Given-When-Then Template

Given-When-Then 模板

Given [precondition/context],
When [action/trigger],
Then [expected outcome].
Examples:
Given the user is logged in with valid credentials,
When they click the "Export" button,
Then a PDF download starts within 2 seconds.

Given the user has entered an invalid email format,
When they submit the registration form,
Then an inline error message displays "Please enter a valid email address."

Given the shopping cart contains items,
When the user refreshes the browser,
Then the cart contents remain unchanged.
Given [precondition/context],
When [action/trigger],
Then [expected outcome].
示例:
Given the user is logged in with valid credentials,
When they click the "Export" button,
Then a PDF download starts within 2 seconds.

Given the user has entered an invalid email format,
When they submit the registration form,
Then an inline error message displays "Please enter a valid email address."

Given the shopping cart contains items,
When the user refreshes the browser,
Then the cart contents remain unchanged.

Acceptance Criteria Checklist

Acceptance Criteria 检查清单

Each story should include criteria for:
CategoryExample
Happy PathGiven valid input, When submitted, Then success message displayed
ValidationShould reject input when required field is empty
Error HandlingMust show user-friendly message when API fails
PerformanceShould complete operation within 2 seconds
AccessibilityMust be navigable via keyboard only
每个 Story 应包含以下类别的标准:
类别示例
正常流程Given 有效输入,When 提交,Then 显示成功消息
验证规则当必填字段为空时应拒绝输入
错误处理API 失败时必须显示用户友好的提示信息
性能要求操作应在 2 秒内完成
可访问性必须仅通过键盘即可导航

Minimum Criteria by Story Size

按故事大小划分的最低标准数量

Story PointsMinimum AC Count
1-23-4 criteria
3-54-6 criteria
85-8 criteria
13+Split the story
See
references/user-story-templates.md
for complete template library.

故事点数最低 Acceptance Criteria 数量
1-23-4 条
3-54-6 条
85-8 条
13+拆分该故事
完整模板库请查看
references/user-story-templates.md

Epic Breakdown Workflow

Epic 拆分流程

Break epics into deliverable sprint-sized stories:
  1. Define epic scope and success criteria
  2. Identify all personas affected by the epic
  3. List all capabilities needed for each persona
  4. Group capabilities into logical stories
  5. Validate each story is ≤8 points
  6. Identify dependencies between stories
  7. Sequence stories for incremental delivery
  8. Validation: Each story delivers standalone value; total stories cover epic scope
将 Epic 拆分为可在 Sprint 内交付的小型 Story:
  1. 定义 Epic 的范围和成功标准
  2. 识别受该 Epic 影响的所有 Persona
  3. 列出每个 Persona 所需的所有能力
  4. 将能力分组为逻辑独立的 Story
  5. 验证每个 Story 的点数 ≤8
  6. 识别 Story 之间的依赖关系
  7. 按增量交付顺序排列 Story
  8. 验证: 每个 Story 都能交付独立价值;所有 Story 覆盖 Epic 的全部范围

Splitting Techniques

拆分技巧

TechniqueWhen to UseExample
By workflow stepLinear process"Checkout" → "Add to cart" + "Enter payment" + "Confirm order"
By personaMultiple user types"Dashboard" → "Admin dashboard" + "User dashboard"
By data typeMultiple inputs"Import" → "Import CSV" + "Import Excel"
By operationCRUD functionality"Manage users" → "Create" + "Edit" + "Delete"
Happy path firstRisk reduction"Feature" → "Basic flow" + "Error handling" + "Edge cases"
技巧使用场景示例
按工作流步骤拆分线性流程"Checkout" → "Add to cart" + "Enter payment" + "Confirm order"
按 Persona 拆分多用户类型"Dashboard" → "Admin dashboard" + "User dashboard"
按数据类型拆分多输入类型"Import" → "Import CSV" + "Import Excel"
按操作类型拆分CRUD 功能"Manage users" → "Create" + "Edit" + "Delete"
先处理正常流程降低风险"Feature" → "Basic flow" + "Error handling" + "Edge cases"

Epic Example

Epic 示例

Epic: User Dashboard
Breakdown:
Epic: User Dashboard (34 points total)
├── US-001: View key metrics (5 pts) - End User
├── US-002: Customize layout (5 pts) - Power User
├── US-003: Export data to CSV (3 pts) - End User
├── US-004: Share with team (5 pts) - End User
├── US-005: Set up alerts (5 pts) - Power User
├── US-006: Filter by date range (3 pts) - End User
├── US-007: Admin overview (5 pts) - Admin
└── US-008: Enable caching (3 pts) - Enabler

Epic:用户仪表盘
拆分结果:
Epic: User Dashboard (34 points total)
├── US-001: View key metrics (5 pts) - End User
├── US-002: Customize layout (5 pts) - Power User
├── US-003: Export data to CSV (3 pts) - End User
├── US-004: Share with team (5 pts) - End User
├── US-005: Set up alerts (5 pts) - Power User
├── US-006: Filter by date range (3 pts) - End User
├── US-007: Admin overview (5 pts) - Admin
└── US-008: Enable caching (3 pts) - Enabler

Sprint Planning Workflow

Sprint 规划流程

Plan sprint capacity and select stories:
  1. Calculate team capacity (velocity × availability)
  2. Review sprint goal with stakeholders
  3. Select stories from prioritized backlog
  4. Fill to 80-85% of capacity (committed)
  5. Add stretch goals (10-15% additional)
  6. Identify dependencies and risks
  7. Break complex stories into tasks
  8. Validation: Committed points ≤85% capacity; all stories have acceptance criteria
规划 Sprint 容量并选择 Story:
  1. 计算团队容量(速度 × 可用系数)
  2. 与利益相关者评审 Sprint 目标
  3. 从优先级排序后的 Backlog 中选择 Story
  4. 填充至容量的 80-85%(承诺交付部分)
  5. 添加延伸目标(额外 10-15%)
  6. 识别依赖关系和风险
  7. 将复杂 Story 拆分为任务
  8. 验证: 承诺点数 ≤ 容量的 85%;所有 Story 均有 Acceptance Criteria

Capacity Calculation

容量计算

Sprint Capacity = Average Velocity × Availability Factor

Example:
Average Velocity: 30 points
Team availability: 90% (one member partially out)
Adjusted Capacity: 27 points

Committed: 23 points (85% of 27)
Stretch: 4 points (15% of 27)
Sprint 容量 = 平均速度 × 可用系数

示例:
平均速度:30 点
团队可用率:90%(一名成员部分缺勤)
调整后容量:27 点

承诺交付:23 点(27 的 85%)
延伸目标:4 点(27 的 15%)

Availability Factors

可用系数

ScenarioFactor
Full sprint, no PTO1.0
One team member out 50%0.9
Holiday during sprint0.8
Multiple members out0.7
场景系数
完整 Sprint,无休假1.0
一名成员缺勤 50%0.9
Sprint 期间有节假日0.8
多名成员缺勤0.7

Sprint Loading Template

Sprint 负载模板

Sprint Capacity: 27 points
Sprint Goal: [Clear, measurable objective]

COMMITTED (23 points):
[H] US-001: User dashboard (5 pts)
[H] US-002: Export feature (3 pts)
[H] US-003: Search filter (5 pts)
[M] US-004: Settings page (5 pts)
[M] US-005: Help tooltips (3 pts)
[L] US-006: Theme options (2 pts)

STRETCH (4 points):
[L] US-007: Sort options (2 pts)
[L] US-008: Print view (2 pts)
See
references/sprint-planning-guide.md
for complete planning procedures.

Sprint 容量: 27 points
Sprint Goal: [清晰、可衡量的目标]

COMMITTED (23 points):
[H] US-001: User dashboard (5 pts)
[H] US-002: Export feature (3 pts)
[H] US-003: Search filter (5 pts)
[M] US-004: Settings page (5 pts)
[M] US-005: Help tooltips (3 pts)
[L] US-006: Theme options (2 pts)

STRETCH (4 points):
[L] US-007: Sort options (2 pts)
[L] US-008: Print view (2 pts)
完整规划流程请查看
references/sprint-planning-guide.md

Backlog Prioritization

Backlog 优先级排序

Prioritize backlog using value and effort assessment.
通过价值与工作量评估对 Backlog 进行优先级排序。

Priority Levels

优先级等级

PriorityDefinitionSprint Target
CriticalBlocking users, security, data lossImmediate
HighCore functionality, key user needsThis sprint
MediumImprovements, enhancementsNext 2-3 sprints
LowNice-to-have, minor improvementsBacklog
优先级定义Sprint 目标
关键阻碍用户使用、涉及安全或数据丢失立即处理
核心功能、关键用户需求本次 Sprint
优化、增强功能未来 2-3 个 Sprint
锦上添花的功能、小幅优化待办列表

Prioritization Factors

优先级评估因素

FactorWeightQuestions
Business Value40%Revenue impact? User demand? Strategic alignment?
User Impact30%How many users? How frequently used?
Risk/Dependencies15%Technical risk? External dependencies?
Effort15%Size? Complexity? Uncertainty?
因素权重评估问题
业务价值40%对收入的影响?用户需求?战略对齐度?
用户影响30%覆盖用户数量?使用频率?
风险/依赖15%技术风险?外部依赖?
工作量15%规模?复杂度?不确定性?

INVEST Criteria Validation

INVEST 标准验证

Before adding to sprint, validate each story:
CriterionQuestionPass If...
IndependentCan this be developed without other uncommitted stories?No blocking dependencies
NegotiableIs the implementation flexible?Multiple approaches possible
ValuableDoes this deliver user or business value?Clear benefit in "so that"
EstimableCan the team estimate this?Understood well enough to size
SmallCan this complete in one sprint?≤8 story points
TestableCan we verify this is done?Clear acceptance criteria

添加到 Sprint 之前,验证每个 Story:
标准验证问题通过条件
Independent该 Story 是否可以在不依赖其他未承诺 Story 的情况下开发?无阻塞依赖
Negotiable实现方式是否灵活?有多种可行方案
Valuable是否为用户或业务带来价值?"so that" 部分有明确收益
Estimable团队是否可以估算其工作量?足够理解以进行规模估算
Small是否可以在一个 Sprint 内完成?≤8 故事点数
Testable我们是否可以验证其已完成?有清晰的 Acceptance Criteria

Reference Documentation

参考文档

User Story Templates

User Story 模板

references/user-story-templates.md
contains:
  • Standard story formats by type (feature, improvement, bug fix, enabler)
  • Acceptance criteria patterns (Given-When-Then, Should/Must/Can)
  • INVEST criteria validation checklist
  • Story point estimation guide (Fibonacci scale)
  • Common story antipatterns and fixes
  • Story splitting techniques
references/user-story-templates.md
包含:
  • 按类型划分的标准 Story 格式(feature、improvement、bug fix、enabler)
  • Acceptance Criteria 模板(Given-When-Then、Should/Must/Can)
  • INVEST 标准验证检查清单
  • 故事点数估算指南(Fibonacci 量表)
  • 常见 Story 反模式及修复方案
  • Story 拆分技巧

Sprint Planning Guide

Sprint 规划指南

references/sprint-planning-guide.md
contains:
  • Sprint planning meeting agenda
  • Capacity calculation formulas
  • Backlog prioritization framework (WSJF)
  • Sprint ceremony guides (standup, review, retro)
  • Velocity tracking and burndown patterns
  • Definition of Done checklist
  • Sprint metrics and targets

references/sprint-planning-guide.md
包含:
  • Sprint 规划会议议程
  • 容量计算公式
  • Backlog 优先级排序框架(WSJF)
  • Sprint 仪式指南(站会、评审会、回顾会)
  • 速度跟踪与燃尽图模式
  • 完成定义(Definition of Done)检查清单
  • Sprint 指标与目标

Tools

工具

User Story Generator

User Story 生成器

bash
undefined
bash
undefined

Generate stories from sample epic

从示例 Epic 生成故事

python scripts/user_story_generator.py
python scripts/user_story_generator.py

Plan sprint with capacity

结合容量规划 Sprint

python scripts/user_story_generator.py sprint 30

Generates:
- INVEST-compliant user stories
- Given-When-Then acceptance criteria
- Story point estimates (Fibonacci scale)
- Priority assignments
- Sprint loading with committed and stretch items
python scripts/user_story_generator.py sprint 30

生成内容:
- 符合 INVEST 标准的 User Story
- Given-When-Then 格式的 Acceptance Criteria
- 故事点数估算(Fibonacci 量表)
- 优先级分配
- 包含承诺交付和延伸目标的 Sprint 负载

Sample Output

示例输出

USER STORY: USR-001
========================================
Title: View Key Metrics
Type: story
Priority: HIGH
Points: 5

Story:
As a End User, I want to view key metrics and KPIs
so that I can save time and work more efficiently

Acceptance Criteria:
  1. Given user has access, When they view key metrics, Then the result is displayed
  2. Should validate input before processing
  3. Must show clear error message when action fails
  4. Should complete within 2 seconds
  5. Must be accessible via keyboard navigation

INVEST Checklist:
  ✓ Independent
  ✓ Negotiable
  ✓ Valuable
  ✓ Estimable
  ✓ Small
  ✓ Testable

USER STORY: USR-001
========================================
Title: View Key Metrics
Type: story
Priority: HIGH
Points: 5

Story:
As a End User, I want to view key metrics and KPIs
so that I can save time and work more efficiently

Acceptance Criteria:
  1. Given user has access, When they view key metrics, Then the result is displayed
  2. Should validate input before processing
  3. Must show clear error message when action fails
  4. Should complete within 2 seconds
  5. Must be accessible via keyboard navigation

INVEST Checklist:
  ✓ Independent
  ✓ Negotiable
  ✓ Valuable
  ✓ Estimable
  ✓ Small
  ✓ Testable

Sprint Metrics

Sprint 指标

Track sprint health and team performance.
跟踪 Sprint 健康状况和团队绩效。

Key Metrics

关键指标

MetricFormulaTarget
VelocityPoints completed / sprintStable ±10%
Commitment ReliabilityCompleted / Committed>85%
Scope ChangePoints added or removed mid-sprint<10%
CarryoverPoints not completed<15%
指标计算公式目标
速度完成点数 / Sprint稳定 ±10%
承诺可靠性完成点数 / 承诺点数>85%
范围变更Sprint 中期添加或移除的点数<10%
遗留工作未完成的点数<15%

Velocity Tracking

速度跟踪

Sprint 1: 25 points
Sprint 2: 28 points
Sprint 3: 30 points
Sprint 4: 32 points
Sprint 5: 29 points
------------------------
Average Velocity: 28.8 points
Trend: Stable

Planning: Commit to 24-26 points
Sprint 1: 25 points
Sprint 2: 28 points
Sprint 3: 30 points
Sprint 4: 32 points
Sprint 5: 29 points
------------------------
Average Velocity: 28.8 points
Trend: Stable

Planning: Commit to 24-26 points

Definition of Done

完成定义(Definition of Done)

Story is complete when:
  • Code complete and peer reviewed
  • Unit tests written and passing
  • Acceptance criteria verified
  • Documentation updated
  • Deployed to staging environment
  • Product Owner accepted
  • No critical bugs remaining
Story 完成的条件:
  • 代码完成并通过同行评审
  • 编写单元测试并通过
  • 验证 Acceptance Criteria
  • 更新文档
  • 部署到预发布环境
  • 产品负责人验收通过
  • 无严重 bug 遗留