获取用户需求的十大沟通技巧

成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。

需求获取可能是软件开发中最困难、最关键、最易出错及最需要沟通交流的活动。对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。

其次是对问题的理解,用户对计算机系统的能力和限制缺乏了解,任何一个系统都会有很多的用户或者不同类型的用户,每个用户只知道自己需要的系统,而不知道系统的整体情况,他们不知道系统作为一个整体怎么样工作效率更好,也不太清楚那些工作可以交给软件完成,他们不清楚需求是什么,或者说如何以一种精确的方式来描述需求,他们需要开发人员的协助和指导,但是用户与开发人员之间的交流很容易出现障碍,忽略了那些被认为是"很明显"的信息。最后是需求的确认,因为需求的不稳定性往往随着时间的推移产生变动,使之难以确认。为了克服以上的问题,必须有组织的执行需求的获取活动。

需求获取活动建议要完成的11个任务或者说步骤分别是确定需求过程、编写项目视图和范围文档、用户群分类、选择用户代表、选择用户代表、建立核心队伍、确定使用实例、召开联合会议、分析用户工作流程、确定质量属性、检查问题报告和需求重用。当然应该根据组织和项目的具体情况进行适当的裁减,比如根据项目和用户情况把需求获取会议改成问卷调查或者座谈等等。

1、编写项目视图和范围文档

系统的需求包括四个不同的层次:业务需求、用户需求和功能需求、非功能性需求。业务需求说明了提供给用户新系统的最初利益,反映了组织机构或用户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

非功能性需求是用户对系统良好运作提出的期望,包括了易用性、反应速度、容错性、健壮性等等质量属性。需求获取就是根据系统业务需求去获得系统用户需求,然后通过需求分析得到系统的功能需求和非功能需求。项目视图和范围文档就是从高层次上描述系统的业务需求,应该包括高层的产品业务目标,评估问题解决方案的商业和技术可行性,所有的使用实例和功能需求都必须遵从的标准。而范围文档定义了项目产品所包括的所有工作及产生产品所用的过程。项目相关人员对项目的目标和范围能达成共识,整个项目组都应该把注意力集中在项目目标和范围上。

2、用户群分类

系统用户在很多方面存在着差异,例如:使用系统的频度和程度、应用领域和计算机系统知识、所使用的系统特性、所进行的业务过程、访问权限、地理上的布局以及个人的素质和喜好等等。根据这些差异,你可以把这些不同的用户分成不同的用户类。与UML中Usecase的Actor概念一样,用户类不一定都指人,也可以包括其他应用系统、接口或者硬件,这样做使得与系统边界外的接口也成为系统需求。将用户群分类并归纳各自特点,并详细描述出它们的个性特点及任务状况,将有助于需求的获取和系统设计。

3、选择用户代表

不可能对所有的用户都进行需求获取,这样做时间不允许效果也不一定好,所以要识别出能够确定需求和了解业务流程的用户作为每类用户的代表。每类用户至少选择一位能真正代表他们需求的人作为代表并且能够作出决策,用户代表往往是本类用户中三类人:对项目有决定权的领导、熟悉业务流程的专家、系统最终用户。每一个用户代表者代表了一个特定的用户类,并在那个用户类和开发者之间充当主要的接口,用户代表从他们所代表的用户类中收集需求信息,同时每个用户代表又负责协调他们所代表的用户在需求表达上的不一致性和不兼容性。

4、建立核心队伍

通常用户和开发人员不自觉的都有一种"我们和他们"的想法,产生一种对立关系,把彼此放在对立面,每一方都定义自己的"边界",只想自己的利益而忽略对方的想法。他们通过文档、记录和对话来沟通,而不是作为一个合作的整体去识别和确定需求完成任务。实践证明这样的方法是不正确的,不会给双方带来一点益处,良好的沟通关系没有建立导致了误解和忽略重要的信息。只有当双方参与者都明白要成功自己需要什么,同时也知道要成功对方需要什么时,才能建立起一种合作关系。

为了建立合作关系通常采取一种组队的方式来获取需求,建立一个由用户代表和开发人员组成的联合小组作为需求获取的核心队伍。联合小组将负责识别需求、分析解决方案和协商分歧,小组成员可以采用会议、电子邮件、综合办公系统等方式进行交流,但交流时应注意以下原则:小组会议应该由中立方来组织和主持,用户和开发人员都要参加;交流预先要确定准备和参与的规则;议题要明确并覆盖所有关键点,但信息来源应该自由;交流目标要明确,并告知所有的成员。

