研发人员如何进行有效沟通

Posted mydeman

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了研发人员如何进行有效沟通相关的知识,希望对你有一定的参考价值。

沟通,在我们的日常工作必不可少,需求沟通、技术设计沟通、接口联调沟通、实现细节沟通等等等等。敏捷开发更倡导通过面对面的沟通提高效率。作为不善言辞的程序员,有时候不但达不到沟通效果,反而会出现面红耳赤,最后甚至被领导“强迫牵手”。

那么应该如何提高效率呢?

一,了解认知差异,放平心态,平等对话。

之所以要把认知差异放在首位,是因为很多误解的出现正是由于每个人对同一个词、同一件事物、同一个概念的理解是有一定偏差的。我们看一个简单的场景。

A和B在讨论使用缓存提高性能。
A:这些统计指标放到缓存里就行了,页面定时刷新的时候就可以直接从缓存中获取,那就会快很多了。
B:是个不错的主意。那是不是得先找运维申请资源,单机版的应该就够了吧?
A:什么意思?为什么还有申请资源?不需要呀
B:你说的不是用缓存吗?
A:是呀
B:对呀,装Redis需要资源呀
A:哦,好吧,我明白你什么意思了。不过对于当前这种情况,不需要引入Redis,咱们用Map做一个简单的缓存就够了。

不知道各位在平时有没有遇到过这样的情况。在上面的场景中,问题得到了澄清和解决,这是好的。而现实中,往往出现按照“我以为”行事,出行任务执行偏差。

放平心态和平等对话,自不必多说。如果沟通的目的是为了解决问题,而不是吵架,就应该放平心态,心平气和,更不要玻璃心,这样才能抽丝剥茧逐步接近真相。而如果不能做到平等沟通,对话的渠道很快就会被关闭。

二,拉齐背景信息。

如果说上一条是为了有个正确的心态,而拉齐背景信息就是沟通的起点。背景信息和认知差异有时候有点难以区分,背景信息更多的是指针对当前要沟通的事情,要确保所有参与沟通的人是在同一个起点上;而认知差异,是指个体本身的知识储备,包括广度、深度。前者是比较容易对齐,而后者就比较难,需要双方在沟通付出很多的努力,后面说明如何解决认知差异的问题。拉齐背景信息的做法很简单:

  1. 不加任何个人判断的陈述事实
  2. 找到可以依据的材料,比如会议记录、文档、之前沟通的聊天记录等等

针对开发中最常遇到的几个场景,可以选择不同的依据材料:

  • 产品与研发的实现细节的沟通:
    评审过的PRD、用户故事为依据,要求一些口头沟通的需求变更及时落实到文档上,防止遗漏
  • 产品与测试、研发的测试细节沟通:
    评审过的PRD、用户故事、测试用例为依据。要求在产品评审时,通过场景化的描述完善用例,覆盖和信息场景,确保参与评审的人对用例的理解透彻
  • 技术设计与代码实现的细节沟通:
    架构设计和技术详细设计文档为依据。
  • Bug的复现和修复:
    评审过的PRD和Bug的复现步骤为依据。要求Bug的复现步骤要能够完全复现问题,不能写的过于简单,还要配合必要的截图。
  • 联调:
    API文档为依据。如今前后端分离、微服务架构盛行,对API的文档要求是非常高的。API文档中,不仅仅要包括请求参数、返回值、异常定义,有时候可能还需要一些使用场景的说明。不过有时候文档的维护很难跟上需求和开发的变化,就需要沟通者在沟通时要仔细描述问题,确保各方的理解是一致的。

对于其他场景,我们也要考虑找到合适的依据,仔细沟通确保把大家对问题理解一致。

三,列出沟通事项,逐条沟通,

这一步就开始进入正式沟通环节了。如果是比较正式的会议,一定要列出讨论的议题,最好能在会议之前同步给所有参会人员。在实际的工作场景中,有很多是即时性的沟通。对于这种情况,发起沟通的人也要开宗明义,说出要解决什么样问题。

研发人员最经常参与的应该就是技术方案沟通了。比如架构师同步架构设计、工程师向其他人员寻求帮助。我们分别来说一下。
架构师作为团队中技术灵魂,在设计架构时,不仅要满足基本的设计原则,兼顾稳定性与前瞻性,更要考虑技术的落地难度。落地既包括眼前的实现,也包括未来的扩展与维护。在引入一个新的模块或者新的概念时,一定要能给出确切的定义和边界,确保工程师团队能够理解并且可以落地。在沟通过程中,就需要架构师提供相对详尽的设计文档,并且能够通过一两个场景的讲解让架构活起来,立体起来。这个沟通是比较难的,十分考验架构师的沟通能力。建议,架构师在和团队沟通时,可以要预先准备一系列重要的检查点,时不时抛出这些问题,让团队回答,通过团队的回答的就可以判断大家是否已经理解了这个设计,进一步还能够清晰知道如何落地。
即时性的技术讨论。其实对于技术沟通,有一个通用的方法:画图;时序图、流程图、状态演化图、类图等等,这些设计图,不仅仅可以大家的理解拉齐,更可以协助我们找到问题所在点,这是解决认知差异的非常好的手段。另外还有一个副作用,可以快速提高团队的设计能力。
总结一下:技术沟通以技术设计图为基础。
在逐条沟通的过程中,要对一些关键的概念、技术点、方案做好记录,并且要确认出来行动项是什么。

四,确认沟通结果。

沟通完毕了,问题说清楚了,方案也有了,最后一定要确认沟通结果,留下沟通记录。主要沟通的内容包括:

  1. 方案详情,尤其关键环节、关键概念、关键步骤
  2. 行动项,负责人和完成时间
    这些既是这次沟通的成果,也是以后某次沟通的依据。

以上是关于研发人员如何进行有效沟通的主要内容,如果未能解决你的问题,请参考以下文章

研发人员如何进行有效沟通

研发人员如何进行有效沟通

如何进行有效的沟通----日常沟通及会议

项目实施中如何进行有效的沟通?

测试与开发如何有效沟通,QC11(HP ALM 11)的简单使用记录

怎样与用户有效地沟通以获取用户的真实需求?