写点什么

想知道如何解决“切换上下文”问题么?进入“等待打扰”状态吧

  • 2009-09-16
  • 本文字数:991 字

    阅读完需:约 3 分钟

在相对短的时间内,把注意力从一个任务切换到另一个任务,这就是“切换上下文”的定义。人们普遍认为:这么做对于团队成员和他正在其中工作的项目都是有害的。大家也觉得“切换上下文”与“多任务工作方式”很类似, InfoQ 最近一篇新闻也提到斯坦福大学的一篇研究报告,展示出了相关的负面影响。David Starr 认为“切换上下文”可与“ Muda (浪费)”相比拟。他提出:

“切换上下文”正是 Muda 的本质,Muda 是一个日本词汇,指那些发生浪费的活动,而且这些活动没有增加任何价值,对工作效率毫无贡献。学着积极应对“切换上下文”能够降低你的浪费,还能让你变得效率更好。事实如此。

应对“切换上下文”的威胁,有多种方式。首要规则就是:“不要切换上下文”。不过, Charles Miller 指出,要想完全摆脱“切换上下文”只能是一厢情愿。一个项目中,有很多因素会转移人的注意力,必须要采取某种方式处理它们。他提到了 Atlassian 使用的下列技巧:

  1. 异步沟通——Atlassian 为员工们运行了一个 Jabber 服务器,所有的开发人员都会登录上去发送即时消息。其长处在于:因为其本质是异步的,所以可以很容易暂时无视,等到时间合适再去回应别人的消息。博客和内部 Wiki 也是不错的工具,可以在不必实时干扰他人的情况下,了解他们的想法
  2. “等待打扰”——他们采取的另一个有趣的想法,是指定某一个开发者的状态为“等待打扰”。这个开发人员在整个 sprint 中都可以被人打搅。他专门负责管理并响应所有的打搅因素和“切换上下文”场景,以避免整个团队被打扰。

指定唯一的一个开发人员为“等待打扰”状态,让他用两周的时间来扮演磁铁,吸引所有的问题、请求和干扰因素,这样整个团队就可以免于打搅了。

Charles 强调指出:别指望处于“等待打扰”的人在 sprint 中完成大量工作,考虑到“切换上下文”带来的问题,这可不奇怪。他提到:

当然,这种方式有其不好之处,就是处于“等待打扰”的人在两周内完成的工作量不会很多,不管他们承诺说要完成多少功能。从另一方面看来,因为人们不指望“等待打扰”者完成多少工作(他自己可能也不抱多大期望),这个开发人员也就不怎么懊恼了,而且对于团队整体来说,安排日程和估算也能达到更大的准确性。

因此,将来敏捷团队如果需要对付多次上下文切换或是多种干扰因素,指定一名专职的团队成员应对 sprint 中的干扰,这也许是个好主意。

查看英文原文: Need an Answer to Context Switching? Get Disturbed

2009-09-16 09:401906
用户头像

发布了 479 篇内容, 共 159.4 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

ARTS Week11

时之虫

ARTS 打卡计划

第十章作业

武鹏

数据库的乐观锁和悲观锁并非真实的锁

架构师修行之路

数据库 架构 乐观锁 悲观锁 分布式锁

Requests模块基本操作

有梦想的tester

ARTS-WEEK10

一周思进

ARTS 打卡计划

面试这么撩准拿offer,HashMap深度学习,扰动函数、负载因子、扩容拆分,原理和实践验证,让懂了就是真的懂!

小傅哥

Java 面试 hashmap 负载因子 扰动函数

如何理解Java8 的函数式编程

Rayjun

Java 函数式编程

关于 Bash 的 10 个常见误解

柴锋

bash Linux DevOps Shell

ARTS打卡Week 10

teoking

LeetCode题解:21. 合并两个有序链表,利用数组排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

视读——沟通的艺术,看入人里,看出人外(第二章)

废材姑娘

读书笔记 视觉笔记

图文讲解 AQS ,一起看看 AQS 的源码……(图文较长)

程序员小航

AQS jdk源码 源码阅读 java 并发

微服务、DDD

chenzt

程序的机器级表示-控制

引花眠

计算机基础

LeetCode题解:21. 合并两个有序链表,迭代,JavaScript,详细注释

Lee Chen

大前端 LeetCode

当实证资产定价遇上机器学习

分析101

人工智能 学习 金融科技 金融 资产定价

吃灰的旧显示器别扔!

小匚

学习 随笔杂谈

求刚好大于当前数组组合,Code Review最佳实践,JVM框架原理,JVM垃圾回收原理 John 易筋 ARTS 打卡 Week 12

John(易筋)

Code Review ARTS 打卡计划 JVM虚拟机原理 JVM垃圾回收原理 Array算法

应用开发基础之-并发编程

superman

如何让区块链技术能够更好赋能数字社会建设

CECBC

区块链 数字经济

Suricata-流的处理

Phantasm

网络安全 suricata flow

十年一梦,小米的原罪得到救赎了吗?

脑极体

深化区块链技术的应用 体现其价值产业发展良机

CECBC

区块链技术 数字经济

BGP、OSPF、MPLS路由协议RFC分享

Phantasm

ARTS 打卡(20.07.20-20.07.26)

小王同学

Java 常见的几种 OOM

hepingfly

Java OOM

十多位全球技术专家,为你献上近十个小时的.Net微服务介绍

newbe36524

容器 微服务 .net core netcore

热潮-区块链的价值能够体现在哪些方面?

CECBC

区块链技术 标准化 应用价值

设计模式之——JDK动态代理的源码分析

诸葛小猿

动态代理 cglib 代理模式 Proxy

ARTS打卡 第11周

引花眠

ARTS 打卡计划

那些不可貌相的代码规范

废材姑娘

代码质量

想知道如何解决“切换上下文”问题么?进入“等待打扰”状态吧_研发效能_Vikas Hazrati_InfoQ精选文章