2011年1月25日,星期二12:44

追求良好的要求

撰写者

分析人员的主要职责是发现,分析,记录和传达舞会森林。要求 仅仅是产品或服务对其利益相关者有用的一项功能。 例如,客户关系管理系统的两个要求可能是允许用户更新帐户的付款条件并添加新客户。

在本文中,我们将研究舞会森林管理过程和舞会森林生命周期的不同方面。

舞会森林的定义

IEEE软件工程术语表和Business Analysis ofKnowledge®(BABOK®)提供了更精确的定义。两者都将舞会森林定义为

  1. 用户解决问题或达到目标所需的条件或能力。
  2. 系统或系统组件必须满足或拥有的条件或能力,才能满足合同,标准,规范或其他正式施加的文档的要求。
  3. (1)或(2)中记录的条件或能力的表示。

并非所有舞会森林都处于同一级别。有些可能是业务发起人表达的高级要求(例如,降低为客户开具发票的成本),有些可能是描述特定用户所需功能的非常具体的要求(例如,让我单击客户名称,然后显示该客户的帐户历史记录)。

巴勃®定义以下舞会森林类型:业务,用户(利益相关者),功能(解决方案),非功能(服务质量),约束和实现(过渡)。

请注意,这些术语是重载的,在某些组织中通常具有不同的定义。例如,在某些组织中,用户舞会森林被称为业务舞会森林,而业务舞会森林有时被称为业务目标或项目目标。功能舞会森林通常也称为技术舞会森林,详细舞会森林或系统舞会森林。因此,重要的是要了解所使用术语的语义。如有疑问,请询问,但不要假设。实际上,发布术语表以阐明项目团队使用的术语的含义。

不同类型舞会森林的示例

为了阐明不同类型的舞会森林类型,让我们看一下每种类型的一些示例。

文章_Martin_Table1

表1.舞会森林示例

范围

项目的范围是指最终产品将包含的商定的功能集。范围爬取是一种常见现象,它描述了范围扩大的可能性,因为利益相关者在项目期间增加了舞会森林,而没有考虑其对预算,进度和可交付成果的影响。项目经理必须与利益相关者一起就范围达成一致。

利益相关者

利益相关者是舞会森林的主要来源。他们具有分析师必须确定的特定舞会森林。这说起来容易做起来难:做事的人常常不十分清楚自己需要什么,他们常常不知道如何表达自己的需要。分析人员的工作是帮助发现涉众的舞会森林。

利益相关者是对项目的成功成果感兴趣的任何人,包括项目发起人,用户,业务主管,经理,开发人员,客户,客户,供应商以及政府或监管机构。

提出要求令人惊讶地是艰苦的工作。利益相关者通常并不确切知道他们需要什么,而提出要求可能会非常具有挑战性。正如弗雷德·布鲁克斯(Fred Brooks)在他的开创性论文中如此凄美地说 “没有银弹:软件工程的本质和事故”

“构建软件系统中最难的部分就是精确地决定要构建什么。概念工作的其他部分都没有建立详细的技术要求那样困难,包括建立与人,机器和其他软件系统的所有接口。如果做错了,工作的其他部分将破坏最终的系统。以后再进行纠正的其他部分将更加困难。”

他继续说,在系统开发项目中,必须管理两种复杂性:意外的和本质的(或固有的)。

许多软件工程都致力于降低意外的复杂性,这是我们通过使用的工具和编程语言为项目增加的复杂性。例如,用C编写代码比用Java编写要难得多,用Java编写代码比用Java编写要困难得多。 “混搭” 与网络组件。

尽管专注于减少意外的复杂性是一件好事,但项目的许多复杂性都源于基本(或固有)复杂性。本质上的复杂性是问题本身的困难:无论您使用哪种编程语言,都很难将火箭送入轨道。本书研究的技术是关于管理基本复杂性的。

布鲁克斯还认为,最好以增量方式开发系统。从您了解并改进和扩展的小内容开始,而不是一开始就构建倒数第二个版本。这种方法是迭代和敏捷方法的基础。

舞会森林管理

舞会森林管理是定义和维护构成项目团队与利益相关者之间的协议的舞会森林的过程。舞会森林管理计划(RMP)是一个文档,它定义了引发,形成文档,存储和更新舞会森林的过程,过程和标准。典型的舞会森林管理活动包括以下内容:

文章_Martin_Figure1_C

图1.舞会森林管理活动

舞会森林管理活动

通常,使用舞会森林跟踪或舞会森林管理工具来支持舞会森林管理。有许多可以使用的商业,免费和开源工具。

舞会森林流程

舞会森林规范的过程可以分解为发现(启发),分析,建模和文档,沟通和确认(参见图2)。作为过程的一部分,项目团队还必须协商每个舞会森林的相对重要性,以便可以确定适当的优先级。被认为在分配的时间和预算内可以实施的要求称为 项目范围 或简单地 范围.

