敏捷开发用户故事系列之八:剖析用户故事描述语法(兼谈不同种类故事的语法)

合集下载

敏捷开发的精益思维和用户故事拆解

敏捷开发的精益思维和用户故事拆解

敏捷开发的精益思维和用户故事拆解敏捷开发是一种以快速响应需求变化为核心的软件开发方法。

在敏捷开发的过程中,精益思维和用户故事拆解是两个关键的工具和技术。

本文将探讨敏捷开发中的精益思维和用户故事拆解,并分析其在项目中的重要性和具体应用。

一、精益思维精益思维是一种注重价值、减少浪费的管理思想。

在敏捷开发中,精益思维被广泛应用于项目管理和产品开发的各个环节。

通过精益思维,团队可以最大限度地提高工作效率,减少资源浪费,提升产品质量。

1.1 精细化需求收集敏捷开发注重快速响应需求变化,而精细化需求收集是实现这一目标的关键。

通过精益思维,团队可以更好地理解和把握用户需求,避免开发无效和低价值的功能。

团队可以通过用户研究、用户调研等方式,深入了解用户的真实需求,将用户需求转化为用户故事。

1.2 消除浪费精益思维强调减少浪费,包括时间、人力和资源上的浪费。

在敏捷开发中,通过精益思维,团队可以及时识别和消除各种浪费。

例如,通过精细化需求收集,避免开发无效功能;通过持续集成和自动化测试,减少开发过程中的重复劳动;通过优化团队协作和沟通,减少转移和等待时间。

1.3 持续改进精益思维鼓励团队不断进行改进和优化。

在敏捷开发中,团队应该保持开放的心态,接受用户和团队成员的反馈,并及时调整和改进项目的方向和开发方法。

通过持续改进,团队可以逐步提高工作效率、产品质量和用户满意度。

二、用户故事拆解用户故事是敏捷开发中的一种需求描述方式,用简洁的语言描述用户的期望和愿望。

用户故事拆解是将用户故事分解为更小、更具体的任务或工作项的过程。

用户故事拆解有助于团队更好地理解和评估工作量,提高工作效率和可控性。

2.1 确定用户故事的价值在用户故事拆解之前,团队需要明确每个用户故事的价值和优先级。

通过明确用户故事的价值,团队可以更好地划分工作的重要性和紧急性,合理安排开发计划和资源分配。

2.2 将用户故事拆解为任务用户故事拆解是将用户故事分解为更小的任务或工作项的过程。

敏捷开发中的需求分析与用户故事编写

敏捷开发中的需求分析与用户故事编写

敏捷开发中的需求分析与用户故事编写在敏捷开发过程中,需求分析是一个至关重要的环节。

它起到桥梁作用,连接着产品所有者与开发团队。

需求分析的目标是准确理解用户的需求,并将之转化为可执行的任务。

而用户故事,则是一种常用的需求表达方式,能够以简洁、直观的方式描述用户需求。

本文将详细介绍敏捷开发中的需求分析和用户故事编写。

一、需求分析需求分析是敏捷开发中的重要一环,其目的是明确产品的功能、性能、界面等方面的要求,以满足用户需求。

下面将介绍敏捷开发中的需求分析过程。

1.需求收集需求收集是指通过与用户交流、研究市场、分析竞争对手等方式,获取用户需求的过程。

在敏捷开发中,要与产品所有者密切合作,与他们进行面对面的交流,倾听他们对产品的期望和要求。

2.需求分解需求分解是将整体需求分解为更小、更具体的需求的过程。

这样做的好处是可以更好地管理和控制需求,将其分配给不同的团队成员,提高开发效率。

3.需求验证需求验证是确认需求的正确性和可实现性。

在敏捷开发中,可以通过原型展示、用户评估等方式进行需求验证,确保产品与用户需求保持一致。

二、用户故事编写用户故事是一种简洁、直观的需求表达方式,在敏捷开发中被广泛采用。

