一、什么是帕金森琐碎定律
帕金森琐碎定理(英语:Parkinson's Law of Triviality),又译为帕金森氏凡俗法则,或称芝麻蒜皮定律、芝麻绿豆定律。由英国历史学者与政治学者西里尔·诺斯古德·帕金森(Cyril Northcote Parkinson)于1957年在批评英国海军部(在其管理下的水手和船只数量下降的同时,海军部的规模越来越大)时开玩笑提出。
成体系的文章可以在这里查看
http://sas2.elte.hu/tg/ptorv/Parkinson-s-Law.pdf
最初的意思是一个足够大的官僚机构将产生足够的内部工作来保持自己的“忙碌”,从而证明其继续存在而没有相称产出的合理性。现在指一个组织中的成员往往会把过多的精力,花费在一些琐碎的事情上。
更早的相关文章发表于1955年的《经济学人》上,可以在这里找到原文
https://www.economist.com/news/1955/11/19/parkinsons-law
文章比较短,分为两段。
第一段描述一个老太太花一整天给她侄女寄明信片,花1小时找明信片,再花1小时找老花镜,甚至要花20分钟决定出门寄信是否要带伞……一个高效的人可能只需要3分钟就能完成这些工作。如果看过《疯狂动物城》,第一段给你的感觉就是树懒在表演。
第二段描述了英国公共行政领域的一些事情。我摘录了一段
政治家和纳税人(偶尔会有一些怀疑)认为,公务员总数的上升必须反映出要做的工作越来越多。愤世嫉俗者在质疑这一信念时,曾设想,官员的倍增,一定让其中一些人无所事事,或者让所有人都能早点下班。但在这个问题上,信仰和怀疑似乎同样错位。事实上,官员的数量和要做的工作量根本不相关。
二、该怎么理解
帕金森定律中最常被引用的一句是 "Work expands to fill the time available for its completion.” 中文意思是“你可以用来完成工作的时间有多少,你的工作就会拖延、膨胀、复杂到让你足以填满那段时间为止。”
上一节那个清闲的老太太就是典型的例子。如果家里有小学生,你会发现暑假作业很多时候“真的”需要两个月才能做完。
同样的工作,时间很多的时候,很可能努力程度不够高;时间紧迫的时候,人们往往愈加努力,运用时间更有效率。
之前做一个内部的软件系统,因为架构设计议题复杂度高,大家都不敢轻易发言,导致没什么讨论就通过。反而是图标颜色和风格,所有人都认为自己略懂一些,可以发表意见,结果时间都花在不重要的议题上。
前段时间北大校长在讲话中念错了一个字,社交媒体炸了锅,都在谈论这个错字,而校长真正的讲话精神呢,几乎无人在意。这就是琐碎律的绝佳体现。热门话题的前提一定得是这个话题绝大多数人可以理解并发表自己的高见,而如果所有人都可以发表高见,那说明这事不需要动脑子,进一步也就说明这事大约不值得关心。如果你想成为一个有效率的人,最好别去关心这类热门话题,它很可能会让你气血上涌、心潮澎湃、恨不得立刻飞身上马去砍死那个狗日的,或忙着排队一起去口诛笔伐另一群同样激昂而意见不同的人,或跪拜在砖家的深(hú)度(shuō)好(bā)文(dào)下觉得再不按他说的做人生就来不及了。
还有一句存在争议的话 “work harder, not smarter”,这或多或少也是一种文化观念。忽视这一点的员工都知道,尽管公司的投资回报率可能更高,但自己并不总是受到赞赏。不了解某个领域的人潜在有这样一种观点:完成某件事所需的时间越长,其内在质量应该会越好。聪明高效的工作固然重要,勤奋努力的投入也必不可少!
三、该怎么避免这个问题
帕金森琐碎定律应用的场景非常广泛,也有不少推论。具体到软件开发要注意哪些问题呢?
1、减少不必要的争论
程序员天生需要团队协作,而协作的正能量要放在问题的有效沟通上。个性化应尽量表现在系统架构和算法效率的提升上,而不是在合作规范上进行纠缠不休的讨论、争论,最后没有结论。——《阿里巴巴Java开发手册》
例如,很多程序员喜欢争论代码风格,类似的话题总能吵起来。Bill Sourour(devmastery.com的创始人,作为一名20年经验丰富的程序员、架构师、顾问和教师,他每天帮助个人开发人员和数十亿美元的组织变得更加成功)认为:代码风格没有绝对的对错,只要团队代码风格统一就行了。Bill 觉得比较安全的做法,① 通过工具自动规范代码风格,② 参照名声好的大公司使用的代码风格。
2、项目管理
如果是一个有经验的项目经理,应该早就意识到了这种现象,很费力的跟客户(产品、运营)争取到一些开发的buffer时间,如果把这些buffer直接给开发人员,他们大多数会在最后时间点完成。一个开发任务如果只需要1天,但你分配给他3天,基本的情况都是“按时”完成。是开发人员懒惰么?不是!
这恰恰是帕金森琐碎定律在起作用,"Work expands to fill the time available for its completion.”
所以在项目管理中,一定要考虑这个问题,可以参考以下策略
(1)正确估算。评估实际(大约)需要的时间,如果有风险,增加适当的时间作为buffer。
(2)日常开发不要只有一份时间表。应当有一份针对开发的时间表,设定一些明确的时间节点(尽量往前),buffer永远要掌握在自己手中,以应对突发状况。
(3)张弛有度。在项目时间不是那么紧的时候,给兄弟们留出一点点总结提升的时间,维护好团队氛围。
3、高效开会
开会前做好准备,要讨论哪些内容,采用什么形式,具体议程是怎样,要达到什么效果。组织者如果没有想明白这几个问题,可以考虑暂时不开会。会议开始就开门见山,直奔主题,优先讨论重要的事情。
4、认清轻重缓急
一个人可能有很多事情要做,时间管理矩阵是一个很好的办法,看一眼图什么都懂了。
百度谷歌一下,能找到很多战胜帕金森琐碎定律的普适性的方法,再结合自己的实际情况,一般都能有效果。
四、伪工作征兆
最后找了一个评估自己工作效率的方法,问自己下边的问题,越符合说明你越处于伪工作状态(效率不高)
▪我不完全了解自己工作职务的描述。
▪每天的工作中,有许多与我的工作性质并不相符。
▪我的工作描述与公司的策略目标并不是明显相关。
▪我不清楚公司的策略目标。
▪我在努力地工作,不见得真的对公司有益。
▪我举行或参加会议,都没有明确的目标。
▪我着手进行指派的工作,似乎没有人重视。
▪我花时间去分配工作,但好像对公司目标没什么影响。
▪我参加了公司的培训课程,但对公司的成功似乎没有影响。
▪我做的很多工作,与公司的成就并不直接相关。