热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

这些哭笑不得的情景,每一个程序猿都可能面对「建议收藏」

这些哭笑不得的情景,每一个程序猿都


这里写图片描写叙述

每一个程序猿都经历过项目的洗礼,你是项目成员还是项目经理?很多年过去了,那些让你哭笑不得的场景是否依旧没有改变?几位大牛将大量场景抽象为模式,以其幽默、深刻的洞察力讲述了项目失败的原因,这些原因跟每一位程序猿息息相关。

1、工作忙乱是生产率高的表现

优先级总是变化不休。全部事项都是“昨天”就要。总是没有足够的时间交付项目,每一个项目都是加急项目。并且加急项目还在不断出现。

每一个人都忙得焦头烂额……永远如此。

2、全部失败的会议…

你常常开会吗?你们会议得出的大多数决定都是正确的。且能够非常干净利落地决策和行动吗?还是会议组织杂乱,新想法层出不穷。主题不断变化,新问题源源不断。但却没有一个有答案。终于。大家在会议结束时安排了额外的会议。

——全部失败的会议终于都走上这一步。概莫能外。

3、死鱼就在那儿

从开工起,项目就全然不可能完毕目标,项目团队中的大多数人都非常清楚这一点。却缄口不言。

非常多组织过于看重成功,所以不论什么表达疑虑的人都不会由于说真话得到不论什么奖赏。其实,假设谁在项目的前期阶段就声称死鱼的存在。管理层的第一反应多半例如以下:

“证明给我们看。给我们证明成功的可能性是零。不要拿曾经项目的死鱼经验来唬人。如今的项目不一样。

请用严密的数学证明来告诉我们失败无法避免。

一旦你提出不论什么缺乏精确证据的东西。就会被指责为软蛋或者是试图逃避辛苦扎实的工作。

4、项目经理是保姆

快偷偷笑吧。这个好难得!

你所在的组织也许已经有一些“保姆型”经理。假设你留意,会发现:不必预约就能见到你的头儿,或者不必在琐碎和令人生厌的管理工作上花费太多时间。周围是开放的氛围。人们畅所欲言,互相学习。这种经理觉得培训或进修非常必要。而不是视之为烧钱。

他们还会专门安排时间(比方早晨咖啡闲谈或者周五下午阅读探讨),让大家在一起讨论新想法。

5、把灵魂卖给开发语言

合格的专业人士能够根据待解决这个问题的实际情况来裁剪解决方式,而不是把个人或者团队久经检验的技能强加在问题上。这不是说团队成员不懂应用已知的工具或方法。

他们没有把灵魂卖给不论什么技术,换而言之,一旦出现了好的新思路,他们能够比較优劣,明智地决策。

不把灵魂卖给开发语言的优点是,当技术潮流退去时。你不会在沙滩上裸泳。你可能知道。有些人自诩为开发者。却非常久都没有尝试学习新的编程语言。

这些人眼巴巴地搜寻提到自己所用语言——当年也曾风行一时,但如今基本不再使用的编程语言——的工作职位。悲哀就在于。他们把灵魂卖给了那种开发语言。

6、你们为什么不是米开朗基罗

“我给了你凿子。可你为什么不是米开朗基罗?”这种疑问充斥在迫不及待希望马上提升生产率的组织。以及招聘时重视应聘者的薪水要求而非所掌握技能的组织。热切人人都是米开朗基罗的组织内,架子上总是堆满了各种工具。

没错。工具是实用的,在合适的人手中它们能大幅提升生产率,还能够完毕那些本来无法完毕的任务。可是,工具的构造者会告诉你。最关键的是,拥有相应的技能来使用工具。所谓凿子。在米开朗基罗拿起它之前。仅仅是拥有瑞丽边缘的铁器而已。

7、影评人

影评人是团队成员或者公司内部的旁观者,他们觉得自己对项目的贡献在于,指出问题所在或者将会出现故障的地方。至于解决这个问题,那不是自己的职责。

并非全部评论项目的人都是“影评人”,重要的差别在于选择的时机不同。假设对项目的成败负有责任感,人们一旦发现事情做得不正确。或者能够做得更好,就会毫无顾忌地讲出来。他们会走到他们觉得能够发挥作用的人面前,讲出自己的想法。

他们尽可能及时地行动,由于他们知道时间总是有限的,纠正措施应该越早採取越好。这些人不是“影评人”,他们是跟你携手并肩的“电影制片人”。

他们知道自己和项目是一损俱损的。因此他们每天都会把问题揽在自己身上,以添加成功把握。

而“影评人”往往到“电影”结束。或者快要结束的时候才參与进来。此时已经没有足够的时间来採取纠正措施。

8、沉默即允许

利益相关方无法区分真正的赞同和屈从的沉默。承诺被误解的情形一般是:一方表达了需求,然后还有一方点头示意明确。前者把这种情形理解为承诺:“我告诉他必须在12 月31 号曾经完毕,这非常重要。

”后者则视为痴人说梦:“当然,他希望我在年底完毕。但那不可能。”通常。提要求的人更有权力,并且他会根据法律上的格言“沉默即允许”来设定自己的期望。假设没有对这种人物说“不”,就相当于在说“是”。

9、稻草人

“客户仅仅有看到了系统,才知道自己真正想要什么……肯定不是那个系统。”

稻草人模型是一种需求钓饵。你给客户一个激发想法的东西。试探出他们的好恶。这些模型都是快速完毕的,并且由于它们不保证正确,所以不必花太多精力。由客户来评审解决方式——比方说,“选定区域销售主页”界面——的实物模型、原型或者故事画板。用这些东西模拟未来要交付的软件,作为回报,客户带你走向真正的需求。

