软件需求—— 第4章 需求分析员
- 即使没有明确指定,软件项目组中也会有某个人会担当需求分析员的角色。
- 企业的IS组织中,行使这一职责的专家被称为业务分析员。
- 对需求分析员的不同称谓还包括系统分析员、需求工程师、需求经理,也有简称分析员的。 软件开发组织中,这项工作往往落在产品经理或营销人员肩上。
- 这一章将介绍需求分析员承担哪些重要职责,称职的需求分析员应具备哪些知识和技能,以及如何在组织中培养需求分析员。
需求分析员是对项目涉众的需求进行收集 、分析、记录和验证等职责的主要承担者。
需求分析员是用户群体与软件开发团队间进行需求沟通的主要渠道
4.1.1 需求分析员的工作
- 需求分析员是客户与开发人员交流的中间人,负责将客户对产品的初步想法转化为明确的需求说明,用来指导开发工作。
- 定义业务需求:需求分析员的第一项工作是帮助业务或投资管理人、产品经理或销售经理定义项目的业务需求。
- 确定项目涉众和用户类别:前景和范围文档可帮助需求分析员分辨出产品的重要用户群和其他涉众。
- 获取需求:需求分析员可能要用到下列信息收集方法:交谈、需求讨论会、文档分析、调查、现场访问客户、业务流程分析、工作流程分析和任务分析、事件列表、同类产品分析、根据现有系统导出需求、回顾以往项目。
- 分析需求:需求分析员还要对收集到的需求进行分析,找出那些客户没有明确说明的需求。
- 编写需求规格说明:需求开发的作用是各方对用于解决客户问题的系统形成了一致的理解。 需求分析员负责编写条理清晰的需求规格说明,从而清楚地表述出这种理解。
- 为需求建模:需求分析员应该适时地选用文字以外的方式来表达需求。
4.1.2 需求分析员必备的技能
- 需求分析员需要了解多种获取需求的方法,如何采用语言文字以外的方式来传达信息。
- 下面列出的这些技能对需求分析员特别重要:
- 倾听的技巧:要善于双向交流,就必须知道如何有效地倾听。
- 交谈和提问的技巧:大部分需求是通过讨论得到的,因此,需求分析员必须能够与不同的个人或小组就需求展开讨论。
- 分析能力:优秀的需求分析员能够以不同的方式思考问题。
- 需求分析员还需具备从实践经验中积累的广博知识。
- 其中最基本的是对当代需求管理技术的深刻理解,以及在各种不同的软件开发生命周期环境中应用这些技术的能力。
- 需求分析员需要将需求开发与管理活动贯穿于整个产品生命期中。
- 掌握应用领域的知识、最大限度地减少与客户间的误解。
4.2 如何培养需求分析员
优秀的需求分析员是培养出来的,而不是训练出来的。 这项工作包括很多面向人而不是技术的“软性技能”。对于需求分析员的工作并没有标准的描述,因而也没有标准的培训课程。
4.2.1 从用户转为分析员
- 用户对业务和工作环境有着深刻的理解 , 很容易获得原来同行们的信任。
- 他们讲的是用户的语言,了解现有的系统和业务流程。
- 让用户来担任需求分析员也有不利的一面。 他们对软件工程知之甚少,也不知道如何与技术人员进行交流。不熟悉分析建模技术,只会用文字来表述所有信息。
- 要想成为需求分析员,用户需要多学习一些软件开发技术。
4.2.2 从开发人员转为分析员
- 需求开发工作对人员技能和个性的要求与软件开发工作不同。
- 开发人员要想成为需求分析员,需要多掌握一些业务领域的知识。
- 开发人员很容易陷入技术思考和讨论,把注意力集中在要开发的软件本身,而不是用户的需求。
- 开发人员应该接受一些软性技能的培训和指导,例如怎样有效地倾听、协商和引导。
4.3 营造合作的氛围
在建立与客户代表和其他涉众的合作关系问题上,需求分析员负有主要责任。
需求分析员引导项目参与者就需求取得一致,进而达到三赢的目的:
- 客户对产品感到满意。
- 开发组织因产品在商业上取得的成就而兴奋。
- 开发团队成员为在具有挑战性和高回报的项目中取得的成果而骄傲。
今天也是21天打卡的最后一天了~经过这21天的习惯打卡,我也是基本上有每天按时完成任务,除了在这其中有一天出了点小插曲,忘记了,不过我也在后面的一天及时做了补充。在这21天的习惯打卡中,我有很多收获,收获在于知识的课后整理与回顾上,课堂上的知识,我们没办法在这40分钟完完全全的接收,这就需要我们充分利用课外时间,对知识点做进一步的归纳总结,巩固我们课上所学内容。每天在整理博客前,总会习惯性的看一下自己前些博客的阅读量、展开量等数据,数据也是起伏不定,这也是我写博客的乐趣所在。习惯的养成也是经过点滴的积累换取来的,希望我在今后依旧能够保持这个好习惯!!!