赋能数字化转型

数字化、网络化、智能化

Digital Transformation

需求管理,为何如此重要?

首页    微凌动态    需求管理,为何如此重要?
 
 

随着工业产品智能化的不断提高,产品中搭载的软件数量也呈现爆发增长的态势。而软件的迭代速度要远高于硬件的迭代,随着敏捷型的软件开发模式被越来越多的制造商采用,如何管理高速迭代中的各种软件已经成为各大厂商都在面临的一大挑战。

 
 
 

 

ALM(Application Lifecycle Management)应用生命周期管理理念可以帮助企业建立完整的软件研发架构,梳理软件研发流程,管控中间过程交付物及其质量,降低企业的管理成本,从而降低整个软件供应链的成本。

 

而在软件研发过程当中,需求是一切的基石,合理可控的需求管理能够令后续的开发、配置、测试、变更等环节更加清晰和明确。

 

 
 
 

本文我们将从需求管理出发,介绍需求管理的重要性,以及ALM中需求管理主要做什么。

 
 
 

 

比如市场调研部门提出做一款游戏,他们的需求是:

_
 
 

  对抗与合作

_
 

主角具备成长性

_
 

通过战斗可以获得随机性物品提高主角能力

_
 

清晰的胜负机制

_
 

多种皮肤提供给玩家新鲜感

 

操作简单

 

我们脑海中想的可能是这样:

ALM1

但实际情况里每一个语句都有很多种解释,举个例子,“主角具有成长性”和“随机物品提高主角能力”,这两项是否可以合并为一项,那么“随机物品提高主角能力带来成长”完全可以成为一个卖点。

 

顺着这个思路往下走,我们将需求简单化,去掉三座防御塔,让胜负更清晰,只保留一个老家,随后我们看到的游戏可能就成了这样:

ALM2

 

很显然,上图中的游戏元素虽然也能对应客户的原始需求,但无论再如何努力,再如何根据市场反馈进行调整,我们距离提出需求的初衷依旧相去甚远,基本可以宣告项目失败。

 

在实际工作中当然不会出现如此巨大的差异性后果,但在各行业同质化严重,差异化竞争越发苛刻的今天,任何一个理解上的细微偏差,都可能让企业蒙受无谓的巨大损失,需求管理也随之显得愈发重要。

 

 
 
 

正是因为如此,我们传统印象中慢工出细活的制造业其实也正在悄然接受时代的变化,众多的汽车、手机、医疗器材、家用电器、通信设备等等企业逐渐将注意力聚焦在需求,在软件,在ALM

 
 
 

 

举个大家有直观感受的例子,让我们把目光投入炙手可热的汽车行业。为了让“汽车产品具有独特的酷炫外观”这样的需求可以被理解为“车身采用流线型的设计”而不是“在车顶加两根标志性的天线”,在需求管理端我们至少要做两步:

 

首先,是从前到后的需求分解分配过程,需要对文档进行逐层分解。Aspice等级认证或者ISO26262功能安全标准认证对文档层级划分都有对应的要求,一般而言,企业会选择在最佳实践的基础上进行增减。文档层级定义好之后,对文档内容进行条目化的管理,以便对不同层次的需求条目进行逐条对应,在需求端即形成完整的追溯关系链。

 

ALM3

 

其次,是从后到前的测试验证过程,需要确保需求文档中提到的要求件件有着落。测试用例对前期完善的需求进行全面覆盖,确保提出的需求中所有应该测试的点都能够被测试到。最终通过测试结果,将测试通过率、测试覆盖度等信息反馈到需求端。

 

从需求逐层分解到测试用例逐条追溯需求,再从测试用例覆盖需求到数据监控测试完成度和需求被验证通过率,实现需求本身的分解和测试闭环。这是ALM最基础的需求管理理念,可以参考如下的Data Model。

 

ALM4

 

一个完整的ALM解决方案应该包括需求管理、测试管理、问题和变更管理、配置管理、项目规划和项目管理、质量保证等内容,我们所提供的ALM解决方案就是这样一个全功能一体化的平台,同时其优越的开放性还保证了平台与其他工具之间有非常好的集成性能。

 

受限于篇幅,本文主要介绍需求的重要性和通用的管理理念,更多关于ALM的信息和更前沿的ALM资讯,我们会在网站和公众号中持续更新。