最好的分析师不会问:“你们想要什么?”他们意识到这种问题一般会令人不快。人们讨厌对着一张白纸设想答案,但乐意批评已经写在纸上的答案。

10、贪多求全

组织想要贪多求全,就会影响速度,终于导致净收益减少。可是那种诱惑可能是无法抵抗的……

承担超出最大能力范围的工作是减少速度的罪魁祸首。你大概从未见过有人如此坦率地指出数量和速度之间的关系,由于说出来绝对是令人不快的。正由于大家无视这个问题,所以如此多的组织会为了完毕大量的工作而让自己慢到差点儿动不了。假设他们暂停下来,从麦麸中挑出麦粒。就能明确停滞的原因是没价值的麦麸太多了。

11、坏消息

在组织里。坏消息不能准确向上传达。

这里写图片描写叙述

12、把坏消息埋在心底

很多企业文化都会传达一种信号:谁发现了杂乱不堪的现象,谁就得负责清理。

另外。指出问题,却没有立马提出改进措施——这会被觉得是在抱怨。

而在非常多组织里面,抱怨者的职业前景相当有限。

13、记者

记者是指这种项目经理,他们觉得,准确报告项目的情况与保证项目成功是两个目标。

想一想记者报道飞机失事的情景。记者觉得自己有责任准确地报道哪架飞机失事了。发生的时间地点,飞机上有多少人。是否有人生还,但他不会由于没有阻止飞机的失事而觉得内疚。那不是他的责任。

记者型项目经理也相同如此。他们的报告清楚、准确、仔细,能够列为范本。他们清楚地知道“订单管理”子系统延迟多长时间,偏离关键路径多少天。这项延迟对依赖它的后继任务有什么影响。可是他们忽略了非常重要的事情:这个职位存在的意义。是要保证项目有个圆满结局。

14、数据质量

数据质量往往异常低劣。非常遗憾,常见解法居然是寻找更好的软件来处理它。

数据库软件的质量高出它所处理的数据的质量,这并不罕见,虽然对终于用户来说。系统的质量受制于两者之中更差的那个。

各家公司的数据库里面都堆满了不准确的,以及过期或不完整的信息。

问题就像鼻子长在脸上一样明显。但人非常难看到自己的鼻子。

即便每一个人都能看出其它人的数据有问题,公司也非常难去直面自己的数据质量问题。

相反。公司看到的总是软件与数据混在一起的问题。由于软件总是比数据(数据量大得可怕)easy修复,所以公司乐意修复或者更新软件。

这两种做法都没有意义。由于我们要讨论的关键问题不是“为什么我们不应该从软件动手”,而是“为什么明知不是软件的问题。我们仍然从软件动手”。

15、好想法不会非常快被接受

更新、更好并不足以保证想法能立马被接受。接受新想法须要时间。组织会抗拒变化,或者延长决策期,以推迟变化。可是发明和支持更好想法的人可能备受打击。由于看到自己的建议被人忽略,或者被翻来覆去地考量。

在军事上,反重复复的思考被称为“慢摇”。

在做项目的这些年里,我们看到差点儿每一个新出现的好想法都经历过“慢摇”(至少在短时间内是这种)。举个样例。即使在像软件这种应该是快速发展的行业里面,一些今天已经被广为接受的最佳实践也花了差点儿相同20 年时间才被接受。

经典推荐

这里写图片描写叙述

作者:Tom Demarco等
译者:余晟 金明
书号:978-7-115-39130-8
定价:49
页数:207

第19届Jolt大奖获奖作品
《人件》作者又一力作
入木三分刻画软件项目众生图

“仅仅要经历过一两个软件项目的磨练,就能从书中找出很多熟悉的模式,也会从大多数模式中获益。”
——Joel Spolsky。《软件随想录》作者

“作者兼具十足的幽默感和深刻的洞察力。

本书清楚地讲述了项目因何而失败,有何补救措施,并以极为友善且易于接受的方式提出了切实可行的建议。”
——Warren McFarland,哈佛商学院教授

“对于不论什么一位曾经在组织里面从事过项目工作的人来说。86个项目模式熟悉得令人心惊。幸运的是,当中有一些模式是良性的。应该给予鼓舞。然而悲哀的是。剩下的绝大多数模式不仅仅令人心灰意冷。并且它们对生产率、质量和项目团队士气的破坏程度令人瞠目结舌。


——Ed Yourdon。《死亡之旅》作者

“这本《项目百态》就是关于项目管理的实话集……读这样一本书,你会笑。很多其它的时候你会摇头苦笑,甚至如芒在背。”
——熊节。ThoughtWorks中国公司首席咨询师


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 阿里云虚拟主机安装多个织梦系统的方法
    本文介绍了在阿里云虚拟主机上安装多个织梦系统的方法。通过创建不同名称的文件夹并将不同的域名解析到对应的目录,可以实现多个系统的安装。在安装过程中需要注意修改数据库前缀,并在系统设置中还原数据库。同时还介绍了阿里云虚拟主机二级域名绑定二级目录和域名重定向的用法。 ... [详细]
  • 2022年的风口:你看不起的行业,真的很挣钱!
    本文介绍了2022年的风口,探讨了一份稳定的副业收入对于普通人增加收入的重要性,以及如何抓住风口来实现赚钱的目标。文章指出,拼命工作并不一定能让人有钱,而是需要顺应时代的方向。 ... [详细]
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
author-avatar
手机用户2602931615
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有