老板,别把开发人员当成牲口

peopleware peopleware 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
《人件》— 老板,别把开发人员当成牲口



别把开发人员当成牲口
Mike Gunderloy 著, think 摘译

Tom DeMarco和Timothy Lister在1987年写了《人件》。1999年,《人件》第2版由Dorset House Publishing出版,新增了8章。该书基于1970年代早期开始的研究,某些东西已经有四分之一个世纪的历史。对程序员的岁月来说,这是很长的时间。我好像回想起我们过去用古老工具编程的情景,但记忆相当模糊。
现在,那些炙手可热的新一代dot-com开发人员能从这本书中学到什么吗?足够令人吃惊――答案是Yes!这本书是软件开发领域的经典,只有200页多一点,但值得每个团队负责人和经理阅读。

注意,这不是一本编程书籍。该书的子标题是“高产的项目和团队”。DeMarco和Lister所关心的是生产力。用任何尺度来度量生产力,在软件工业的不同团队之间有10:1的差距。换句话说,最好的团队开发一个软件需要1年,最差的则要十年。原因看起来不止是最好的团队拥有最好的程序员(虽然最好的程序员趋向于加入有培养优秀团队环境的公司)。那么差别在哪儿呢?

DeMarco和Lister认为差别在于:优秀团队有良好的工作环境,不必受制于那些对开发软件毫无益处的荒谬措施;经理不会挡团队的路(如果必要,经理还会把挡住本团队的路的其他人推开)。沿着这条思路,他们谈及大方法论如何使人变得愚笨,必须带门和窗的办公室,在工作中寻求乐趣,必须存在一些混乱,为什么有的组织能够学习,有的不能…

提防家具警察
作者认识到的很多问题归结为管理层把开发人员当成牲口,而不是使用大脑生存的人。例如,作者花了好些段落来把家具警察送上烤肉架。家具警察(说起来很悲哀)在很多成型的公司里都有。如果你曾经在一间“小隔间牧场”工作,下面的文字会为你敲警钟:

用家具警察的眼光来看,地下室的空间确实更好,因为它本身为统一布置提供了更充分的条件。但是人们在自然光下工作得更好。他们在有窗户的空间感觉更好,并且会把这种感觉直接转化为更高的工作质量。人们也不想在一个完全统一的空间工作,而是希望按自己的喜好和品味来布置自己的工作空间…工作空间总是充满了噪声、干扰,没有私人空间,并且没有多少办公用具。有些公司的办公场所比其他一些公司的要好看一些,但是实用性并不强。没有一个人能在那里把工作做好。那个人本来可以像一只海狸一样,在一个带有两个大的折叠桌子和一个关着的门的安静舒适的地方工作…。

幸运的是,在某些公司或者在某些领域,事情还是好转了。Microsoft因为在办公设施方面“浪费钱”而“声名狼藉”:给开发人员配备带有门和窗的办公室,还提供免费饮料,休息区,还有其他很多无聊的东西。结果呢?Microsoft的人们确实喜欢呆在办公室,自由自在地集中精神,写出高质量的代码。事实上,Joel Spolsky曾声称:微软成功的原因之一就是公司里的所有经理都读过《人件》。Joel推荐软件经理每年重读这本书一遍――这主意不坏。

家具警察只是更大问题的症状和伪装。问题在于对开发成本的错位认识,导致采取削减成本的行为,实际上从长远来看反而多花了钱,因为这些措施阻碍团队的形成,阻碍软件开发。一些其他的例子:

吝啬鬼管理层用那些可憎的“宣传工具”(你知道的,经常是一些全彩色照片加上一些类似“把灵魂献给公司是最高利益所在”的标语)取代了真正能起到激励作用的东西(如更高的薪酬和有门的办公室)。

制度上执着于过程改进程序(特别是CMM),把精力集中在把事情做得更熟练而不是做市场需要的东西。如果CMM是现实的反映,那么完美的泥馅饼应该比缺角的椰奶馅饼好卖。

团队被分散在公司区域的不同角落,因为为他们找到一片连着的区域对家具警察们来说太麻烦。

现在你知道了,问题成堆。DeMarco和Lister勇敢地把它们编辑成册。

不可思议的顺流状态
攀岩者会进入称为“顺流”的状态,在这个状态下,他们精神集中,在岩石上移动是如此的轻松和稳定,整个身体已经溶进攀登之中,每件事进行得都那么顺利。当然,我们可能会辨称,软件开发和攀岩不同,至少我们的代码崩溃的时候不会飞沙走石。但有一件事是相同的:顺流。书中对这种状态有很多描写。如果你在承担严峻的软件开发任务时,没有被各种琐事打断,你就会知道顺流状态什么样。这种状态不只感觉良好,而且也能使你得到好的代码。 顺流是管理层所不了解的东西,这就是家具警察能被授权控制你的工作环境的原因。正如DeMarco和Lister所指出的,顺流状态完全不为管理层所理解,因为管理者在工作中被经常打断是自然的。管理正是不断应付各种打扰的艺术。不幸的是,软件开发不是。在5分钟的电话之后,需要开发人员花15分钟或更多,以回到顺流状态。如果5分钟的电话来上12次,你就死定了。作为一个旁观者,我不喜欢看到有人煞有其事地研究为什么杰出的程序员进入顺流状态比其他人快得多。