从最重要的舞会森林开始,项目团队通常按照优先顺序执行舞会森林。原因很简单:大多数项目的时间和预算有限,通常不能满足所有要求。到我们时间和金钱用尽时,利益相关者将需要照顾到最重要的要求。尽管这听起来很简单,但是确定和协商舞会森林的优先级通常是非常困难的,并且在政治上具有挑战性。利益相关者不想因为没有得到他们想要的东西而优先考虑。项目团队不希望范围无限,因为他们知道他们可能无法利用分配的资源来完成所有任务。
文章_Martin_Figure2_C

图2.舞会森林管理流程

利益相关者的义务

为了使IT项目成功,利益相关者要承担某些责任:

  • 他们必须与分析师一起度过时间,并对他们的业务进行教育,并帮助他们了解目标
  • 他们需要分配必要的时间以提供明确的舞会森林并及时验证舞会森林
  • 他们必须准确描述他们的要求;含糊其词的要求无法实施,将它们记录下来是浪费时间
  • 他们必须在需要时提供反馈
  • 他们必须及时提供其他信息
  • 他们必须优先考虑舞会森林
  • 他们必须尊重项目团队提供的时间和预算估算,并抵制“谈判”的冲动
  • 他们必须在舞会森林发生后立即通知项目团队舞会森林的变化

分析人员必须不断地(以微妙的方式)提醒利益相关者他们的责任。如果利益相关者不辜负他们,那么就会引入项目风险,项目经理必须告知项目风险,并将其纳入项目风险目录中。

舞会森林启发和发现

为了发现舞会森林,分析人员应用了多种技术。引发舞会森林的步骤通常如下:

  • 规划舞会森林引发过程以及团队将如何记录和验证舞会森林。该计划被称为舞会森林管理计划(RMP),被认为是项目计划的关键文件。
  • 撰写项目章程或项目任务说明书,其中包含业务舞会森林和项目的总体范围。通常会提供一个上下文图来阐明系统开发工作的范围。所有利益相关者必须同意该项目的愿景。一些组织将此文档称为业务舞会森林文档(BRD)。使用集思广益和访谈来达成关键业务舞会森林。
  • 确定关键用户及其使用特征,并为每个用户选择一个可以代表该类用户舞会森林的代理。在整个舞会森林确定工作中都会咨询这些“用户代表”。
  • 与用户代表协作以识别用例,然后分析这些用例以得出产品的详细功能要求。
  • 分析系统必须响应的任何事件,例如来自硬件设备的输入或来自其他系统的消息。
  • 确定可能提供要求或约束的任何其他利益相关者。
  • 召开舞会森林讲习班,在其中,用户可以一起工作几天,以探讨用户舞会森林并就舞会森林达成一致。舞会森林研讨会是一种通过使每个人都在一起来减少查找所有舞会森林所花费的时间的方法。联合舞会森林计划(JRP)和联合应用程序开发(JAD)是便利的舞会森林研讨会的示例。
  • 影子用户在执行工作任务并使用观察结果来识别舞会森林和理解业务流程时。在流程图或UML活动图中记录这些见解。
  • 举行反馈会话,在此期间用户可以提供有关当前系统问题的反馈。结果可用于制定有关如何增强系统的要求。从服务台查看问题报告可能特别有见地。
  • 构建一个演示舞会森林的原型,并向用户提供现实的反馈。
  • 识别,记录并解决可能对项目造成负面影响的任何风险, ,可能会导致交货延迟,预算增加或范围缩小。
  • 通过演练以及与利益相关者的其他正式或非正式会议来验证舞会森林,以确保找到正确的舞会森林。

舞会森林分析

一旦确定了舞会森林,就必须对其进行分析,以确保它们是正确的,不会互相冲突,并且所有利益相关者都可以准确地理解它们。在分析期间,必须将舞会森林分解为足够的细节,以便项目团队可以准确地估计实施工作,并确保舞会森林确实可行。

分析工件

在分析过程中,分析师构建了许多文本,数字和视觉工件,包括:

  • 上下文图
  • 用例模型
  • 概念数据模型和数据字典
  • 用户界面模型
  • 业务流程模型
  • 优先舞会森林目录
  • 业务规则目录
  • 原型(水平发现以及垂直可行性原型)

舞会森林文档

为了将舞会森林传达给利益相关者进行确认并向开发团队提供对必须完成的操作的透彻了解,分析人员必须编写舞会森林规范。简称为 舞会森林包 因为该规范的格式没有行业标准。每个组织都采用了不同的文档模板。但是,重要的是组织必须具有标准的文档模板。模板必须具有灵活性,因为没有单一的结构可以适合所有项目。

成功的分析师知道如何选择正确的文档编制技术,并且不仅仅局限于一种文档编制方法,例如线框,用例或叙述性要求。他融合了不同的方法,以清楚,明确,简洁地指定所有舞会森林。

从用户的角度来看,编写文档通常不是增值活动,但这是减轻某些项目风险的必要机制。必要文档的数量取决于存在的特定风险,尤其是在项目由外包合作伙伴,分布式团队实施或与利益相关者的访问受到限制或零星访问时。

舞会森林验证

