首先要达成共识,这个世界上,是先有需求,再有方案的。需求是业务架构的起点,在需求没有确定之前,方案是无从谈起的。如何准确的识别需求,是系统建设的头等大事。
在实际生活动作中,经常发生,你以为他在跟你谈需求,实际上他在给你讲方案。比如,哄女朋友开心这件事情。当你发现对方在跟你谈方案的时候,你就需要警惕了,你需要思考的是,搞清楚对方的需求,再跟她去谈方案。
需求层级
首先我们要弄清楚什么是需求?需求可以分为四个层次:
- 第一层、这个问题是可以被解决的。如果一个问题从根本上就不可能被解决,就无从谈起解决方案,那就是一个没有意义的问题。
- 第二层、解决这个问题可以获得的收益。对于没有价值的,没有收益的问题是没人会去考虑的。
- 第三层、是解决这个问题而获得的收益大于代价。解决这个问题所带来的收益跟我所需要付出的代价是要正向的。如果我的收益低于我的代价,我可能没有动力去解决这个问题,没有人愿意去做亏本的买卖。
- 第四层、解决这个问题所获得的收益高于其他的问题。
所以什么是好需求呢?满足了需求比满足其他需求更有收益,更有价值,这就是好需求。
区分问题与解决方案
前面我们有提到,我们在需求分析过程中经常会遇到的一个很大的陷阱,那就是我们在讨论的时候分不清楚需求和方案。在领域驱动设计的概念里面,有问题空间和解决方案空间,分别对应了需求和方案。怎么区分问题空间和解决方案空间?我们可以从几个角度去看。
- 问题空间:关注为什么,困难,需求
- 解决方案空间:关注怎么做、动作、行为
问题空间更多的会关注困难和诉求。解决方案空间讲的是动作和行为。比如我不开心是问题,你都不哄我,其实是方案,我为什么不开心是问题背后的原因,你应该用什么方式来哄我,是我提对你提出的一个解决方案。所以我们再去区分需求和方案的时候,我们可以关注我们在提出这个问题的时候的关注点是什么,是在讲为什么,还是在讲怎么做。
系统参与者
使用者、受益者、被影响者
我们在需求的识别过程中,首先要识别的是系统的参与者,一般有系统的使用者,需求的受益者,还有其他受影响的人。
- 使用者
系统的使用者,顾名思义就是使用系统、操作系统的人,他们大部分情况下也是需求的提出者。
- 受益者
需求的受益者,不一定是系统的使用者,有些时候可能是其他系统的角色。比如在财务环节,系统的使用者可能先是由销售人员提报订单,财务人员需要审核,财务人员才在审核的过程中是一个最大的受益者,他去确保了财务的准确性和有效性。
- 受影响者
受影响的人也有可能是其他的人,比如系统因为安全的诉求而提升了安全的级别,某些敏感的信息不再对普通的系统使用者开放。普通的系统使用者要查看这些信息,就需要付出额外的代价,去做审批申请这样的流程。这些人在需求环节就受到了负面的影响,他们为此会需要做额外的工作,才能达到某些业务的目标。
当我们识别到了系统的参与者,我们就可以基于参与者的收益或者代价,去判断需求的价值。
需求价值
判断需求价值有两个指标,一个指标是对收益人帮助的大小,另外一个指标是收益人角色的重要性。
收益人的角色的越重要,它所带来的价值越大。比如前面提到的安全层面的诉求,一般都是由系统的负责人或者是老板提出的来得。这些诉求可能会损害其他系统参与者的一些利益,但这个诉求可能重要性被提得很高,需要被满足。
另外一个指标是满足需求的代价。如果业务人员因为安全层面所付出的代价是可接受的,那就意味着为了安全,我们付出额外的操作成本和审批成本也是可接受的。这个需求的价值,它就是正向的。
基于价值来就判断出需求的重要程度,以及这个需要是否被满足。
因为需求关注点在于为什么,所以我们在需求分析的过程中要多问为什么。比如为什么他要做这个行为?他背后的逻辑是什么?为什么他不愿意做这个行为?他背后的逻辑又是什么?为什么他要看信息?这背后的逻辑?为什么他不能看这个信息?这背后又是为什么?
这些为什么决定了,我们对需求的参与者的利益的判断、对系统参与者收益的判断、以及他们需要付出的代价的判断。
多问为什么,可以帮助我们洞察业务人员表达背后的行为的逻辑。这样子我们可以更深层次的理解需求背后潜藏的问题,这些问题可能才是真正的问题,这也是为什么我们要多问为什么的原因。
重要的技巧
需求识别的过程中,还有一个重要的技巧就是获得明确的答案。
在沟通的过程中间,我们不能基于默认的共识,因为我们有一句俗话叫,你以为你以为是你以为,实际上并不是。大家对同一个事物的理解可能偏差是比较大的,尤其是技术人员和业务人员之间的偏差。比如常说的,“大家都是这样”,“我觉得XXXXX”。这些都是我们需要警惕的。
另外一个,我们尽可能的重复对方的表达,以二次的确认,以确保我们理解对方,与对方认为我们理解的是一致的。这样子才能确保我们能够准确理解业务人员的表达。
识别需求是业务架构的起点,也是投入产出比最大的一环。我们在这个环节通过业务价值的判断,决定了需求是否需要被满足,问题是否需要被解决,哪个需求的优先级高。换句话说,这个钱该不该投资。因此,我们需要用百分之两百地重视度来做需求识别工作。
如若转载,请注明出处:https://www.kuaisuzugao.com/8803.html