热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

为什么A经理的团队总是会陷入加班与救火之中

最近在看一本名为《稀缺》的书,作者从行为经济学的角度解释了穷人为什么会更穷,忙碌的人越来越没有时间,节食的人总是失败。由于缺乏闲余导致的带宽负担会进一步导致稀缺,由于总是优先处理紧急的事情而不去处理从

最近在看一本名为《稀缺》的书,作者从行为经济学的角度解释了穷人为什么会更穷,忙碌的人越来越没有时间,节食的人总是失败。由于缺乏闲余导致的带宽负担会进一步导致稀缺,由于总是优先处理紧急的事情而不去处理从长远来看重要的事情导致我们反复低效处理紧急事务并越陷越深。

从这本书中我们可以体会到在项目管理中我们经常犯的一些常识性错误和可能的纠正策略。本文只能通过我自己的一些体会来说明问题,而《稀缺》一书的作者是通过大量的行为学实验得到的结论,对此有兴趣的童鞋可以自己去看这本书。

 

关于A经理的故事

如果认识A经理的人都应该知道,A经理的团队总是在四处救火、加班赶进度,这几乎是必然发生的。

A经理的项目几乎都是从一开始就督促团队加班的(当然因为加班已经是常规态,在紧要关头只好超负荷加班了)。A经理一定会认为自己是在做正确的事情,因为他是在节省时间,希望完成更多的事情,但熟识A经理的人都知道,这些全程加班出来的项目,并没有一个取得了比较好的效果。当然,造成项目效果不好的原因是多方面的,我们不能单从一个方面得出结论,但是作为曾经的A经理的团队中的一员,我想结合《稀缺》一书说一说自己的体会。

在项目的前期,A经理设定的交付日期总是一拖再拖,让我们感觉交付的日子很遥远,但是不论是否是最后关头,A经理总是在守着我们加班。突然有一天,A经理让我们感到这个阶段验收的日子马上就要到了,时间一下子紧了起来,加班的负荷更大了,我甚至都没有洗头发的时间了,想到油油的头发我总是会嫌弃我自己,好好写代码的心情又少了一些。时间一紧,我自然就很少重构代码了,能够决眼下的问题就不错了,就算不重构从外表看来应该也没什么太大的差别,先应付这次的验收再说吧,真希望能早日从加班的苦海中摆脱。

匆匆忙忙地应付过一次验收,换回来的是更多的客户问题。A经理认为我们下阶段的目标就是处理客户反应的问题,只要客户不再提问题我们就能够验收。当问题列表出来以后,在安排任务时A经理最关心的是如何修改完所有的问题,所以我们应该优先把返回的问题中最好修改的问题先给修改掉,而不太关心这些问题是否重要。对于那些用户提出的抽象的不好用的说法,或者需要修改大量代码甚至更改架构才能解决的问题,总是会被留到最后处理,然而到最后我们往往会发现,如果处理这些问题,前面的努力就会白费了。于是新一轮的权衡总是关于我们怎么做最小的改动去修补这些问题,代码量越来越大,系统越来越复杂,重构的可能性越来越小,大家都很忙碌,总是在超额加班追赶进度,从来没有人思考产品应该是什么样子。

又一次验收前的突击加班,A经理看了看问题列表,还算比较满意,毕竟我们除了那几个很难改的问题,大多数的问题已经被修改了。

据说这一次的验收,客户还是不满意,虽然任务列表上的问题变少了,但是客户还是觉得产品不好用,毕竟还是有问题没有解决呢。客户又挑了几个新毛病,又一轮的修改问题开始了,产品并没有太大的改观,但是代码却越来越复杂,每改一个问题都觉得步履维艰,但是谁也抽不出时间重构。

项目团队仿佛陷入不断加班的死循环。

 

 

通过上面的故事,结合《稀缺》一书,我们可以得到关于项目管理的一些结论:

 

不要总想着隔很长时间做一次大而全的汇报。

用《稀缺》一书中的观点可以这样解释这个问题:人们往往不会因为未来的问题感到十分强烈的紧迫感,眼下我们还有这么多的问题要处理,未来的事情可以再缓一缓。遥远的时间节点和近在眼前的时间节点,当然是比较近的那个能发挥作用。长期的目标,无法像短期目标一样给人足够的紧迫感,激发人们完成任务的积极性。

结论:应该将长期的大而全的汇报任务分割成小的交付目标频繁交付。

 

在产品的建设过程中,总是优先处理客户提出的所有问题并不能做出好的产品。

用《稀缺》一书中的观点可以这样解释这个问题:重要而不紧急的问题总是会被人们所忽略,以至于从来都不会处理那些重要的问题。

