摘译自http://mikehadlow.blogspot.co.uk/2014/06/heisenberg-developers.html
——“你无法在不改变他们状态的情况下观察一个开发者”

故事是这样的,数年以前我在一个颇具规模的项目里干活。一开始十分顺利,不懂技术的老板和一些用户给我们指个大方向,等我们做出来他们就来测试功能。该重构就重构,该整个抛弃就抛弃。不用事事找老板授权,只要功能按时完成,大家都happy。

接着遇到一个难搞定的用户,他要用软件来替代专业用户多年的经验和直觉,他提的需求不能再模糊了,必须在下一个版本就实现。我们说什么都没用。干了几个月什么也没做出来。

老板没办法,找来了一个看简历是顶级的项目经理。工作流程立马变了,我们开始使用Jira,每个功能都被细分到不超过一天的工作量,每两个星期开一次持续一天的会分配下一阶段任务。

奇怪的是,进度反而更慢了。计算好的项目交付时间还在往后拖。然后项目经理就开始做一件最常见的事:招人。

我们对招什么样的人没有发言权,新来的人明显有文化差异。当我们认为需要重构,或者抛弃功能时,他们就反对,说我们不干正事,项目经理支持他们。

我们变得士气不振,吵了几次以后,选择很简单:要么闭嘴干活,要么走人。我们最好的程序员走了。我学会了夸大工作量,让做什么就做什么,把想象力和创造力留给业余项目。

新来的同事没有几个享受软件开发,以前办公室里聊编程语言,现在聊汽车。而他们看起来很喜欢这种管理方式。有个人这么对我说:“你从待办事项找到下一项,搞定它,划勾,然后就再不用理了”。他们不用负责,不用作任何艰难的决定,不需要有大局观。

项目进度越来越慢,bug越来越多,队伍越来越大,却没见改善。公司花的钱越来越多,收益越来越少。

到底哪里出了问题?
在商业领域,细分式的软件项目管理很吸引人。每个机构都渴望事情尽在掌控之中:给开发者那么多薪水获得了什么回报,系统交付的时间多长,这样才能做出准确的成本效益分析,预测生意。

这完全误解了软件开发的本质。软件开发本身是一个创造性和实验性并存的过程。它本来就需要试错。无数研究表明有效的创造性工作需要交给专家自主完成。作为开发者我们需要尝试的自由,多试几次才能找到一个有效的。我们也说不清为什么要这样,很多都是直觉,而且其中有一部分是错的。

如果你问我开发一个功能需要多久,我只能老实说我真的不知道。我有一个大概的想法,但是没法确定。

一旦你问一个开发者告诉你接下来的8天他每天都要做什么,你就把大部分创造力和意外之喜谋杀了。

当然,对于那些喜欢工资多过编程艺术的人,微观管理会很有吸引力。你按时提交自己的任务,经理怎么说你就怎么做。如果用户不满意,系统bug一堆,也不关你的事,你的工作已经完成了。

细分式的管理直接导致人才流失。那些真正厉害的程序员会直接走人,他们不愁找不到工作。那些不喜欢做决定,喜欢找借口的人会流下来。你会发现你的队伍变得越来越会抱怨,但对你的每项指令都顺从的执行,对需求没任何意见,好好填写Jira表格,然后生产出质量极差的软件。

到底应该如何管理开发者?
简单:给他们自主权。设定一个大目标,让开发者来实现就行了。他们有时会失败,你对此需要留有余地。不要因为失败就增加干预。建设一个人人都有贡献、值得信赖的团队,而不是雇一屋子的被动消极的程序猿。

转载于:https://www.cnblogs.com/kkzxak47/p/3775808.html

