打断如何影响不同的软件工程活动?[译]
某些任务及其复杂度会改变打断的影响。研究还发现,认知与生理数据之间存在差异。
欢迎回到“研究驱动的工程领导力”(Research-Driven Engineering Leadership)系列。我们每周都会提出一个工程领导力中的有趣话题,并结合该领域的最新研究来寻找答案。
打断是每位工程师工作日的常态,但不同类型的打断如何影响生产力和压力呢?本周我们探讨:
打断会如何影响软件工程师的生产力和压力?领导者能做些什么来减轻其影响?
背景
软件工程师要兼顾许多认知负荷较高的工作,例如编写代码、理解复杂算法以及评审他人的代码。这些活动需要深度的专注力,而各种打断(从同事的快速提问到弹出式通知)都会破坏这种专注。不过并不是所有打断都一样,不同因素(例如打断请求的紧急程度或打断者的职位权威)会影响打断带来的干扰程度。
远程办公也增加了新的复杂性。随着更多屏幕通知出现以及面对面互动减少,工程师以新的方式体验到各类打断。了解不同类型的打断如何影响生产力和压力,对营造更好的工作环境至关重要。
研究内容
来自杜克大学和范德堡大学的研究人员分析了打断对三种常见工程任务的影响:编写代码、理解代码和代码评审。20 名参与者在进行这些任务的过程中经历了 6 种不同形式的打断(包括面对面和屏幕通知)。研究人员同时收集了生理数据(通过腕带)和自我报告的压力水平。
研究中使用的六种打断方式说明
主要发现包括:
打断确实会对性能和生产力产生影响,但影响方式十分细微
打断请求者的重要性越高,对被打断的影响就越大。
面对面与屏幕通知两种打断同时出现时,会显著延长代码评审所需的时间。
相比复杂问题,简单的代码理解任务在遇到打断后所需的完成时间反而延长更多。
任务类型和打断方式都会影响打断带来的压力
编写代码时被打断,比起理解代码或代码评审,会产生更高的压力指标。
有趣的是,从生理数据(心率变异性)来看,面对面的打断对压力指标还有明显的“正面”影响,也就是说这类打断导致的压力更小。
主观感受与生理数据并不总是一致
尽管生理数据表明,面对面打断的压力更低,但参与者的主观感受却认为面对面打断比屏幕通知更有压力。
在代码评审阶段,生理压力指标更低,但却有 45% 的参与者认为这一工作让他们感觉压力更大。
应用
这项研究强调了打断带来的影响是多层面的。毫无疑问,打断会影响软件工程师的生产力,但这种影响并不一成不变。虽然生理数据与主观感受有时会出现差异,我们依然建议更多地参考工程师自身的主观感受。他们的主观判断更能影响他们的行为和行动。在做出改进时,满足并改善主观感受往往能够更有效地提升团队的生产力。若需进一步了解有关打断和专注的研究,我们推荐更多文献——这里和这里。
以下是一些应用这些发现的方法:
尽量减少高权威打断。 在关键的深度专注时段,应尽可能减少来自高权威人士的紧急通知(除非真的非常紧急)。可以使用预先安排好的定期对接来替代即时打断。
想办法减少在编写代码时发生的打断。 在编写代码时,打断与更高的压力值相关。因此可在日程和聊天工具上使用“请勿打扰”模式,并在团队文化上提倡尊重此类专注时间。
通过测量来改进。 结合调查问卷和数据监测手段,综合了解打断对工程团队的影响。可以手动执行,也可以使用相关工具。目标是先建立基准数据,然后进行改进,并定期(比如每季度)评估这些改进对于团队生产力的影响。
祝大家在本周里减少干扰、加强协作。
“研究星期二”快乐!
Lizzie