结论:在项目推进的过程中,应该优先处理的不应该是客户提出的浅显问题(紧急问题),而是关系到产品是什么、系统架构是否合理、工作是否能继续向前推进的问题(重要问题)。

 

加班并不像我们想象的那样可以纯粹地通过增加工作时间提高工作效率。

用《稀缺》一书中的观点可以这样解释这个问题:闲余的减少会增加员工的带宽负担,因为本可以用来处理自己的生活问题的时间/阅读与自我提升的时间/与家人相处的时间大量地被工作占用了,员工在敲代码的时候会想到昨天又没有时间洗头发,好久都没有回家了之类的琐事,员工的带宽负担增加了,相应地工作智力和控制力都有所下降。表现出来就是工作效率地降低,让增加工作时间不能产生相应增长的产出,反而还有可能导致产出的下降。

结论:加班可以作为日常工作的一个缓冲来应对突发事件,绝不能强制规定持续性的加班。

 

救火的状态会导致我们在反复救火的陷阱里越陷越深。

用《稀缺》一书的观点可以这样解释这个问题:长期处在没有闲余的状态(即稀缺状态)会让人产生管窥心理,从而看不到管子外面的风险。长期处理紧急而重要的事情会让人们忽略重要而不那么紧急的事情,从而导致更为严重的后果,比如这个项目借用了另一个项目的时间,以至于另一个项目也要延期才能完成,比如过于在意工程交付时间而忽略程质量,需要更多的时间弥补质量上的缺陷。

结论:合理的做法是通过创造适当的闲余来保证常规工作不被打乱。如果需要处理的突发事件是常态,则应该隔离出专门处理应急工作的设备、人员或者时间。(设备:比如医院里的急症室、集群中的备用机;人员:比如总经理助理、专门处理客户问题的技术支持;时间:比如大学里的答疑课程、电视问政节目等)

 

不合理或安排地过紧的计划会让我们陷入救火的状态,过犹不及。

用《稀缺》一书中的观点可以这样解释这个问题:闲余是重要的缓冲剂,让我们的日常工作不至于被必然发生的小错误和突发事件所打乱,从而陷入稀缺陷阱。原书中有一个很好的比喻,道路在70%使用量时运行良好,85%的使用量时则会出现堵塞甚至瘫痪,而理论上如果85%使用量的道路如果车与车之间总是能保持合理的距离是可以正常运行的,但实际上如果没有适当的可以帮助容错的闲余的存在,我们甚至不能容忍哪怕是一个司机的一个急刹车,因为一旦有一点点错误或意外发生就会陷入全线瘫痪。

结论:最好的计划是略有闲余的计划,用于缓冲必然出现的错误与突发事件。

 


推荐阅读
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 本文详细介绍 GBase ADO.NET 中 FillSchema 方法的多个重载函数,该方法用于填充 DataSet 或 DataTable 的架构,并根据指定的 SchemaType 配置架构。通过这些重载函数,开发人员可以灵活地控制数据架构的生成方式。 ... [详细]
  • 如何优化2060显卡设置以提升《Apex英雄》游戏体验
    《Apex英雄》作为一款热门的战术竞技游戏,吸引了大量玩家。本文将探讨如何通过优化GeForce RTX 2060显卡设置,确保在《Apex英雄》中获得最佳性能和流畅的游戏体验。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文详细探讨了Netty中Future及其子类的设计与实现,包括其在并发编程中的作用和具体应用场景。我们将介绍Future的继承体系、关键方法的实现细节,并讨论如何通过监听器和回调机制来处理异步任务的结果。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • 该平台旨在为大型企业提供一个高效、灵活且可扩展的分布式微服务架构解决方案。它采用模块化、微服务化和热部署的设计理念,结合当前最先进且无商业限制的主流开源技术,如Spring Cloud、Spring Boot2、MyBatis、OAuth2和Element UI,实现前后端分离的系统管理平台。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 解决IIS无法访问映射网络驱动器的问题
    探讨IIS在尝试访问映射的网络驱动器时遇到的问题及其解决方案,包括配置和权限设置等方面的详细分析。 ... [详细]
  • 阅读本文大约需要3分钟。微信8.0版本的发布带来了许多令人振奋的新功能,如烟花特效和改进的悬浮窗,引发了用户的热烈反响。 ... [详细]
  • 本文详细介绍了 Java 中 org.apache.xmlbeans.SchemaType 类的 getBaseEnumType() 方法,提供了多个代码示例,并解释了其在不同场景下的使用方法。 ... [详细]
author-avatar
手机用户2602904453
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有