在实施之前必须对舞会森林进行验证,以确保正确理解舞会森林并使其保持有效,以免团队浪费宝贵的资源来实现不必要的功能。验证是通过几种方法实现的,包括:

  • 正式和非正式检查:通过这种方法,项目团队可以满足并遍历舞会森林包,包括任何可视和可执行模型。
  • 利益相关者评论:将舞会森林,模型和原型提供给涉众,以进行审查和确认。在审查结束时,利益相关者“拒绝”要求以表示他们的批准。
  • 验收标准定义: 对于每个用户舞会森林(通常表示为用例),定义发布条件,以便可以构建测试来验证是否满足舞会森林。

撰写有效要求

记录舞会森林是舞会森林过程的重要组成部分。多年来,已经开发了许多记录舞会森林的方法。在更突出的建议中,有IEEE标准830,其中包含有关编写软件舞会森林规范(SRS)的推荐实践。

有用的舞会森林具有几个重要特征:

  • 完成:舞会森林必须包含所有必要的信息,以使项目团队能够满足舞会森林
  • 准确:要求必须正确;验证通常是通过与利益相关者进行审查来完成的;一个准确的要求不能与另一个要求冲突
  • 可测试的:可以通过测试验证舞会森林
  • 可行:该要求可以实现;没有任何技术或其他障碍使要求不可撤销
  • 必要:要求必须描述利益相关者实际需要的功能;它必须与业务目标相关
  • 明确的:必须以简单明了的方式描述舞会森林,以确保对舞会森林的含义没有不同的解释
  • 优先级: 通过利益相关者协商确定了该舞会森林相对于其他舞会森林的必要程度

文件格式

舞会森林通常被编写为简单的叙述性陈述。用户舞会森林最好用更详尽的文档表达。用例是记录用户舞会森林的常用格式。此外,构造视觉模型可简化复杂舞会森林的沟通。可视模型(例如UML图)比书面段落可以更精确地描述舞会森林。与冗长的叙述相比,在图中发现错误也更容易。舞会森林规范通常包括叙述,用例和视觉模型的组合。

舞会森林识别

必须标记所有要求,以便通过唯一的句柄而不是其描述轻松地引用它们。经常使用以下约定:

  • 用户舞会森林表示为用例,并使用前缀UC, 例如, UC1.
  • 功能舞会森林使用前缀R或FR, 例如,R92,FR876
  • 业务舞会森林使用前缀O(用于目标), 例如, O2
  • 业务规则使用前缀BR, 例如, BR12
  • 非功能(或服务质量)要求也使用前缀R,尽管有些人更喜欢使用NFR,例如R14或NFR23

舞会森林可追溯性

要求必须是可追溯的。这意味着对于任何要求,必须能够确定其来源和实现, ,该要求存在的原因,并保证该要求已实际实施。通常,分析人员构建一个矩阵,该矩阵可跟踪每个舞会森林到实现,测试用例和源。舞会森林的来源通常是一些利益相关者,但也可能是法规或命令。

舞会森林批准

许多组织都有正式的“签字”或批准程序,其中客户或项目发起人正式同意已捕获的要求。尽管正式签约是正式的,但必须将签约视为项目的里程碑而不是正式的合同。签核后,舞会森林很可能仍会改变。毕竟,业务不会保持不变;事情在商业世界中不断变化。项目团队必须采用舞会森林变更程序,当舞会森林确实发生变更时,利益相关者可以依靠该程序。自然,项目经理必须向利益相关者解释,对舞会森林的更改(通过在规范中添加,修改或删除舞会森林)可能会影响项目的进度,预算和交付里程碑。

尽管项目团队希望最终“冻结”舞会森林是不现实的。项目团队应准备好持续管理舞会森林范围:范围不是静态的,而是动态的,并且开发生命周期必须适应舞会森林的动态性质。由于这种固有的动态性,敏捷方法对许多组织越来越有吸引力。敏捷方法承认舞会森林会发生变化,因此不会强制舞会森林正式“签署”和“冻结”。在敏捷项目中,范围的管理更加灵活和非正式。

结论

在本文中,我们总结了收集,分析,记录,传达和验证舞会森林的重要方面。提供的技术应作为您自己最佳舞会森林管理实践的基础。

不要忘记在下面留下您的评论。


马丁·谢德鲍尔博士, Corporate Education Group的顾问和讲师,是一位经验丰富的业务分析主题专家,并且已经领导和撰写了有关业务分析,软件工程和项目管理的研讨会和讲习班,已有20多年的历史。除此之外,他还指导客户进行业务分析实践,流程建模和精益项目管理。当他不与客户合作或为CEG举办研讨会时,他以临床教授的身份在波士顿东北大学演讲。

[1] Brooks,F。,“ No Silver Bullet:软件工程的本质和事故”。 IEEE计算机,20(4),1987年4月,第10-19页。

[2] A 混搭 是对可用Web组件的重新组合,以使用简单的可视编辑器和少量编程即可提供强大的新功能。作为示例,请参见Yahoo管道和Google混搭。

 

©BA Times.com 2020

麦格雷戈徽标白色网站