11.8读书笔记《需求掌握过程》02

发布时间 2023-11-09 09:43:44作者: 20214046王垚基
所谓需求,就是那些必须在开始进行产品构建前发现的东西,如果在构建的过程中才发现需求,或者更晚更糟,直至客户已经在使用产品的时候才发现需求,那么代价将会是很大的,效率也将十分低下。
  《掌握需求过程》这本书中,讲述了身为一个需求分析师,应完成的几个工作内容。按书中所说,分析师即是解释者,必须理解用户所说的关于工作的事情,并将其解释为一个产品的需求规格说明。
  软件需求分析,应做到以下四点:
  第一点:观察和学习该项工作,并从用户的角度来解释它。
  学习和研究工作,不仅是用户现在做什么,还有用户为什么这么做,这样才能从用户角度理解工作。
  第二点:解释该项工作。
  解释工作的时候,需要对用户的描述进行一定的过滤。需要跳过对当前技术和做事方式的描述,以避开事件的表象,直达本质。“人们总是以解决问题的方式来描述问题”,确实如此,很多时候,听者很容易受到某些问题描述的误导,这就会导致在项目中产生“技术化石”,并从一代产品进入下一代产品。
  第三点:创造完成工作的更好办法。
  在理解工作的实质的基础上,分析师有时候需要给出更好的解决办法,至少要比目前的工作方式好。这样不仅仅是为了帮助客户得到更好的工作方式或开发更好的产品,还要充分的考虑,因为用户不成熟或者对技术不熟悉所造成的调研前期忽略的很多对他们有用的需求。分析师若是不去主动发现这一部分需求,很可能到实际开发的时候,随着进度快要完成,用户将不断提出新的需求,或者修改要求,使得项目面临大改或走向失败。
  第四点:以需求规格说明和分析模型的方式来记录结果。
  完成以上工作,还需要一个固化的输出,那就是设计师工作的输入,需求规格说明。
  “有意识的需求是客户头脑最上层的需求,它们常常代表着客户想的东西。无意识的需求是客户常常忘记表述的需求,因为他们对这些需求知道得太多,并假定别人都有同样的知识。做梦都没有想到过的需求是一些有用的需求,但客户没有意识到实际它是可能的。”正如书中这段话所言,在需求分析过程中,及早的发现所有的需求更有效,代价更小。而在工程中没有发现的需求最终会显露出来,也许是在用户开始操作产品的时候。如果是在后面的阶段,为这些新发现的需求所做的修改将更为昂贵。