基于群体的需求工程

传统的需求方法基于面对面的需求抽取过程,受到时间与地点的限制。目前的软件系统越来越复杂,特别是基于web的软件系统和移动计算,有着多样的、大量的、分散的利益相关者。传统的方法从大量的涉众中提取、分析和验证需求有着较高的代价,且很难多视角的形成系统需求。将广泛的用户吸引并参与到需求过程中,有着如下方面的好处:

  • 用户参与帮助减少需求变更(requirements change)
  • 用户参与可以获取更准备的需求,减少不必要的需求
  • 使得需求更易被用户所理解
  • 最终获取满足更多用户需要的需求(收集需求以及达成广泛用户需要的共识)

基于群体的需求工程的相关研究主要涉及如下问题:

需求工程中群体的定义,群体用户参与需求任务的途径,从群体用户中提取并分析反馈的方法,如何达成高水平的参与度(engagement),用户在需求工程中的参与环节(需求提取requirements elicitation、需求谈判requirements negotiation以及需求优先级requirements prioritization)

需求工程中的群体

需求工程中的群体是指:大量的 、多样的、分散的、独立的利益相关者。The crowd should be an undefined network of people, should be diverse, independent and decentralized.

  • 多样性:(diversity)

    • 空间多样性:spatial diversity 不同地理位置

    • 性别多样性:Gender Diversity

    • 年龄多样性:Age diversity

    • 专业多样性:Expertise diversity

  • 彼此不认识:Unknown-ness

  • 大规模:Largeness

    • 任务数
    • 参与人数

群体参与方式

存在不同形式的用户参与:事件报告,意见反馈和建议。

可以借助众包平台(crowdsourcing platform)参与需求任务。

众包平台提供了吸引大量用户参与的机制。众包平台主要有三类角色:平台提供商(operator)、任务委托人(commissioner)以及群体贡献者(contriibutor)。

众包模式把传统上由企业内部员工承担的工作,通过众包平台以自由自愿的形式转交给企业外部的大众群体来完成的一种组织模式。在这一过程中,任务委托人通过众包平台提交群体要完成的任务。平台提供商提供平台服务,包括任务的分配、号召群体用户参与、以及平台的管理和群体反馈的收集。群体用户是完成任务的贡献者,提供任务相关的反馈。企业只需要为贡献者支付少量报酬,而有时这种贡献甚至完全免费。

用户反馈的分析方法

用户通过众包等基于网络的方式反馈。对于一个具体的需求任务,每个用户有不同的观点,这些观点蕴含在反馈中。目前,普遍使用的反馈方式是问答式:即针对一个具体问题,用户给出自己的答案。包括填写选项卡、填空或者用一段自然语言文本描述。也有的需求任务采用原型工具,让参与者操作,跟踪用户的行为操作。

基于文本的反馈分析方法(Text Mining)

人工处理反馈是繁琐的,特别是处理并行的数据,识别趋势和主题。基于文本的方法借助自然语言分析技术收集和分析用户反馈中的用户观点。主要包括两个方面:

  • 从反馈中识别语句:
    • 积极的(positive):优势,关键卖点,受欢迎的功能
    • 消极的(negative):问题,未达成的期望功能
    • 特征反馈(Feature requests):需要,要求
  • 语句的结构化(关系):
    • 优先级、聚类、一致性、冲突
    • 可能揭示紧迫的问题,市场趋势,创新思路等。

基于用户行为反馈的分析方法(Usage Mining)

与原型(参见A / B测试)结合使用,可以帮助发现新的要求(甚至重新设计用户互动)、验证文本分析的结果、调和确定的冲突,也可以帮助发现那些无意识的或不能言语化的需求。用户行为反馈模式可以是用户行为,例如,快捷方式,优惠工作流程;用户经常遇到的问题;偏差活动(可能刺激创新思路);检测需要解决的问题;产品的新用途(包括新市场)和优化机会。

虽然目前主要的反馈分析还是基于文本的方法,但基于用户行为的分析方法是一种非常有潜力的方法。

激励用户参与

参与通过以下四种手段被激发:

  • 加速反馈循环;
  • 明确目标和规则;
  • 引人注目的叙述;
  • 具有挑战性但可实现的任务。

在众包中引入游戏机制是达成高水平用户参与的有效机制。

包括:leaderboards/rankings; points/score; badges/achievements; levels; progress; rewards; feedback; storytelling; vitual territories

基于群体需求工程应用案例

1.需求任务与任务分解

Breaux T D, Schaub F. Scaling requirements extraction to the crowd: Experiments with privacy policies[C]// Requirements Engineering Conference. IEEE, 2014:163-172.

本文设计三个实验,用于评估人工需求抽取的众包任务。通过平衡群体参与者的支付和整体成本,以及人员培训和数据质量来研究将需求提取分发给群体的可行性。这个任务包括提取数据收集的描述,分享和使用隐私政策的需求。 本文的贡献包括任务分解工作流程和三个衡量员工绩效的指标。最终的评估显示,人工提取需求的成本降低了60%,提取覆盖率提高了16%。

从自然语言描述的文本中提取需求存在一定的难度,在这个过程完全自动化的提取方法准备率低于人工提取的方法,比如,给自然语言加注释的任务(例如词语相似性,词义消歧和文本含义识别等),非专家与专家注释达成了一致的效果。然而,对于这些更适合人来完成的任务,当任务数量众多时,这些劳动密集型的工作更适合交给大众,而非少数需求工程师(专家)。本文开展的三个实验围绕众包任务、成本分析与任务分解开展。以从需求描述文本中人工提取隐私特征词为例,进行实验研究工作。

在众包中,任务被分解为小的,易于管理的微任务(micro task)。这些微任务通过众包平台分发给一个提供服务的独立工作人群。众包平台,比如Amazon Mechanical Turk(MTurk)或CrowdFlower。 众包的结果是随后结合解决方案产生的更大任务。众包复杂任务的主要挑战包括:设计一个能产生高质量结果的任务工作流程,同时保持每个任务的成本在预算限制之内。

2.从群体中获取创造性需求

Acquiring Creative Requirements from the Crowd Understanding the Influences of Personality and Creative Potential in Crowd RE

文章:Acquiring creative requirements from the crowd_understanding the influences of personality and creative potential in crowd RE

意图:调查人类个性和创造潜能对一个需求任务的影响。这些影响对crowd RE是非常重要的,因为:人群通常是非RE专家,从个体的创造力中获取利益。提出一个连续的crowd RE过程,其中一个阶段的群体工人审查前一阶段的需求,进而产生额外的需求(与民主反馈过程相似)。

方法:在Amazon Mechanical Turk上,对一个智能家居领域的任务创建需求(300 workers),然后又选择300人对其结果的创造性进行打分( novelty and usefulness).

结果发现:创造潜力,开朗性格和责任心对于创意的新颖性有着显著的正向影响。适宜性和责任心的人格特性具有正向影响,但外向性对工作者思想的有用性有显著负面影响。将工作暴露给其他人刺激工人的创造。根据人格特质和创造潜力,从以前的需求池选择一些需求激发员工。

results matching ""

    No results matching ""