用户故事以用户的角度描述功能,通常包括角色、行为和目的。

下面将介绍如何编写用户故事。

1.角色用户故事中的角色是指使用产品的人,可以是真实的用户,也可以是其他系统。

角色应该尽可能具体明确,以确保故事描述的准确性。

2.行为行为描述了用户要完成的具体操作或动作。

它应该具备可测量性和可验证性,以方便开发团队明确开发目标,并进行必要的测试。

3.目的目的是描述用户进行某个行为的目标和需求。

它可以帮助开发团队更好地理解用户需求,并为用户提供更好的体验。

三、需求分析与用户故事编写的关系需求分析和用户故事编写是相互依赖、相互补充的过程。

需求分析是基础,是用户故事编写的前提。

通过需求分析,我们可以确定用户的真正需求,并将其转化为可执行的用户故事。

敏捷开发中的需求管理与用户故事

敏捷开发中的需求管理与用户故事

敏捷开发中的需求管理与用户故事敏捷开发是一种迭代、协作的软件开发方法,对于需求管理来说,敏捷开发非常注重在开发过程中及时获取、分析和处理需求信息。

而在敏捷开发中,用户故事是最常用的需求定义和交流的方式之一。

本文将详细介绍敏捷开发中的需求管理和用户故事。

一、敏捷开发中的需求管理敏捷开发强调在开发过程中紧密与用户沟通,以便及时获取、分析和处理需求信息。

在传统的瀑布模型中,需求分析和设计往往是起始阶段,而敏捷开发则将需求管理贯穿于整个开发过程中。

敏捷开发中的需求管理包括以下几个主要环节:1.需求获取:敏捷开发强调与用户的持续沟通和密切合作。

开发团队通过与用户的交流,了解用户的需求、期望和目标,明确问题背景和业务场景。

2.需求分析:需求分析是将用户的需求转化为开发团队可以理解和实现的形式。

在敏捷开发中,需求分析是一个持续的过程,不仅限于项目开始阶段。

需求分析的重点是明确需求、评估需求的优先级和可行性,并在开发过程中不断验证和精化。

3.需求管理:敏捷开发中的需求是不断变化和演化的。

需求管理包括对需求进行有效地收集、记录、跟踪和控制,以确保开发团队清楚地了解当前的需求状态和优先级。

4.需求验证:需求验证是指在开发过程中通过测试和验收确保需求的正确性和可行性。

敏捷开发中,需求验证是一个持续进行的过程,随着每个迭代的完成,需求被验证并反馈给用户,以获取及时的修正和改进。

需要注意的是,需求管理是一个持续的过程,在整个敏捷开发过程中需要保持对需求的跟踪和控制,及时对变化的需求进行调整和管理。

二、用户故事(User Story)用户故事是一种常用的需求定义和交流方式,在敏捷开发中得到广泛应用。

用户故事以用户的视角描述系统的功能需求,帮助开发团队更好地理解用户需求,以便更好地设计和实现系统。

用户故事通常由以下三个方面组成:1.角色(Role):描述故事中涉及的角色,例如系统管理员、用户等。

2.功能(Function):描述故事中角色需要的具体功能。

敏捷开发中的用户需求分析与故事管理

敏捷开发中的用户需求分析与故事管理

敏捷开发中的用户需求分析与故事管理在当今快速发展的数字化时代,软件开发的方法和理念不断演进,敏捷开发因其能够快速响应变化、高效交付价值而备受青睐。

在敏捷开发的过程中,用户需求分析与故事管理是至关重要的环节,它们直接影响着产品的质量、用户满意度以及项目的成功与否。

用户需求分析是软件开发的基础,它旨在深入了解用户的期望、目标和问题,以便为软件产品定义明确的功能和特性。

在敏捷开发中,用户需求不再是一份详尽的、预先定义好的文档,而是通过与用户的持续沟通和互动来逐步明晰。

