软件开发的过程往往需要各色人等的参与。不同的行业领域的人、不同的教育背景的人、不同的地域的人,对同样的事物,可能会习惯用不同的词来描述。相应的,同一个词汇,在他们认知中的意义也可能存在一定的区别…在日常的工作中,有时候就会因为这样的差别,造成沟通效率低下、甚至误解…
举两个想象中的场景。
场景 1,一个新人听到同事们都称屏幕上可以被选择的框框为"check box",于是他认为类似这样的东西就这么称呼;当他第一次见到单选框时,他也称其为 checkbox,但是同事纠正了他:不,这个东西是"radio button"。新人就会默默观察这两个词代表的东西的区别,然后按照自己的理解给出它们的定义(原来这种互斥的选项不能叫做 check box..)。
场景 2,产品经理和他的领导在讨论一个开发中的表单功能。
领导:用户可能需要在这个输入框中输入任意值,目前能做到吗?
产品经理:不可以,因为它是一个搜索输入框,你可以点击输入框旁边的望远镜,会看到系统提供的一些值,用户只能选择其中的值。
领导:为什么会这样?几分钟前你给我演示另一个表单的时候,有类似的输入框,我明明看到你输入了内容。
产品经理:那个也是不能输入的。
领导:不,你一定输入了。我记得好像输入的是 2010
产品经理(恍然大悟):您说得没错,我的确输入了。但是,那只是因为 2010 是系统提供的值之一。搜索输入框是只能输入系统提供的搜索结果的输入框。因此它目前不能实现你期望的功能。
场景 1 代表了大部分人学习新词的过程,他们往往是在模仿和被纠错的过程中学习的,这种模式的缺点在于,新人对词的理解由他们的经验所决定,对于同样的词,不同的人有不同的使用经验,因此也会有各自的理解偏差。久而久之,当偏差向某个方向积累的足够多,词的意义也会产生难以控制的变化...
场景 2 是人们在工作中常常出现的低效率情景。这种低效率的沟通通常词的定义的澄清作为结束,而高效率的沟通方式则应当以词的定义作为基础,在共有的基础上进行进一步的沟通。如果例子中的产品经理能预见领导的知识中并不存在"搜索输入框"这种概念,那彼此间的交流无疑可以从 6 句话压缩到 2 句话。
在书上看到过词汇表这种东西,偶觉得它是个解决这些问题的良方。如果让新人搜集好工作中常用的词汇和它们的定义、广而告之,从此大家以这些词汇作为基础进行交流。在交流中,偶们就可以假定词汇表中已经存在的词是对方能理解的词,它的意义等于词汇表中给出的意义;如果表中不存在的话,则人们没有义务理解这个词,如果有人想使用不存的词,他会知道自己很可能需要先行就词的意义进行一番解释。也可以不时修订词汇表。这样一来,就能更好地控制词的意义的一致性和变化。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.