5、确定使用实例

从用户代表处收集他们将使用系统完成所需任务的描述,讨论用户与系统间的交互方式和对话要求,这就是使用实例,一个单一的使用实例可能包括完成某项任务的许多逻辑相关任务和交互顺序。使用实例方法给需求获取带来的好处来自于该方法是用以任务为中心和以用户为中心的观点,比起使用以功能为中心和以开发者为中心的方法,使用实例方法可以使用户更清楚地理解和认识到新系统允许他们做什么和怎么做。描写使用实例的时候要注意使用简洁直白的表述,尽量使用主动语态,用"系统"或者"用户"作为主语,比如"用户提交用户密码,系统验证用户密码是否正确",还有一点在描述中不要设计界面细节,比如"用户从下拉框中选择产品类型"。使用实例为以后写用例场景描述中的基本路径和扩展路径提供了素材。

6、召开联合会议

最常见的需求获取方法是召开会议或者面谈,联合会议是范围广的、简便的讨论会,也是核心队伍成员之间一种很好的沟通方法,该会议通过紧密而集中的讨论得以将用户代表与开发人员间的合作伙伴关系付诸于实践并能由此拟出需求文档的底稿。联合会议的第一个议题就是系统的必要性和合理性,必须所有成员都同意系统是必要的而且合理的。接下来就可以讨论使用实例清单,清单可以打印成大纸挂在墙上、写在黑板上或做成演示材料。对每个清单合并去掉重复项,加上补充内容就可以得到一份总的清单,注意避免采用负面的"太差""不可行"去否定用户的想法,这些想法都应该保留下来作为被评议的清单项,这样保护了小组成员开放的思维。最后对清单进行讨论,会议成员必须检查每一个使用实例,在把它们纳入需求之前决定其是否在项目所定义的范围内,形成最终的需求报告。

在进行讨论时,也应该避免受不成熟的细节的影响,在对系统需求取得共识之前,用户能很容易地在一个报表或对话框中列出某些精确设计,如果这些细节都作为需求记录下来,他们会给随后的设计过程带来不必要的限制,应确保用户参与者将注意力集中在与所讨论的话题适合的抽象层上,重点就是讨论做什么而不是怎么做。这里有一点很重要就是要让用户理解对于某些功能的讨论并不意味着即将在系统中实现它,更不要做暗示或者承诺什么时候完成需求。在讨论之后,记下所讨论的条目,并请参与讨论的用户评论并更正,因为只有提供需求的人才能确定是否真正获取需求。当最后拿到了一份详细准确的需求报告书的时候,会议就算成功完成了。但是要清楚需求过程本身就是一个迭代的过程,在以后的过程活动中不可避免的将要修改和完善这份报告。

时间: 2024-12-23 09:36:45

获取用户需求的十大沟通技巧的相关文章

提高代码可读性的十大注释技巧分享_相关技巧

本文讲述了提高代码可读性的十大注释技巧.分享给大家供大家参考,具体如下: 很多程序员在写代码的时候往往都不注意代码的可读性,让别人在阅读代码时花费更多的时间.其实,只要程序员在写代码的时候,注意为代码加注释,并以合理的格式为代码加注释,这样就方便别人查看代码,也方便自己以后查看了.下面分享十个加注释的技巧: 1. 逐层注释 为每个代码块添加注释,并在每一层使用统一的注释方法和风格.例如: 针对每个类:包括摘要信息.作者信息.以及最近修改日期等: 针对每个方法:包括用途.功能.参数和返回值等. 在

移动硬盘日常保养使用的十大操作技巧

本文和广大的电脑爱好者分享关 于移动硬盘日常使用十大操作技巧 ,使用移动硬盘同样需要技巧讲究方法和技巧,很多用户购买移动硬盘使用中出现问题,比如弄丢移动硬盘里的数据,移动硬盘中病毒等等问题,甚至有的用户因为使用方法不正确,导致硬盘出现问题都是有可能的.那就需要大家多多了解以下为大家介绍具体介绍的移动硬盘日常使用十大技巧. 1.尽量不要选购过于廉价的产品,因为价格将决定移动硬盘盒的用料情况,而用料过于简省则无法保证移动硬盘的 稳定运行,为将来应用带来隐患,建议大家多考虑做工优秀且 有品质保证的产品

创建Flash站点的十大可用性技巧

