我们在工作中不可避免的要向同事讲解手上负责的项目,他们或是刚转到项目组的老鸟、或是前来借鉴经验的兄弟项目组、或是刚毕业的应届新同学、亦或是你的领导们。但不知道朋友们有没有这样的一个体会,觉得很清晰明了的东西,费尽口舌讲解时却发现对方一脸懵逼。嗯,我在说什么呢?
反思下来,如何高效简洁的把事情讲清楚,并且能够让别人能够听明白?这个问题的梳理就变得尤为重要。
相信在程序员的工作中,遇到的大多数问题都可以用言语去传达清楚。特别是对于项目的讲解,尤为如此。KT(Knowledge Transfer)不到位,要么是讲的人没讲清楚,要么就是听的人没有听明白。我们要找到问题,对症下药。
综上,进一步对问题细化如下
- 讲解的受体是谁?拥有什么样的知识背景?
- 你想要达到什么样的讲解效果?
- 讲解时间如何安排?
- 对讲解的内容有几分把握?
- 内容如何安排、衔接?采用什么样的递进结构?
- 如何紧扣主题?
- 如何应对主题无关的提问?
- 如何避免似是而非的回答?
以上几个基本问题是我们在日常项目讲解中需要考虑到的,虽然环环相扣,但看起来并无出奇之处。其和做一场Presentation类似,但要在实际运用中做好这些却并不容易;总有这样那样的突发事件产生,进而影响现场发挥。同样的,在面临突发事件时,能否对这些问题作出妥当、冷静的处理,是一个人的核心硬功夫所在——每临大事有静气,不随境转,不为气乱。
以下对几个问题做进一步思考。
你想要达到什么样的讲解效果?
这个问题就像是你出发前决定要去到某个地方一样,其直接决定你讲解的方式,就像是你从上海去北京和去自家楼下便利店所选择的交通方式多半是不同的。如果你是想让听者对项目有一个感官的认识,那或许搞个架构图、数据流图再加上项目背景略加讲解就足矣了。而如果是想让对方能够上手开发维护一个项目,那基于上述基础上可能还需要进一步考察其技术背景,demo具体的项目案例,讲解代码、项目规范等等更细节的东西。
讲解的受体是谁?拥有什么样的知识背景?
给领导讲项目和给初入职场的应届生KT多半是不同的。领导可能只是想知道你在做什么,阶段目标完成情况如何,这时我们要用简练的语言把项目讲好;就像是工作汇报,总体会更注重结果的展示,此处推荐阅读《向上管理的艺术》。而对方若是新加入项目组的应届生,则需要知道怎么去做,还要知道为什么。若是一对一KT的话,很有必要提前知道一下对方的学术背景以及项目相关技术的掌握情况。最好的情况是项目用到的技术对方基本了解,并且学习、动手能力强。那你稍微讲讲项目背景与关键点、数据处理流程、Demo就足够了。但实际情况总是和设想有所差别,于是有了后续更多需要考虑的问题。个人觉得,KT的边界很重要,在工作中一定要分清楚项目KT和技术培训的差别。
讲解时间如何安排?
举个例子,有时项目时间线比较紧,并不具备随时接受KT任务的条件。于是我往往会将其推到下班前一个小时左右或晨会区间。以下午五点来说,这时一天的工作进入尾声,不会因为额外的KT时间花费过多而影响项目进程。但对于听者来说或许是个考验;经过一天的工作并不一定能够集中精力去听讲。我常常会在讲解中随机询问半小时前讲过的知识以考察本次KT效果,发现在上午十点的效果要普遍好于下午五点,不知道和自己的状态是否也有关系。
对讲解的内容有几分把握?
相信在团队里能够承担项目讲解者的朋友必然对项目有着相当的认知,而此时需要处理的就是一些边边角角的东西了。就比如前任开发的脚本突然被问起代码细节,而此时你恰好忘记了,咋办?你当然可以说这个代码不是自己开发的,细节的东西为了稳妥起见还需要进一步研究确认后再给出回答,在此先跳过。而在某些特殊场合(你懂得),最好还是提前做好准备,至少把项目相关的东西都给过一遍,把所有不清楚的地方都搞清楚。充分的准备很重要!
内容如何安排、衔接?采用什么样的递进结构?
平时用的频繁且效果较好的几个方法如下,一次完整的KT中,往往是好几个方法齐齐上阵。
- 从项目架构入手,分模块讲解
- 从数据流入手,按流程图讲解
- 问答式
其中前两个方法的主动性较强,能够较好地把节奏掌握在自己手里,并且结构清晰,能够让不熟悉项目的伙伴快速建立高层认知。在细节处理中,个人比较喜欢数据流图讲解的方式,采用三段式的方法能够递归肢解、简化很多看起来复杂的数据处理流程。何为三段式?即数据从从哪里来,需要经过什么样的处理,要到哪里去?
一问一答适合项目讲解后期的处理,此时听者已经具备一定的项目认知,那剩下的无非就是答疑互动了。对于很多朋友来说,这个环节的挑战性也同样不小。
如何紧扣主题?如何应对主题无关的提问?如何避免似是而非的回答?
这几个问题比较多的出现在互动环节中,我相信大多数人不会在做单方面输出的时候偏离主题,而更多的时候是做出佐证或活跃气氛之后回扣主题。而在互动中也有可能会出现一些跳跃性比较大的提问,对此有一个处理方式是,不管其是否和主题直接相关,都将其往当前的主题上带。同样的,我们也要注意似是而非的回答,即使你为了更好的回答这个问题而借助其他的铺垫,对方依旧会觉得你废话连篇;大多数情况下,直截了当是最高效的沟通方式。既然对方问了这个问题,那你就假设对方已经具备搞清楚这个问题所需要的知识铺垫,此时只需要你一句话的提点而已。
想要更好的应对别人的提问,那了解一下如何提问也是很有必要的,很多问题需要用心对待、认真回答,但有些问题并不值得;在此推荐阅读《学会提问》
小结
说实话,上面说了这么多,某些问题本人做的并不好,目前也还处于探索实践阶段。不过没关系,知行合一,我们在路上。