这种方式更加灵活,能够适应不断变化的市场和用户需求。

例如,在开发一款移动购物应用时,最初用户可能只提出了能够方便浏览商品和下单的基本需求。

但在后续的沟通中,可能会进一步提出需要个性化推荐、商品对比等功能。

开发团队就要能够根据这些新的需求,迅速调整开发计划。

用户故事则是敏捷开发中用于描述用户需求的一种有效工具。

一个用户故事通常是从用户的角度出发,以简单、易懂的语言描述一个具体的功能或场景。

它一般包含三个要素:角色、活动和价值。

比如,“作为一个购物者,我希望能够按照价格排序商品,以便更快地找到符合预算的商品,节省购物时间。

”用户故事的优点在于其简洁性和可读性,能够让开发团队、利益相关者和用户都容易理解。

同时,它也为开发过程中的沟通和协作提供了一个共同的语言。

在进行用户故事管理时,需要对故事进行优先级排序。

这是基于多种因素来决定的,如用户需求的紧急程度、对业务目标的影响、技术实现的难度等。

优先处理高优先级的用户故事,能够确保在有限的时间和资源内,为用户提供最有价值的功能。

此外,用户故事的分解也是关键的一步。

一个较大的用户故事可能会被分解成多个较小的、可独立开发和测试的子故事。

这样可以提高开发的效率,降低风险,并且便于对开发进度进行跟踪和评估。

在敏捷开发中,还需要有效的需求变更管理。

由于用户需求的不确定性和变化性,需求变更在所难免。

但不合理的变更可能会导致项目进度延迟、成本增加等问题。

敏捷项目管理中的用户故事分解和任务划分

敏捷项目管理中的用户故事分解和任务划分

敏捷项目管理中的用户故事分解和任务划分敏捷项目管理是一种灵活和迭代的项目管理方法,已经在各行各业得到广泛应用。

在敏捷开发团队中,用户故事是一种常见的需求表达方式。

用户故事能够帮助团队更好地理解用户需求,并将其转化为具体的任务和功能。

本文将重点讨论敏捷项目管理中的用户故事分解和任务划分,以及相关的最佳实践和技巧。

一、用户故事分解用户故事是一种简短的需求描述,以用户的角度来描述系统的功能。

在敏捷项目中,用户故事具有以下格式:“As a (user role), I want (goal), so that (reason).”用户故事应该简洁、具体、可测试和可估算。

当用户故事的规模过大时,我们需要将其进行分解。

用户故事分解的目的是将大型的用户故事切分为更小的、可操作的任务,以便于团队能够更好地理解和估算工作量。

用户故事分解的常用方法包括:1. 功能分解法通过将用户故事的主要功能拆分为一系列子功能来进行分解。

这样可以将复杂的功能拆分为更小的、较为独立的子功能,方便团队进行开发和测试。

例如,我们有一个用户故事:“作为一个用户,我想能够通过手机号码登录系统,以便于访问我的个人信息。

”这个用户故事可以被分解为以下子功能:- 在登录页面输入手机号码- 验证手机号码的有效性- 生成验证码并发送到用户手机号码- 验证用户输入的验证码是否正确- 登录成功后跳转到个人信息页面通过这种方式,我们可以将复杂的用户故事分解为一系列可以独立实现和测试的子功能。

2. 故事拆分法故事拆分法是指通过将用户故事中的不同场景或者条件进行拆分来进行分解。

这样可以确保所提供的功能能够满足不同情境下的需求。

例如,我们有一个用户故事:“作为一个用户,我想能够通过不同方式接收系统的通知,以便于及时获得相关信息。

”将其拆分为以下子功能:- 通过邮件接收通知- 通过短信接收通知- 通过推送通知接收通知通过这种方式,我们可以确保系统在不同条件下提供不同方式的通知功能。

软件开发岗位实习报告:敏捷开发中的用户故事编写与需求管理

