怎样运用项目管理系统弄清楚用户的隐含与明确需求

  任何曾经从头开始开发过应用程序的开发者都知道:在用户陈述需求或主题专家描述代码应解决的问题时,我们很难完全理解他们的目的。大家都知道,需求收集是一种挑战;但是,为何难以收集到合适的需求、该采取什么办法,这些问题就更难以理解了。

  其实,用户的隐含需求与明确需求的概念,类似于我们日常所说的默会知识与明确知识的概念,因此弄清楚默会知识与明确知识的涵义对我们研究用户的隐含需求与明确需求很有意义。

  默会知识

  默会知识指基于经验和观察的知识。不存在一些由以前传承下来的法则或程序。它只是做事的方式而已。由于它的相关性,它具有非常强大的力量,能够直接应用于将来需要解决的问题上。

  举一个例子,有一个靠做零工为生的朋友,由于你们很谈得来,所以他和你喜欢一起做事情。最近,你们正在你的车库里为教堂做鼓架,他不断表现出各种小知识。你们先做好框架,然后再把它与平板连起来;而不是一次一块木块在平板上做框架。为什么这样做呢?答案是那样更加方便简单。他怎么知道这样做呢?他做过许多这类活,足以知道这些知识。他知道各种各样的知识,例如,确信木板的顶部,所有木材正常的轻微弯曲部分全部向上。为什么呢?因为当它载重时,它会产生变形,由弯变平,回到中间位置。

  另一个例子是你几年前在大学里学到的东西,它与循环结构有关。你的导师建议我使用一个在循环开始之前就执行初始阅读的循环结构。当时你使用的结构在循环开始后才进行阅读,所以循环中包含一个巨大的IF块。当时她建议你使用一个将阅读语句放在循环前的新结构,你问为什么。她回答道:“因为这是更好的方法。”凭经验,她知道在循环开始之前执行阅读会更好。

  在学徒期,主要学习的是默会知识。从一个比你经验更加丰富的人那里,你学会处理事情的方式。通过这种方式,我们学会制造优良产品或加快工作速度的细小而微妙的方法,这些知识是你在正式的教科书中无法学到的。

  一些人就是知道凭经验来做事情。你可能很难让他们向别人解释这些知识,或将它们写下来,但他们确实知道这些建立在经验之上的知识。

  明确知识

  相对于默会知识,明确知识是指可以被量化的知识。你可以将它们书写下来,在人们之间传达。它是实实在在的,不是获得的经验。它是那种已形成规则的知识。

  例如,一个人看到苹果从树上掉下来,并知道摇苹果树来得到苹果-默会知识-并且他可能还知道重力作用使所有物体集合在一起。最初通过观察获得的默会知识,最终转化成一种定律,明确知识。

  明确知识是通过文章、书籍、研讨会和视频演示传达的知识。明确知识我们总可以在书本商找到,因此没有必要直接经历某事来获得与其相关的明确知识。这是刚毕业的学生受到的批评的原因之一:他们拥有许多“书本知识”(明确知识)但缺乏实际经验(默会知识)。我们很清楚地知道,不管明确知识有多么重要,它总是无法代替默会知识。