测不准的程序员(Heisenberg Developers)相关推荐

  1. 程序员水平自测题:程序员们,想知道你的技术达到了什么水平吗?

    程序员甲抱怨:"干IT太苦了,数据是越存越多,预算是越来越少,好基友是越来越多,女朋友是越来越少.想换一行怎么办??" 程序员乙:"敲一下回车." 中国的程序员 ...

  2. 大神程序员,夜夜coding到天明?Python之父昼伏夜出,PHP创始人24小时都在线

    栗子 鱼羊 发自 凹非寺 量子位 出品 | 公众号 QbitAI 大神程序员,夜夜coding到天明? 有位名叫Ivan Bessarabov (简称"伊万") 的好事者,刚刚统计 ...

  3. 谈谈开源的利弊和国内的开源 ——《新程序员005:开源深度指南 新金融背后的科技力量》书评

    感谢CSDN的送测 <新程序员005:开源深度指南 & 新金融背后的科技力量> 是一本以计算机编程和金融科技为主题的杂志书,由中国最大的开源社区之一的开源社主办,内容丰富多样,包括 ...

  4. Java程序员月薪是多少?来看看你达标了吗?

    Java程序员的普遍月薪是多少?你要说普遍,程序员的月薪咱们得分年龄段! 作为一个新入行的程序员,大概的月薪在1万左右.两年之内,在1.5万左右.从3年到5年以后会有一个质的飞跃,基本上就是3万起步. ...

  5. 普通程序员和神级程序员的区别?

    或许从大神们的工作状态中,能找到一些蛛丝马迹. 有位名叫Ivan Bessarabov (简称"伊万") 的好事者,刚刚统计了各路大佬的代码提交 (git commit) 时间分布 ...

  6. 程序员又背锅?美团外卖声明“杀熟会员”是技术原因,软件定位缓存导致配送费不准!网友:程序员太惨!...

    前几天的"美团杀熟外卖会员"事件你听说了吗? 简单地说,有人爆料自己开通美团会员后,以前常点的一家外卖店配送费由平时的2元变为6元.不仅是一家店这种情况,一部开通美团外卖会员的手机 ...

  7. java压测请求线程数_程序员撕开京东 618 大促压测的另一面 | 原力计划

    作者 | 天涯泪小武 责编 | 王晓曼 出品 | CSDN博客 前天618大促演练进行了全链路压测,在此之前刚好我的热key探测框架也已经上线灰度一周了,小范围上线了几千台服务器,每秒大概接收几千个k ...

  8. 电脑如何测网速_职场人必备?告别加班的软件,100%提升工作效率|电脑|程序员|mac...

    无论在生活中还是工作中,我们经常会遇到电脑问题,但是我们解决不了,需要朋友帮助我们远程检查和处理电脑问题,或者因为工作或其他原因需要操作异地的电脑.这个时候该怎么办?通过QQ远程协助?有没有其他更好. ...

  9. 程序员撕开京东 618 大促压测的另一面 | 原力计划

    作者 | 天涯泪小武 责编 | 王晓曼 出品 | CSDN博客 前天618大促演练进行了全链路压测,在此之前刚好我的热key探测框架也已经上线灰度一周了,小范围上线了几千台服务器,每秒大概接收几千个k ...

最新文章

  1. 以下可以采用python语言保留字的是-以下选项中不是 Python 语言的保留字的是
  2. 制作liveusb实现centos6.2全自动无人职守安装
  3. 阿里云文件存储NAS跨账号挂载
  4. 解锁三星bl锁有几种方法_三星S6解锁教程_三星GALAXY S6怎么解锁Bootloader的方法
  5. 使用VS开发C++ 控制台程序或其他项目出现 ‘ LINK : fatal error LNK1104: 无法打开文件“LIBCD.lib” ’ 常规解决办法
  6. 如何解决线程安全问题?有几种方式?synchronized与lock有什么异同?
  7. 如果在山上挖一个池塘,不放鱼,里面会慢慢有鱼吗?
  8. oracle excute call,oracle – EXECUTE识别存储过程,CALL不识别
  9. brew更新的时候不更新某个应用_可以不可以第六集剧情介绍,日剧可以不可以什么时候更新...
  10. Excel曲线拟合的精度问题
  11. 校园网网络命令拓扑命令+详解集合
  12. 计算机改硬盘格式,预装win10改win7硬盘格式怎么改_win10改win7分区格式如何转换...
  13. 生成1-100随机数并进行猜测
  14. 记事狗微博php,记事狗微博系统_366rtc 源码采用php实现 - 下载 - 搜珍网
  15. SIGMOD 2020 CockRoach 论文阅读
  16. 打算在县城“买”片地
  17. 解决网课作业无法粘贴问题
  18. Allegro Cadence 视频教程+信号完整性
  19. java 判断手机号_如何用java判断手机号运营商?
  20. 网盘可以做网站服务器吗,做网站用虚拟主机好还是云服务器好

热门文章

  1. php数据库安全类,PHP 数据库安全
  2. Zabbix 4.0 监控主机
  3. 昨夜西风凋碧树,独上高楼、望断天涯路。
  4. 从 chromium 源码来窥探浏览器的渲染
  5. 德国商标怎么注册?德国商标注册流程及费用
  6. 幽灵交易策略_期货软件TB系统源代码解:幽灵交易者交易策略
  7. git遇到failed to push some refs to git如何解决
  8. 福利来了,智能工业物联网关BL110实现同时采集多种PLC数据到上位机系统与物联网云平台
  9. Dragonfly Capital合伙人Mia Deng:2020年DeFi趋势(全文)
  10. FTX创始人SBF做客“王峰十问”: 回应SushiSwap阴谋论、流动性挖矿、分叉及NFT等DeFi热点话题(全文)...