软件开发岗位实习报告:敏捷开发中的用户故事编写与需求管理

软件开发岗位实习报告:敏捷开发中的用户故事编写与需求管理一、引言在软件开发领域中,软件需求的准确识别和明确表达是项目成功的关键。

为了满足用户的需求,采用敏捷开发方法是一种高效且灵活的方式。

在敏捷开发中,用户故事(User Story)被广泛应用于需求管理和交付过程中。

本篇报告将围绕敏捷开发中用户故事的编写和需求管理进行探讨与总结。

二、用户故事编写1. 用户故事的定义用户故事是一种简短的表达方式,用于描述一个软件系统的用户需求。

它强调与用户直接沟通和交流,将需求表达在用户的角度上,以帮助开发团队更好地理解用户的期望和需求。

2. 用户故事的结构用户故事通常包含三个关键要素:角色、目标和收益。

其中,角色指的是使用软件的用户,目标是用户希望实现的目标,收益是用户从软件中获得的价值。

例如:“作为一个在线购物平台的用户,我希望能够快速搜索到我需要的商品,以便节省时间和精力。

”3. 编写用户故事的技巧(1)简短明了:用户故事应该尽量简短,清晰明了地表达用户需求,避免冗长的描述和技术细节。

(2)可量化:用户故事应该具备可量化的指标和衡量标准,以便评估需求是否被满足。

(3)可切分:用户故事应该可以被切分成更小的、可独立实现的任务,以便能够迭代地交付软件功能。

三、需求管理1. 需求管理的重要性需求管理是指对软件需求进行有效的计划、组织和控制,以确保软件开发过程中需求的准确性和一致性。

良好的需求管理能够避免需求变更的频繁发生,提高开发效率,降低开发成本。

2. 需求管理的方法(1)敏捷需求管理:敏捷需求管理注重与用户的直接沟通和交流,通过用户故事、需求优先级和产品Backlog等工具,帮助团队更好地管理和满足用户需求。

(2)需求跟踪矩阵:需求跟踪矩阵是一种将需求与测试用例、任务和开发工作关联起来的管理工具,它可以帮助团队追踪需求的实现进度和质量。

(3)原则性需求和可变性需求:原则性需求是指不容易改变的基本需求,而可变性需求则是可以根据用户反馈和评估结果逐步调整和修改的需求。

敏捷软件开发中的用户故事

敏捷软件开发中的用户故事

敏捷软件开发中的用户故事随着软件开发技术的不断发展,敏捷开发模式已经成为了目前软件开发领域中的主流趋势。

而在敏捷软件开发中,用户故事是一种十分重要的工具,它能够帮助团队更好地理解用户需求,并实现其迭代开发过程的可持续性和可扩展性。

一、什么是用户故事用户故事是一种简短的、自然语言描述用户需求的工具。

它通常由一句话或一段话来描述用户所需要的功能或特征,以及实现它们所需要的原因和目的。

每个用户故事都包括三个主要元素:角色、目标和收益。

角色是指故事中涉及到的人物或组织,比如客户、管理员、用户等。

目标是指完成这个故事所需要达到的目的或功能,比如“用户能够查看当前价格”,“管理员可以添加后台用户”等。

收益是指这个故事所能带来的实际价值,包括提高用户的使用率、增加销售额、减少成本等等。

二、用户故事的优势相比于需求文档和规格说明书等传统的需求工具,用户故事具有以下优势:1.易于理解和操作用户故事通常采用自然语言描述,而非过于专业化和复杂的术语和符号,更便于终端用户和开发人员的理解和沟通。

2.更加灵活和适应性强用户故事具有很高的灵活性,可以随时根据实际情况进行修改和调整,从而更好地适应不断变化的用户需求。

3.更容易实现迭代开发用户故事可以根据实际的开发进程进行拆分和优先级排序,以便实现更好的迭代开发,提高项目的可持续性和可扩展性。

