章
- 1.需求管理
- 2.编写需求
- 3.需求收集和管理过程
- 4.需求跟踪
- 5.需求管理工具和软件开云官网入口下载手机版
- 6.需求确认和确认
- 7.满足法规遵从性和行业标准
- 8.项目管理
- 9.测量的需求
- 10.系统工程
- 术语表
识别和度量需求的质量
开云官网手机网页版入口Jama 开云官网入口下载手机版Software与卡尔·维格斯(Karl Wiegers)合作,分享他的书籍和文章中的授权内容。Karl Wiegers是一名独立顾问,不是Jama Software的员工。开云官网入口下载手机版开云官网手机网页版入口可以联系到他ProcessImpact.com.
在本章中,我们将讨论准确地度量需求,以及为什么有纪律的组织会收集关于所有项目的一组集中的度量标准。
这些指标提供了对产品规模的洞察;开云足球app下载官网最新版项目或单个任务所消耗的精力、时间和金钱;项目现状;以及产品的质量。开云足球app下载官网最新版因为需求是必不可少的项目组成部分,所以您应该度量需求工程活动的几个方面。本章改编自卡尔·维格斯的书,更多关于软件需求开云官网入口下载手机版,我们将介绍与您的项目的需求活动相关的几个有意义的度量。
开云足球app下载官网最新版产品尺寸
最基本的度量是工作主体中需求的数量。您的项目可能通过混合使用用例、功能需求、用户故事、特性描述、事件响应表和分析模型来表示需求。然而,团队最终实现了功能需求,描述了系统在特定条件下应该如何运行。
通过简单地计算分配给给定产品发布或开发迭代基线的单个功能需求来开始您的需求度量。开云足球app下载官网最新版如果不同的团队成员不能计算需求并得到相同的答案,那么您不得不怀疑他们会遇到哪些其他类型的歧义和误解。了解一个版本中有多少需求将帮助您判断团队是如何完成的,因为您可以监视待完成工作的积压。如果你不知道你需要处理多少需求,你怎么知道你什么时候完成了?
当然,并不是所有的功能需求都会消耗相同的实现和测试工作。如果您打算将功能需求作为系统大小的指示器,那么您的分析师将需要在一致的粒度级别上编写它们。一个准则是分解高级需求,直到子需求都是单独可测试的。也就是说,测试人员可以设计一些逻辑相关的测试来验证需求是否被正确实现。计算子需求的总数,因为这些是开发人员将要实现和测试人员将要测试的。可选的需求评估技术包括用例点和故事点。所有这些方法都涉及到估算实现已定义功能块的相对工作量。
当然,功能需求并不是故事的全部。严格的非功能需求会消耗大量的设计和实现工作。一些功能来源于指定的非功能需求,例如安全需求,因此这些将被适当地合并到功能需求大小评估中。但是并不是所有的非功能性需求都会反映在这个规模估计中。一定要考虑非功能性需求对工作量估计的影响。考虑以下情况:
- 如果用户必须有多种方式来访问特定的功能以提高可用性,那么它将比只需要一种访问机制需要更多的开发工作。
- 强加的设计和实现约束,例如实现与现有操作环境兼容的多个外部接口,可能导致大量的接口工作,即使您没有提供额外的新产品功能。开云足球app下载官网最新版
- 严格的性能要求可能需要大量的算法和数据库设计工作来优化响应时间。
- 严格的可用性和可靠性需求意味着需要大量工作来构建故障转移和数据恢复机制,并对所选择的系统体系结构产生影响。
您还会发现,无论您使用什么需求大小度量,跟踪需求作为时间函数的增长都是有益的。我的一个客户发现,他们的项目在交付前规模通常会增长25%左右。令人惊讶的是,他们在大多数项目上的进度也超过了计划的25%。巧合吗?我不这么认为。
要求质量
考虑收集一些关于需求质量的数据。对需求规范的检查是这种信息的一个很好的来源。计算您发现的需求缺陷,并将它们分为不同的类别:缺失的需求、错误的需求、不必要的需求、不完整的需求、模糊的需求,等等。使用缺陷类型频率和根本原因分析来调整您的需求过程,以便团队在将来减少这些类型的错误。例如,如果您发现缺少需求是一个常见的问题,那么您的启发方法就需要进行一些调整。也许您的业务分析师没有提出足够的问题或正确的问题,或者您需要在需求开发过程中引入更合适的用户代表。
如果团队成员认为他们没有时间检查所有的需求文档,试着检查几页的样本。然后计算样本的平均缺陷密度——每个规格页发现的缺陷数量。假设样本代表了整个文档(一个很大的假设),您可以将未检查页面的数量乘以这个缺陷密度,以估计仍可能潜伏在规范中的未发现缺陷的数量。缺乏经验的检查人员可能只发现,比如说,实际存在的缺陷的一半,所以使用这个未发现缺陷的估计数量作为下限。检查抽样可以让您评估文档的质量,以便您可以确定检查需求说明的其余部分是否具有成本效益。答案几乎肯定是肯定的。
同样,保留在需求基线化之后识别的需求缺陷的记录,例如在设计、编码和测试期间发现的与需求相关的问题。这些表示在需求开发期间通过质量控制过滤器泄漏的错误。计算团队在需求阶段捕获的需求错误总数的百分比。早期移除需求缺陷比在团队已经设计、编码和测试了错误的需求之后纠正它们要便宜得多。
从检测数据中计算的两个信息度量是效率和效果.效率指的是每劳动小时检查工作中发现的缺陷的平均数量。有效性指的是通过检查发现的工作产品中最初存在的缺陷的百分比。开云足球app下载官网最新版有效性将告诉您检查(或其他需求质量技术)的工作情况。效率将告诉您通过检查发现缺陷的平均成本。您可以将该成本与处理在项目后期或交付后发现的需求缺陷的成本进行比较,以判断改进需求质量是否具有成本效益。
本系列的第二篇文章将讨论与需求状态、变更请求以及花费在需求开发和管理活动上的工作相关的度量。
相关文章:开云足球app下载官网最新版产品尺寸要求
需求状态
随着时间的推移跟踪每个需求的状态,以监视整个项目的状态,也许可以定义一个需求属性来存储这些信息。状态跟踪可以帮助您避免软件项目跟踪中普遍存在的“完成了90%”的问题。开云官网入口下载手机版在任何时候,每个需求都将具有以下状态之一。
- 提议(某人建议)
- 已批准(已分配给基线)
- 实现(代码被设计、编写和单元测试)
- 已验证(需求在集成到产品后通过了测试)开云足球app下载官网最新版
- 延迟(需求将在未来的版本中实现)
- 删除(您决定根本不实现它)
- 被拒绝(这个想法从未被批准)
当然,其他状态选项也是可能的。一些组织使用“已评审”状态,因为他们想要在将需求分配给基线之前确认它是高质量的。其他组织使用“交付给顾客”来表明需求实际上已经被释放。
当你问一个开发人员进展如何时,他可能会说,“分配给这个子系统的87个需求中,有61个得到了验证,9个实现了,但还没有验证,17个还没有完全实现。”很有可能不是所有这些需求都是相同的大小,将消耗相同数量的实现工作,或者将交付相同的客户价值。但是,如果我是一个项目经理,我会觉得我们很好地处理了子系统的大小以及我们离完成有多近。这比“我已经完成了90%”要有用得多。找好!”
变更请求
许多需求管理涉及到处理需求的添加、修改和删除。因此,跟踪需求变更请求的状态和影响。你收集的数据应该让你的团队回答以下问题:
- 在给定的时间段内提交了多少更改请求?
- 这些请求中有多少是打开的,有多少是关闭的?
- 有多少请求被批准,又有多少被拒绝?
- 团队花了多少努力来实现每一个被批准的变更?
- 请求平均打开了多长时间?
- 平均而言,每个提交的变更请求影响了多少个单独的需求或其他工件?
在确定了特定版本的需求基线之后,监控整个开发过程中合并了多少更改。请注意,单个变更请求可能会影响不同级别和类型的多个需求(用户需求、功能需求、非功能需求)。要计算给定时间段内的需求波动,请将变更的数量除以时间段开始时的需求总数(例如,在定义基线时):
其目的不是试图消除需求的不稳定性。通常有很好的理由来改变需求。然而,我们需要确保项目能够管理需求变化的程度,并且仍然满足它的承诺。随着产品接近完成,变更的成本会越来越高,而持续高水平的已批准变更请求会使您开云足球app下载官网最新版很难知道何时可以交付产品。随着开发的进展,大多数项目应该变得更抗拒做出更改,这意味着当您接近给定版本的计划完成日期时,接受更改的趋势应该趋近于零。迭代开发方法为团队提供了多个将变更合并到后续迭代中的机会,同时仍然保持每个迭代如期进行。
如果您收到许多变更请求,这表明启发忽略了许多需求,或者随着项目一个月又一个月的拖延,新的想法不断出现。记录变更请求来自哪里:市场营销、用户、销售、管理、开发人员等等。变更请求来源将告诉您与谁合作,以减少被忽略、修改和误解的需求的数量。
长时间未解决的变更请求表明您的变更管理过程没有很好地工作。我曾经访问过一家公司,那里的一位经理挖苦地承认,他们有好几年前就提出的改进请求,现在还没有解决。该团队应该将一定数量的开放请求分配给特定的计划维护版本,并将其他长期延迟的更改请求转换为拒绝状态。这将帮助项目经理将团队的精力集中在变更待办事项中最重要和最紧急的项目上。
相关文章:状态请求更改
努力
最后,我们建议您记录团队在需求工程活动上花费的时间。这些活动包括需求开发(获取并编写良好的需求)和需求管理(处理变更、跟踪状态、记录可跟踪性数据,等等)。
经常有人问我,一个项目应该为这些功能分配多少时间和精力。答案很大程度上取决于项目的类型和规模、开发团队和组织以及应用程序领域。如果您跟踪您自己的团队在这些关键项目活动中的投资,您可以更好地估计为未来的项目计划多少努力。
假设在之前的一个项目中,您的团队将10%的工作花费在需求活动上。回顾过去,您得出的结论是需求定义得太差,项目本可以从开发质量需求的额外投资中获益。下次您的团队处理类似的项目时,项目经理应该明智地将项目总工作量的10%以上分配给需求工作。
当您积累数据时,将项目开发工作与产品大小的某种度量相关联。开云足球app下载官网最新版文档化的需求应该给你一个大小的指示。您可以将工作量与单独的可测试需求、用例点、功能点或其他与产品大小成比例的东西相关联。开云足球app下载官网最新版如图1所示,这种相关性为您的开发团队的生产力提供了度量,这将帮助您评估和确定单个发布内容的范围。开云足球app下载官网最新版如果您收集了一些产品大小数据并跟踪了相应开云足球app下载官网最新版的实现工作,那么您将处于一个更好的位置,可以为将来类似的项目创建有意义的估计。
有些人担心启动软件度量工作将消耗太多的时间,他们认为时间应该花在“真正的工作”上开云官网入口下载手机版。然而,我的经验是,一个明智的、专注的指标程序根本不需要花费太多时间或精力。这主要是开发用于收集和分析数据的简单基础设施,并使团队成员养成记录有关其工作的一些关键数据的习惯。一旦您在组织中建立了度量文化,您就会惊讶于您可以从数据中学到多少东西。
开云官网手机网页版入口Jama 开云官网入口下载手机版Software与Karl Wiegers合作,通过一系列博客文章、白皮书和网络研讨会,在我们的网站上分享他的书籍和文章的授权内容。卡尔·维格斯是一名独立顾问,并非Jama的雇员。开云官网手机网页版入口可以联系到他http://www.processimpact.com.免费享用这些需求管理资源.
在本次网络研讨会中,您将了解更多如何利用生活需求来弥合工程孤岛
开云足球app下载官网最新版产品尺寸:最基本的度量是工作主体中需求的数量。您的项目可能通过混合使用用例、功能需求、用户故事、特性描述、事件响应表和分析模型来表示需求。然而,团队最终实现了功能需求,描述了系统在特定条件下应该如何运行。