记住,不止是别人强制我们不能进入顺流状态,我们自己也在这么做。如果你有顺流状态方面的问题,试着关闭你的email客户端几个小时。世界不会因此完蛋,而你就不会每30秒受到一次干扰了。

有趣的阅读
如果你已经看过了《人件》,那么现在怎么办呢?两条建议。首先,浏览一下Atlantic Systems Guild (http://www.atlsysguild.com/),该公司由《人件》作者帮助建立。其次,把它再读一遍!好好看它,这本书简单有趣。写这篇文章时,我很高兴又看了一遍。这样的精华语句百读不厌:

如果老板特别需要,仪式会议的负担几乎会不受约束地增加。例如我们知道一家公司,每天开两个小时的会议是公司的准则。如果开会时与会者离开会场,就用扩音器叫他们进来希望他们参加会议的全过程。不参加会议被视为一种威胁,要受到严厉的处罚。

你在书中不会发现一行代码。但如果你正在管理一支团队,你会发现聆听DeMarco和Lister的教诲会使你最终更快地在产品中得到更多更好的代码。

你的老板有这本书了吗?或者你想在他的桌上放一本作为礼物?

(2002年3月)
...全文

相关推荐

洋酒行业(2021-2026)企业市场突围战略分析与建议.docx

洋酒行业(2021-2026)企业市场突围战略分析与建议.docx

纳须的戒

广东屈臣氏饮料制造项目-全专业-20240508.nwd

广东屈臣氏饮料制造项目_全专业-20240508.nwd

meslog

Python3 if多条件简写技巧

Python3支持极简if条件写法,简化冗余代码。链式比较:原生支持1<x<10,无需写成x>1 and x<10,可读性更强。三元表达式:适用于二分支逻辑,语法 结果A if 条件 else 结果B,适合单行赋值,禁止多层嵌套三元表达式,会大幅降低可读性。逻辑短路:and左侧为False直接终止判断,or左侧为True直接终止判断,可用于空值兜底,比如name = input_name or "匿名用户"。注意不要混用=和==,新手常误将赋值写在if判断内,Python3会直接抛出语法异常。 6thhosp-east.com 3wfuwu.com ajfcw.net www.ahdmhbkj.cn www.aiyouseo.com

2601_97221235

PHP 代码加密工具 源码保护与站点授权

把 PHP 源码加密成不可直接阅读、难以还原的形式:变量名与控制流被打散重写,载荷带完整性自校验,改一个字节就停止运行。提供编码型 / 混淆型 / 重构型 / 底层型 / 虚拟机型五档保护强度,并可叠加按域名与期限的网站注册授权。

穿透云

【配电网智能软开关和储能联合规划】具有源荷不平衡特性的配电网智能软开关和储能联合规划(Matlab代码实现)

【配电网智能软开关和储能联合规划】具有源荷不平衡特性的配电网智能软开关和储能联合规划(Matlab代码实现)内容概要:本文围绕“具有源荷不平衡特性的配电网智能软开关和储能联合规划”展开,提出了一种结合智能软开关(SOP)与储能系统进行联合优化配置的方法,旨在应对配电网中由于分布式能源波动导致的源荷不平衡问题。该研究利用Matlab实现了完整的仿真代码,构建了优化模型,综合考虑了设备投资成本、运行维护费用、网络损耗及电能质量等因素,通过优化算法求解SOP和储能的最佳配置方案,以提升配电网的灵活性、可靠性和经济性。文中强调该模型为顶级EI复现级别,具备较高的学术参考价值和技术实现细节。; 适合人群:从事电力系统规划、智能电网、分布式能源管理及相关领域的科研人员、高校研究生以及电力行业工程师。; 使用场景及目标:① 用于解决含高比例分布式电源的配电网中因出力波动引起的潮流倒送、电压越限等问题;② 为智能软开关与储能系统的协同配置提供量化决策依据,实现电网灵活资源的优化布局。; 阅读建议:此资源以Matlab代码为核心,重在理论模型与工程实践的结合,建议读者在学习时应同步运行代码,深入理解目标函数构建、约束条件设置及优化求解过程,以便更好地掌握其在实际项目中的应用方法。

程序猿鑫
评论 2
收藏 已收藏
分享
返回顶部
peopleware
研发管理 1,268 成员 28,280 内容