这个道理对于从事软件开发的程序员来说都是深有体会的。可它却很少被领导者们所理解。今天这里想再次说明下为什么软件开发人员总会抱怨多任务切换。 其实道理很简单,就是任务切换会造成极大的浪费。 如果一个程序员每周工作40小时,他把所有工作时间都用在一个项目上面,他可以产出4000单位的智力。而如果他被分派到两个并行开展项目上,当他从A项目的上下文切换到B项目,需要耗费一些工时和智力来了解B项目的状态,他需要找齐所有正确的B项目文件,需要从大脑中消除A项目的思绪,需要重新与从事B项目的其他人员建立联系,把之前在B项目上建立的思路重新建立起来。如果B项目文档不齐全,他还需要清楚团队此前与客户、管理层之间的讨论、项目会议、未解决的问题以及众多其他方面的项目经历。 对于这种情况据杰拉德·温伯格(Gerald Weinberg)在《质量·软件·管理:系统思维》中预计,当给一个人分派三个项目时,任务切换的成本是40%。换句话说,他40%的工作时间被浪费掉了,剩余的60%被分割到三个项目上。以一周40个小时来计算,假设时间被平均分配到每个项目上,他在项目A、B和C上各花了8个小时的工作时间,还有16个小时被浪费在切换上。本来他每周有4000个单位的智力产出,只会减少到2400个单位。 有些管理者不理解多任务切换带来的严重后果,一方面可能是因为他们自身事务繁杂,经常进行任务切换,不觉得有多大的损失;另一方面,多任务切换带来的浪费很难以真实的数据来衡量。 对于前者,我们不否认管理者有“日理万机”的,但是他们处理的很多问题是相对简单的,不需要深度思考的,可以“一言而决“的,所以他们任务切换的代价很小,而软件开发特别是进入到编码阶段,是需要深度思考才能写好一个函数或者调试好软件,所以他们付出的代价是完全不同的。 虽然任务切换造成浪费还没有看到有实际数据支撑,但是程序员的切身感受并不是假的,如果管理者想看到真实的数据,不妨做个对比实验就知道结果了。 多任务切换是对项目生产效率的极大伤害,你相信吗?作为管理者,你还会给员工同时安排多个任务吗? 这正是: 任务切换有浪费,道理浅显但很对 管理应当想办法,好好组织不浪费 参考书目:项目百态:深入理解软件项目行为模式,作者:(美)Tom DeMarco等,译者:金明,出版社:人民邮电出版社 |
|