4.更加注重用户价值用户故事不仅仅关注功能的实现,更注重实现这些功能所能带来的实际价值和收益,帮助团队更好地理解用户需求和期望。

三、用户故事的编写方法编写用户故事时需要根据具体场景和需求进行选择和归纳,其中一些常用的方法包括:1.场景描述法该方法通常通过描述用户故事的场景,既能够更好地帮助团队理解用户需求,也能够更加直观地说明实现所需要的目标和收益。

比如:“用户登录时,需要输入用户名和密码才能进入系统”。

2.大卡片法该方法适用于需要一些更为详细的说明和补充的用户故事。

通常将用户故事写在一张卡片上,然后再写下相关的说明、优先级、关键程度等信息,使团队更好地理解和处理这个故事。

敏捷开发中的用户故事拆分和规划

敏捷开发中的用户故事拆分和规划

敏捷开发中的用户故事拆分和规划在敏捷开发过程中,用户故事的拆分和规划是非常关键的步骤。

通过合理的用户故事拆分和规划,开发团队能够更好地理解用户需求,明确开发目标,并且使开发过程更加高效和可控。

本文将介绍敏捷开发中用户故事拆分和规划的方法和技巧。

1. 用户故事拆分用户故事是以用户的需求为中心,描述了一个具体的功能或特性。

在敏捷开发中,用户故事通常以以下形式进行拆分:- 垂直切分:将一个复杂的用户故事拆分成多个更小、更容易实现的故事。

例如,原始的用户故事可能是“作为一个用户,我想能够通过微信登录系统”。

这个故事可以拆分成两个故事:“作为一个用户,我想能够通过微信扫码登录系统”和“作为一个用户,我想能够通过微信账号密码登录系统”。

- 水平切分:将一个用户故事的各个方面或功能进行拆分。

例如,对于一个购物平台的用户故事“作为一个用户,我想要浏览商品”,可以拆分出“作为一个用户,我想要按照关键词搜索商品”和“作为一个用户,我想要按照分类查看商品”等。

- 逻辑切分:将一个用户故事按照不同的逻辑进行拆分。

例如,对于一个社交媒体平台的用户故事“作为一个用户,我想要发布动态”,可以拆分成“作为一个用户,我想要发布文字动态”和“作为一个用户,我想要发布图片动态”。

2. 用户故事规划用户故事规划是确定故事的优先级和顺序,以确保在开发过程中重要的功能被及时实现。

规划用户故事时,可以考虑以下几点:- 价值度和复杂度:评估每个用户故事的价值度和实现的复杂度,将重要且相对简单的故事优先实现,以快速提供价值。

- 依赖关系:确定用户故事之间的依赖关系,确保必要的前置条件在实施之前完成。

- 可交付的增量:将用户故事划分成可交付的增量,每个增量都能独立运行,并且能够为用户提供某种价值。

这样可以逐步完善功能,减少开发周期,并及时获取用户反馈。

- 迭代规划:根据项目的时间和资源限制,制定适当的迭代规划,确保用户故事在合理的时间内得到实现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

敏捷开发用户故事系列之八:剖析用户故事描述语法(兼谈
不同种类故事的语法)
作者: cheny_com发布时间: 2012-07-30 13:44
用户故事中,最有名的就是三段式语法了:“作为一个……(角色),可以……(功能),以便……(客户价值)。


然而这种语法用于描述用户的业务操作比较方便,但若用于描述非功能性需求(包含重构、缺陷等),或用于描述对功能的增强,则有点力不从心。

让我们来剖析一下用户故事语法,并尝试写一下其他类型故事的语法。

分析
传统用户故事的语法为何得以成功流传10年而没有发生变化?
“因为他们是大师发明的。


错,因为发明了这个语法,他们才成为大师的,这是因果倒置。

真正的原因是,这个语法很好地表明了需求的三个最重要的要素:角色,功能,客户价值。

角色
为什么要角色?
1. 有利于开发人员理解场景。

