NFR非功能性需求为什么很重要? - modernanalyst


在将近一年的延迟之后,A市启动了其第一个地铁系统。经过城市和承包商的12天密集测试后,城市宣布地铁系统已准备就绪。
但是,从启动新地铁系统的第一天起,问题就陆续出现。通勤的延迟每天都在发生,而客户的抱怨正泛滥在社交媒体上。
除了地铁系统没有按照预期的方式移动之外,找到最多的投诉还与以下方面非常有趣:

  • 缺乏洗手间
  • 安全问题
  • 缺乏沟通
  • 湿滑的地板
  • 拥挤的平台
  • 缺乏连接巴士

所有这些投诉都与地铁本身没有直接关系。它们是“ 非功能性需求 ”(NFR)

NFR的定义
根据IIBA BABOK V3的定义,非功能性要求:一种要求,描述了解决方案必须满足的性能或质量属性。非功能性需求通常是可测量的,并且会成为整个解决方案设计的约束。
此定义中的关键字为:

  • 必须见
  • 约束条件

从我们地铁站的故事来看,地铁解决方案的性能和质量属性似乎未达到客户期望,它们已成为系统正常运行的主要限制因素,导致糟糕的客户体验。

为什么NFR很重要
首先,任何操作系统或解决方案都包含两种类型的需求:功能需求和非功能需求。该解决方案用作时钟,要求解决方案中的每个齿轮正常工作。根据约束理论,只有解决了约束或瓶颈后,才能提高任何过程的吞吐量。
因此,无论火车可以运行多快,一次旅行可载多少乘客(功能要求),只要不满足NFR,解决方案(地铁系统)的性能就只能达到所述非功能性要求
其次,如果在业务分析过程中未考虑NFR,则很有可能它们不是解决方案评估标准的一部分。如果不考虑NFR,建议的解决方案可能无法准确评估。被认为是最好的解决方案可能根本不是一个合适的解决方案。
第三,不考虑NFR会增加解决方案失败的风险和对组织的责任。例如,一块光滑的地板导致骑手从平台上掉下,可能导致对城市的诉讼。
最后但并非最不重要的一点是,修复现有解决方案(运行中的地铁系统)的成本将比在设计阶段修复问题的成本更高。例如,购买更多的公共汽车并雇用更多的公共汽车司机会损害城市的预算。


什么是NFR
NFR的以下示例是地铁示例。

相依性:车手需要停车位,连接公交车
可用性:营业时间和频率,车站附近的停车位,连通巴士的可用性
容错能力:持有门的客户能否导致系统关闭?
互操作/集成:公交车如何配合火车时刻表?客户会在火车到达后的x分钟内赶上接驳巴士吗?还是总会错过火车?
可操作性:用户可以在任何天气条件下安全地进出站而不会滑落吗?
可扩展性:火车站和车站可以应对高峰时间或延迟情况吗?
可靠性:服务的可靠性如何?
弹性:系统能多快响应并从中断中恢复?
安全保障:该系统如何保护地铁系统中的利益相关者?

在业务分析过程中何时考虑对NFR采取行动
NFR的大部分工作都发生在需求分析和设计定义阶段。但是,任何业务分析师都应在业务分析过程的其他阶段牢记NFR。
在计划和监视阶段,业务分析师需要清楚地识别所有利益相关者,以确保他们的NFR将在后续阶段得到捕获和考虑。所汲取的经验教训可以用于解决先前项目中忽略的任何NFR,因此可以在当前项目中考虑类似的NFR
在启发和协作阶段,业务分析师需要确保鼓励利益相关者考虑NFR。所有利益相关者都有机会表达其NFR。
在需求生命周期管理阶段,对所有NFR进行适当的跟踪,维护,优先排序和批准
在需求分析和设计定义阶段,业务分析人员需要确保清楚地指定和建模NFR(如果适用)。所引起和记录的NFR由利益相关者进行验证。在定义设计解决方案并提供推荐解决方案时,应正确评估和考虑NFR的潜在值。
在解决方案评估阶段,将对NFR进行适当的测量和分析。
总之,应该在业务分析过程的整个生命周期中牢记NFR。

NFR技术
下面提供了在不同业务分析生命周期阶段使用的一些技术。

记录,跟踪和优先处理剩余的NFR:积压管理,项目跟踪
从利益相关者那里获取NFR:分组方法:集体讨论,焦点小组,思维导图,观察,调查/问卷调查,用户案例,用户故事个体方法:访谈,研究,文档审查
分析和建模NFR:概念建模,数据挖掘,决策分析,决策建模,文档分析,估计,财务分析,接口分析,指标和KPI,流程分析,流程建模,风险分析和管理,根本原因分析
规划:经验教训,利益相关者名单,角色