用户需求

/用户需求
用户需求2017-03-27T13:14:04+08:00

[vc_row][vc_column width=”1/2″][vc_empty_space height=”16px”][vc_column_text]

用户需求

[/vc_column_text][vc_empty_space height=”16px”][vc_column_text]

什么是用户需求?

用户需求就是定义用户所需功能的文字描述,简单说就是用户的需求。一个好的用户需求包括三个要素:
1. 角色:谁要使用这个功能。
2. 活动:需要完成什么样的功能。
3. 商业价值:为什么需要这个功能,这个功能带来什么样的价值。

用户需求的状态:

在翼发云软件研发管理系统中,用户需求定义了五种状态,分别是“构思”、“已批准”、“开发中”、“已完成”、“已验收”。

[/vc_column_text][vc_empty_space height=”20px”][vc_column_text css_animation=”fadeInUp”]

[dt_button size=”small” style=”default” animation=”none” color_mode=”default” icon=”” icon_align=”left” color=”” link=”https://p.effapp.com/Account/Register/” target_blank=”true”]免费注册[/dt_button][dt_button size=”smaller” style=”default” animation=”none” color_mode=”default” icon=”” icon_align=”left” color=”” link=”http://demo.effapp.com” target_blank=”true”]在线演示[/dt_button]

[/vc_column_text][vc_empty_space height=”10px”][/vc_column][vc_column width=”1/2″][vc_empty_space height=”16px”][vc_single_image image=”35992″ img_size=”350×350″ alignment=”center” css_animation=”flash” image_hovers=”false” img_link_large=”yes”][vc_empty_space height=”16px”][/vc_column][/vc_row][vc_row type=”1″ margin_top=”0″ margin_bottom=”0″ padding_top=”0″ padding_bottom=”0″ bg_color=”#ffffff” bg_type=”bg_color” bg_color_value=”#ffffff”][vc_column width=”1/2″][vc_empty_space height=”80px”][vc_single_image image=”36026″ img_size=”400×300″ alignment=”center” style=”vc_box_rounded” css_animation=”flipInX” img_link_large=”yes”][vc_empty_space][/vc_column][vc_column width=”1/2″][vc_empty_space][vc_column_text]

用户需求的描述格式

[/vc_column_text][vc_empty_space height=”16px”][vc_column_text]

ScrumArts(翼发云软件研发管理系统)建议采用两种方式来进行用户需求的描述,用户可以任选一种:

  • 作为<用户角色>,我需要<功能>,以实现<业务价值>
  • 为实现<业务价值>,作为<用户角色>,我需要<功能>
举例:

作为一个“网站管理员”,我想要“统计每天有多少人访问了我的网站”,以便于“我的赞助商了解我的网站会给他们带来什么收益。”

注意事项:

用户需求不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述。

[/vc_column_text][vc_empty_space height=”30px”][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_empty_space][vc_column_text]

工作流程

[/vc_column_text][vc_empty_space height=”16px”][vc_column_text]1、用户建模

通过用户建模,摸清系统涉及的用户及其所处的角色。

2、收集用户需求

通过访谈、实地调研等方式,收集每个角色的用户故事。

3、编写用户需求

根据Scrum Arts提供的编写方式,编写出通俗易懂、整齐划一的用户故事。

4、实现用户需求

把用户需求分解成开发任务,安排人员进行功能开发,实现用户需求描述的场景。

5、验收测试

对开发工程师开发完成的用户需求,安装完成标准对照进行验收测试。[/vc_column_text][vc_empty_space][/vc_column][vc_column width=”1/2″][vc_empty_space height=”96px”][vc_single_image image=”36033″ img_size=”550×350″ alignment=”center” style=”vc_box_rounded” css_animation=”pulse” img_link_large=”yes”][/vc_column][/vc_row][vc_row type=”1″ margin_top=”0″ margin_bottom=”0″ padding_top=”0″ padding_bottom=”0″ bg_color=”#ffffff” bg_type=”bg_color” bg_color_value=”#ffffff”][vc_column width=”1/2″][vc_empty_space height=”48px”][vc_single_image image=”35992″ img_size=”300×300″ alignment=”center” img_link_large=”yes”][vc_empty_space][/vc_column][vc_column width=”1/2″][vc_empty_space][vc_column_text]

用户需求与开发任务、测试等的关联

[/vc_column_text][vc_empty_space height=”10px”][vc_column_text]

每个用户需求与多个开发任务、变更、缺陷(Bug)、测试用例和测试历史相关联。

1、与开发任务的关联

用户需求通过开发任务来实现。 实际开发工作比用户需求更琐碎。 实际上,每个需求都是多项任务的集合。把需求分解成多个任务,安排到人,完成了所有的任务,就意味着实现了用户需求。

2、与变更的关联

翼发云软件研发管理系统鼓励大家“拥抱变化”,每次用户需求变更都做记录,与相应的用户需求相关联,这样方便整个团队了解用户需求的来龙去脉,减少重复劳动。

3、与测试用例的关联

每个用户需求开发完成需要进行测试,测试工程师应当为用户故事编写一个或多个测试用例。

4、与测试历史的关联

记录用户需求经历了哪些测试,测试的结果和处理情况如何。

5、与缺陷(Bug)的关联

记录用户需求发生的缺陷,查看缺陷的处理情况。

[/vc_column_text][vc_empty_space height=”40px”][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_empty_space][vc_column_text]

用户需求验收标准

[/vc_column_text][vc_empty_space height=”16px”][vc_column_text]

由团队决定验收标准。 该标准可包括:

  • 已完成所有任务(开发、测试和记录)
  • 正在运行和通过所有验收测试
  • 无开放缺陷
  • 产品负责人已验收
  • 可交付予用户

在每次发布期间按此标准完成所有需求。[/vc_column_text][vc_empty_space][/vc_column][vc_column width=”1/2″][vc_empty_space height=”48px”][vc_single_image image=”36045″ img_size=”500×300″ alignment=”center” img_link_large=”yes”][vc_empty_space height=”16px”][/vc_column][/vc_row][vc_row type=”1″ margin_top=”0″ margin_bottom=”0″ padding_top=”0″ padding_bottom=”0″][vc_column][vc_empty_space][vc_column_text]

编写用户需求六原则-INVEST

[/vc_column_text][vc_empty_space height=”16px”][vc_column_text]

一个好的用户需求应该遵循INVEST原则
独立性(Independent)

要尽可能的让一个用户需求独立于其他的用户需求。用户需求之间的依赖使得制定计划,确定优先级,工作量估算都变得很困难。通常我们可以通过组合用户需求和分解用户需求来减少依赖性。

可协商性(Negotiable)

一个用户需求的内容要是可以协商的,用户需求不是合同。一个用户需求卡片上只是对用户需求的一个简短的描述,不包括太多的细节。具体的细节在沟通阶段产出。一个用户需求带有了太多的细节,实际上限制了和用户的沟通。

有价值(Valuable)

每个需求必须对客户具有价值(无论是用户还是购买方)。一个让用户需求有价值的好方法是让客户来写下它们。一旦一个客户意识到这是一个用户需求并不是一个契约而且可以进行协商的时候,他们将非常乐意写下需求。

可以估算性(Estimable)

开发团队需要去估计一个用户需求以便确定优先级,工作量,安排发布计划。但是让开发者难以估计需求的问题来自:对于领域知识的缺乏(这种情况下需要更多的沟通),或者需求太大了(这时需要把需求切分成小些的)。

短小(Small)

一个好的需求在工作量上要尽量短小,最好不要超过10个理想人/天的工作量,至少要确保的是在一个发布计划中能够完成。用户需求越大,在安排计划,工作量估算等方面的风险就会越大。

可测试性(Testable)

一个用户需求要是可以测试的,以便于确认它是可以完成的。如果一个用户需求不能够测试,那么你就无法知道它什么时候可以完成。一个不可测试的用户需求例子:软件应该是易于使用的。

[/vc_column_text][vc_empty_space][/vc_column][/vc_row]