普通用户/管理员,存款客户/银行职员,……这些区别,令开发人员更容易理解产品的用途、风格、操作人员的熟练程度、操作习惯等。

2. 有利于找特定的用户核实
无论是产品的潜在用户调研,还是项目中与客户核实需求,如果有一个“角色”字段,都令沟通工作可以与适当的角色地进行,完成的产品自然也就令这些角色的人员满意。

功能(标题)
功能是最好理解的,就是程序员原来写的那种功能的名字,或称为标题。

不过,要放到这种语法里边,还是要动点脑筋的。

1. 主语-谓语原则
比如:(在某个用户管理系统中)“显示所有用户”,就不是一个好功能,为什么呢?把它套到用户故事语法中:
作为一个系统管理员,可以显示所有用户,以便……。

是不是感觉有点别扭?对,应该用“查看所有用户”,会更好一些。

作为一个系统管理员,可以查看所有用户,以便……。

好多了。

可是,难道所有用户故事的名字都要和语法中的功能相同吗?不能写一个名为“显示所有用户”,但内容是“作为一个……,可以查看所有用户,以便……。

“的故事?
能,但不要这样写,因为这违反了DRY原则。

DRY原则就是Don't Repeat Yourself原则,一件事情不要做两遍,尤其是这种本来就差不多、很容易混淆的事情。

所以,好的功能是以用户为主语的一个谓语。

2. 动宾词组原则
如果连续有用户的新建、删除、编辑、查看,是否可以只写”新建“”删除“?
这是在一次培训中大家实际讨论到的问题。

理论上说在这种场景中可以(有一些小问题),但是在其他时候会遇到大问题。

小问题:”查看“往往分为”查看所有用户Index“和”查看单个用户详情Details“两种,不写宾语不容易区分。

大问题:在故事板、燃尽图、我的个人中心等地方,如果凑巧一个故事需要单独存在的时候,失去了动作的宾语,会出现多个”新建“”删除“故事,容易混淆,不如”新建用户“”删除用户“来得好。

火星人在开发过程中尝试了各种方案,最后最佳结论是:
故事标题=功能;角色-功能是主语-谓语关系;功能本身是动宾词组。

用户价值
用户价值看似简单,其实很难写。

请看:作为一个管理员,可以查看所有用户,以便了解系统中有哪些用户。

看上去还不错,对吧?但是如果这个系统是CSDN博客,里边有600万注册用户,这个管理员为什么要查看所有用户?他怎么才能查看所有用户?如果这个系统是QQ,又会如何?
所以一个管理员,不会无缘无故查看所有用户。

但是,也不能不查看用户(否则无法查看详情、删除、申诉、找回密码、禁言……),但是,要为管理员找到一个合理的理由,并以合理的方式查看某种用户,才是正确的故事。

实际案例剖析:火星人中新建用户
”作为一个管理员,可以新建用户,以便在系统中新建一个用户。


好像可以,但又有点像废话。

怎么办?
在亲自编写了300个用户故事后,我们发现可以尝试这样:
1. 尝试找到功能的现实用意,然后写出不同于功能的用户价值。

”作为一个管理员,可以新建用户,以便将特定用户添加到火星人系统中。


不管汤、药如何,读起来顺嘴一些了。

但如果觉得还不够好,请尝试2。

2. 对顽固的不好描述的用户故事,尝试添加一些形容词、副词、壮语,用以描述这种操作的核心价值。

什么叫核心价值?有些操作希望”方便“”快捷“,另外一些则需要”安全“”一致“,这就是核心价值。

”作为一个管理员,可以新建用户,以便快捷地将特定用户添加到火星人系统中。


恩,好像可以了。

但是……如果一个管理员,要一个一个在弹出窗口中新建用户,保存,再新建,再保存……这个功能可能挺快捷,但对最终业务而言,如果有1000个用户要添加,实在谈不上快捷。