创建|技巧|站点 引:据Macromedia 顶级Flash设计者,开发者以及可用性专家的建议,我们收集了创建一个具备可用性的Macromedia Flash站点的十大技巧. 根据Macromedia 顶级Flash设计者,开发者以及可用性专家的建议,我们收集了创建一个具备可用性的Macromedia Flash站点的十大技巧. 这些技巧只是一个开始,我们将继续提供更多的研究,学习与技巧. 1.记住用户的目标 用户往往带着目的访问一个站点,每个链接,每次点击都要合乎他们的经验并且引导他们通向他们

抵御云迁移风险 十大安全技巧汇总

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 现在,有很多公司开始考虑将现有应用程序.数据和基础架构迁移到云中.最近一份调查显示,云部署将成为主要的测试系统 和非关键业务应用,很多公司也开始计划将关键业务应用融入到云环境中,以充分利用其带来的低成本.灵活性和高效的优势. 但是,将生产系统诸如电子邮件和人事档案迁移到云环境,会引起人们对隐私和数据安全的考虑,这种关注已经上升到了前所 未有的水平.事实上,安全一直是

创建Flash站点的十大可用性技巧(转)_Flash教程

引:据Macromedia 顶级Flash设计者,开发者以及可用性专家的建议,我们收集了创建一个具备可用性的Macromedia Flash站点的十大技巧. 根据Macromedia 顶级Flash设计者,开发者以及可用性专家的建议,我们收集了创建一个具备可用性的Macromedia Flash站点的十大技巧. 这些技巧只是一个开始,我们将继续提供更多的研究,学习与技巧. 1.记住用户的目标 用户往往带着目的访问一个站点,每个链接,每次点击都要合乎他们的经验并且引导他们通向他们的目标. 当传输你

姚金刚:百度最新十大SEO技巧

曾经写过一篇文章<百度近期表现猜想与总结>,这篇总结得很少,而且是一家之言,这次结合笔者在SEOWHY的帖子,来进行一个百度最新的SEO技巧总结,这里精选了十个,网友的智慧是无穷的,多发现多思维,有些技巧会让你眼前一亮. 一.据最近的一些观察,觉得网站中的专题页或者tag聚合页的权重不错,因此多给网站制作一些专题页面,不仅有利于聚合站内的文章,更是绝对的原创内容,应该会受到百度的青睐. 简评:关于权重的讨论,这篇无疑是很精彩的,值得大家一试. 二.如果英文好的话可以去找写文章翻译过来!这样的原

傲游浏览器十大使用技巧普及篇

傲游作为一款深受全球亿万用户喜爱的老牌浏览器.然而除了那些热门必备功能外,你是否又错过了傲游很多低调有趣并且十分实用的功能?今天小编为大家细数那些被用户忽视的有趣功能,为大家普及傲游浏览器使用技巧,让你玩转浏览器,成为"最炫民族风". 工欲善其事,必先利其器.想在网络中自由翱翔,就得选择一款适合自己的浏览器.傲游作为一款深受全球亿万用户喜爱的老牌浏览器,拥有多项实用功能,不仅能满足用户的浏览需求,还能方便快捷地直达各个网站.然而除了那些热门必备功能外,你是否又错过了傲游很多低调有趣并且

创业指南:做生意掌握十大规则技巧

经商做生意,除了自身具备精明的头脑外,还应掌握相应的规则技巧. 规则1:做生意从小做起,不要因小而不为. 规则2:从先挣几元钱开始,目标先定得低一点,增加成功的胜算. 规则3:不断提升你的服务和技术,不断扩展你的生意渠道,不断增加你的潜在客户. 规则4:要善于发散思维. 规则5:要有坚定的信念,一件事只要有3个人认同,就值得去做,等10个人都认为可行时,就已经没有跟风的必要了. 规则6:用人不疑,该放权时就放权. 规则7:成本控制到每一分钱,盈利增加到极限. 规则8:不屈不挠的战斗意志. 规则9

开发者建议创建Flash站点十大可用性技巧

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 1.记住用户的目标 用户往往带着目的访问一个站点,每个链接,每次点击都要合乎他们的经验并且引导他们通向他们的目标. 当传输你的页面时,应该让关键的导航链接首先装载--万一用户想转到网站其它的区域.模仿通常的用户图形界面往往可以增加可用性. 2. 记住网站的目的 网站设计应该反应商业或者客户的需求,有效的传播主要信息与促进品牌.然而网站的目标最