知识卡片
需求优先级划分标准,与变/不变需求的识别关注点
内容
调研捕获到一堆零散需求之后,需要基于两个因素划分优先级:约束限制(某些需求受明确的成本或时间约束影响)、动态性(企业内外部环境随时间变化,现阶段的某些需求未来可能不再有用)。具体划分方法有三种角度:从系统提供给使用方的业务功能或价值角度衡量;从利益攸关者维度衡量——不同利益攸关者的权重和影响力不同,满足监管层的需求通常优先级更高;从安全和稳定性角度衡量——安全性和稳定性是任何系统最基本的要素,一旦这两者无法保证,其他功能也会变得不可靠,因此这类需求往往应该排在优先级序列的前列。确定需求范围之后,还要进一步区分哪些需求是变化的、哪些是不变的,这个识别过程有四个关注点:一是不要只盯着功能性需求会变,非功能性需求和约束条件同样可能变化,需要覆盖所有类型的需求去排查;二是不能只看到变化的表象,还要分析引发变化的根本原因、以及这种变化发生的时间频率;三是要把变化影响的范围和对上下游的波及梳理清楚,形成一条完整的变化链路或网络,才能了解某个特定需求变动会对其他相关部分造成什么影响;四是要分析是否存在可替代方案,考虑有没有其他办法能避免或应对这种变化。可迁移启发:判断一个需求”是否稳定”时,不要只凭直觉猜测,而是走一遍这四个关注点——尤其是”追溯变化的根本原因和频率”和”梳理变化影响的完整链路”这两步,往往能提前发现那些看似孤立、实则牵一发动全身的隐藏依赖,避免真正变化发生时才手忙脚乱地去梳理波及范围。
参考来源
- 位置:《架构师启示录:知识模型、落地方法与思维模式》第6章《需求分析》之"6.1.5 划分需求优先级"与"6.1.6 区分变与不变的需求"(源文件:_epub-src/EPUB/xhtml/chapter10.xhtml)
- 结论依据:原文说明"这种划分主要基于两个因素:约束限制和需求的动态性……满足监管层的需求通常具有较高的优先级……安全性和稳定性是任何系统最基本的要素,如果系统无法提供这两个因素,其他功能也将变得不可靠……我们不仅要确定变化的表象,还需要分析出背后引发变化的根本原因,以及该变化发生的时间频率等", 直接支撑本卡关于需求优先级划分标准及变/不变需求四个关注点的结论。
- 原始内容:需要将变化影响的范围和对上下游的影响梳理清楚,即形成一个完整的变化链路或网络。