所以,请看3。

3. 如果感觉用户故事无法满足核心价值,请尝试改进故事,乃至换一个新故事。

”作为一个管理员,可以批量创建用户,以便快捷地导入已经有的用户数据。


批量创建比创建快多了,每行一个用户,用逗号分隔用户名、邮箱……可是出了错怎么办?
弹出”输入的数据不符合要求,请检查格式是否正确。


但如果有1000行,该怎么办?额……请看4。

4. 请验证改进后的用户故事能达成核心价值。

既然要快捷,除了错也应该迅速定位。

这样吧:所有识别成功的用户先暂存起来,所有不成功的行,则留在屏幕上(最多也就是几行),修改后再次识别,直到全部成功;确认后开始批量创建。

这个过程不用写在故事语法里边,因为没地方放。

但要写在需求详情/测试用例里边。

好了,这就是火星人产品中”批量创建用户“的辗转经历。

不同种类故事的语法
让我们来尝试为其他种类的故事(非功能性需求)分别编制一套语法。

首先解决两个问题:
1. 这种故事有哪些最重要的要素?
2. 如何编写才能突出这些要素?
在编写了300多个用户故事后,火星人团队摸索到了一套自己的编写语法,并预置在火星人产品中(请在8月中旬关注本博客,了解在线体验系统的信息)。

在看具体示例之前,先写一下最后的总结,方便大家理解我们为何识别了这些要素。

语法总结:
1. 角色多数时候是必需的
增强、重构、Bug……都有其受益者或受害者,若没有角色字段,很难站在真实位置上猜想其真实需求,也很难找人核实、询问优先程度。

2. 客户价值(或潜在损失)多数时候是必须的
若不能识别客户价值(或潜在损失),就不能知道增强、重构后是否达到了商业效果,或Bug修正后是否避免了潜在损失。

3. 原来“功能”的位置各不相同。

火星人中的几个实例
由于未必了解这些故事的背景,读者可能不会很清晰地判断故事的好坏,但请重点留意语法格式的作用。

增强:突出显示本次/上次/下次意向表(增强一个操作)
–实现后,作为一个产品经理,可以在查看意向表时,突出地看到本次和上次迭代的意向表,以便连贯地思考本次迭代的需求规划。

在这个实例中,“实现后,作为一个……(角色),可以在……(原功能)时,……(超出的功能),以便……(超出的价值)。

”这一语法突出了实现前后的功能差异。

(仅限于对功能的增强描述)
增强类型中,一般会暗含一个被增强的功能,但描述内容则是超出的功能和超出的价值。

重构:重构界面及ViewModel
–实现前,原来的中间为树两侧为迭代的展示方式较为占用空间,树的高度太大导致难以完整看到;实现后,以故事树为主体配合左侧的当前迭代故事,查看和操作更加快捷。

在这个实例中,“重构前,……;重构后,……”的语法对比了重构前后的差异,这种差异必须面向用户进行描述,以便产品经理能正确理解和排序。

缺陷:在加入故事时产品按钮不刷新
–作为一个产品经理,在加入或挪出故事时,顶端的产品按钮上人天数据不刷新,导致计划
时对各产品的总量和比重的错误判断。

在这个实例中,“作为一个……(角色),在……(功能)时,……(现象),导致……(潜在损失)”的语法表达了在何时,会出现何种现象,导致何种业务问题。

有些缺陷发生时“现象”很不明显(比如数据不刷新),因此必须描述导致的业务问题以便理解问题的实质。

债务:产品ID硬编码
–当前链接中的产品ID是硬编码的(直接访问火星人),在部署到实际环境中时,将导致链接失效。

在这个实例中,“当前……(当前的临时实现方法),在……(未来某种情况下)时,将……(可能出现的现象),导致……(潜在的损失)。

”的语法表达了当前的何种技术原因,在何时,将会发生何种问题,并导致何种潜在的损失。

相关文档
最新文档