`
yiyeqinghuasoon
  • 浏览: 676661 次
文章分类
社区版块
存档分类
最新评论

只需要一份需求

 
阅读更多
2008-11-28 作者:adwu73 来源:csdn

这两个月来,主要都是在进行和需求相关的培训和咨询,我发现在行业里一个根深蒂固的认识是需要/可以存在多份不同格式的分立的需求文档:业务人员可以写一份意识流的业务(客户)需求文档,开发人员可以在再写一份充斥着分析结果及IT术语的软件(软件)需求,测试人员则可以写一份闭门造车的测试需求。好像每个人都很好的完成了任务,但是谁来保证这些需求的一致性呢?我们有很好的答案—请业务人员确认他们看不懂的软件需求,请开发人员确认他们没时间或心思看的测试需求,绝妙的主意!
目前大多数客户编写软件需求规约的思路和格式基本上都与IEEE Std 830-1998标准一脉相承,这种基于结构化分析和功能分解的文档体系(包括数据流图,数据字典等)起源于70年代,当时,软件的主要应用还是科学计算或信息处理,理解需求的人往往也受过结构化分析的相关教育,然而这些内容对今天的大多说业务人员或最终用户而言就是很难理解的了。可以说在这样的软件需求规约里分析多于需求,为了解决这个问题,有的组织开始引入了非形式化、非结构化的业务需求,然而却很难在两种需求之间建立明确的对应关系,从而造成了第一段中描述的困境。
另一个造成多份不同格式的分立的需求存在的原因可能与僵化地执行CMMI有关,CMMI在三级的需求开发(Requirements Developement)这个过程域(Process Area)中将开发客户需求(Customer Requirements)和开发产品需求(Product Requirements)明确地分成了两个不同的特定目标(Specific Goals),这导致有些企业让业务人员负责客户需求,而让开发团队负责产品(软件)需求,表面上各司其职,但实际上带来的是大家在邮件里将文档发来发去,工作效率很低而沟通的效果也不好。
我们推荐的需求体系是基于用例的, 它是一种可以被各方真正理解和沟通、并可以被逐步精化的需求体系。用例是这一需求文档体系的主体,但其实这一体系是由如下文档来构成的:
•前景文档:对目标系统的商业前景进行分析;
•涉众分析:对目标系统的涉众以及他们对目标系统的主要要求(Needs)进行分析;
•特性列表:概述目标系统的主要特性
•词汇表:对领域内的名词、术语和商业规则进行解释;
•领域模型:用模型的方式对领域内的实体关系进行描述;
•用例模型:对整个用例模型进行概述;
•用例规约:对每个用例的基本流和备选流进行详细的描述;
•补充规约: 对目标系统级的非功能性需求进行描述;
我们推荐的工作方式是:
•不同的角色(业务,开发,测试等)组成一个虚拟团队,基于同一个基于用例的需求体系进行协同的需求开发;
•在需求开发的前期,以业务人员为主导,通过对业务的分析来丰富需求的内容; 而在需求开发的中后期,以开发人员为主导,通过对需求的分析来细化需求;如果组织需要通过CMMI评估,那么可以将前期的一个需求基线作为客户需求,而将后期的一个需求基线作为产品需求;
•需求是在开发过程中不断演进的,虚拟需求团队定期对需求的变更进行复审,因此对需求的确认是不断以增量方式进行的;
•开发人员将需求分析的结果以需求分析规约或分析模型的方式记录下来,但如果认为需求有问题,就应该以协作的方式对需求进行改进而不是另写一份文档;
•测试人员同样也是对需求进行分析准备测试方案和测试用例,并同时对需求提出改进建议;
•可能需要考虑引入一些工具来支持这样的协同需求开发过程;
总之,我们推荐的需求开发方法是以一个紧密协同的虚拟团队在一个需求体系之上来进行的。
分享到:
评论

相关推荐

    一份软件需求说明书的实际例程

    本文档以《档案管理系统》为例,阐述了如何编写一份全面的需求说明书。 1. **编写目的**:需求说明书的首要目的是明确软件开发的目标和范围,确保所有相关人员对软件的功能需求有共同的理解。在《档案管理系统》的...

    淘宝产品吧需求说明书-PRD

    * 需要一个自主创建的内容页面,满足用户对特定产品资讯了解的需求。 * 需要一个整合淘宝目前的资讯,论坛帖子,博客的平台。 * 需要鼓励用户原创的方式充实博客的内容。 * 需要在推广过程中增加产品的团购,产品...

    一份比较简单的oa需求文档

    本文将深入探讨“一份比较简单的OA需求文档”,并分析其中可能包含的关键知识点。 首先,一个有效的OA需求分析文档通常会包含以下几个部分: 1. **项目背景与目标**:这部分阐述了实施OA系统的初衷,可能包括企业...

    一份好的需求调研报告

    一份好的需求调研报告能够帮助开发团队理解业务流程、识别问题、提出有效的系统设计,并为后期的系统开发和实施奠定基础。在进行需求调研时,通常会涉及到以下几个方面: 1. **市场分析**:首先,需要对当前市场...

    网络工程需求调查与需求分析

    以一份具体的网络工程需求调查报告为例,假设需要对一家公司的现有网络进行升级改造。首先,需要了解该公司的业务流程和发展目标,确定网络改造的主要目标。其次,通过与各部门沟通,收集关于网络使用现状的信息,...

    如何编写一份合格的需求矩阵.doc

    如何编写一份合格的需求矩阵.doc

    一份非常好的软件需求说明书模板

    一份非常好的软件需求说明书模板需要涵盖软件开发的各个方面,包括编写目的说明、背景说明、定义、参考资料、任务概述、需求规定和运行环境规定等。只有当软件需求说明书涵盖了这些方面时,才能为软件设计和开发提供...

    一份不错的软件需求检查表

    一份完善的软件需求检查表是确保需求明确、全面且可执行的关键工具。本文将深入探讨这份“不错的软件需求检查表”,帮助你在进行需求分析时避免常见错误,提高工作效率。 一、需求定义的完整性 软件需求检查表首先...

    商务网站需求分析,关于商务类网站的一份需求报告!

    3. 参考资料:在进行需求分析时,需要参考行业最佳实践、竞争对手分析、用户调研报告等,以便了解市场趋势和用户需求。 4. 术语:理解商务网站相关的技术术语,如B2B、B2C、CRM、CMS等,有助于更准确地定义需求。 ...

    AI 硬件产品需求文档(PRD)怎么写?.docx

    编写一份完善的 AI 硬件产品需求文档(PRD)需要我们对产品的功能、性能、规格参数、业务流程等方面的要求有深入的理解。通过本文,我们希望为读者提供了一份详细的 AI 硬件产品需求文档(PRD)写作指南,帮助读者更...

    CRM,ERP,OA系统需求分析各一份

    这里面面包含两个OA系统需求分析,一个CRP需求分析一个CRM需求分析 还有一个需求分析规格书

    4个要点,编写一份接口需求文档.docx

    如何写一份能准确表达业务需求的接口需求文档呢?下面将从四个要点出发,详细说明如何编写一份接口需求文档。 一、什么是接口 API(Application Programming Interface, 应用程序编程接口)是一些预先定义的函数,...

    如何写一份程序员爱看的需求文档?.docx

    综上所述,编写一份用户体验好、开发人员喜欢看、内容靠谱的需求文档,需要从多个维度进行细致的考虑和规划。一份优秀的文档应包含产品简介、行业概要、版本排期、产品设计、非功能需求和修改记录等关键要素。通过...

    需求分析 需求工程 需求建模 需求

    “软件需求”可能是另一份文档或资料,进一步细化了需求分析的内容,可能包含了需求规格说明书、用户故事或其他相关材料。 需求分析、需求工程和需求建模是软件开发的基石,它们确保了开发团队和用户之间的一致性,...

    一份良好的需求文档,应该包含哪些部分.docx

    那么,一份良好构建的需求文档究竟应该包含哪些不可或缺的部分呢? 首先,需求文档应以用户及应用场景分析开篇。深入理解目标用户群体是构建需求文档的基础。这包括用户的特性、他们扮演的角色以及对不同用户角色的...

    一份合格的软件需求规格说明书的要求PDF.pdf

    一份合格的软件需求规格说明书的要求PDF.pdf

    如何科学地输出一份的埋点需求文档?.docx

    "如何科学地输出一份的埋点需求文档?...输出一份的埋点需求文档需要按照埋点模型把将业务需求翻译成为开发能懂的语言,并且需要设计埋点时考虑事件模型的四个步骤:业务分析、定义指标、事件设计、属性设计。

    11、需求跟踪报告.docx

    本篇需求跟踪报告不仅是一份文档,更是一项确保需求得到正确理解和实施的管理工具。 需求跟踪矩阵是此报告中的核心元素。它像一张大网,链接了需求与项目实施过程中的各个关键输出物,如设计文档、代码实现和测试...

    如何写一份高质量的数据需求文档?.docx

    标题中的“如何写一份高质量的数据需求文档?”指的是创建一份能够清晰、准确地表达业务数据需求的文档,这种文档通常称为数据需求文档(DRD)。在IT行业中,编写高质量的DRD是确保数据采集、分析和决策过程有效性的...

    产品需求文档:如何撰写一份适合敏捷迭代开发的PRD文档?.docx

    敏捷开发产品需求文档(PRD)编写指南 在敏捷开发时代,产品经理如何撰写一份适合敏捷迭代开发的...撰写一份适合敏捷迭代开发的PRD文档需要产品经理具备敏捷开发的思想和知识,同时需要具备良好的项目管理和沟通能力。

Global site tag (gtag.js) - Google Analytics