从一个程序员笑话看软件开发管理(转载)

从一个程序员笑话看软件开发管理

原文出处:猛禽的编程艺术

原文链接:http://blog.csdn.net/raptor/article/details/727299

有一个笑话是这样的:

1. 程序员写出自认为没有Bug的代码。

2. 软件测试,发现了20个Bug。

3. 程序员修改了10个Bug,并告诉测试组另外10个不是Bug。

4. 测试组发现其中5个改动根本无法工作,同时又发现了15个新Bug。

5. 重复3次步骤3和步骤4。

6. 鉴于市场方面的压力,为了配合当初制定的过分乐观的发布时间表,产品终于上市了。

7. 用户发现了137个新Bug。

8. 已经领了项目奖金的程序员不知跑到哪里去了。

9. 新组建的项目组修正了差不多全部137个Bug,但又发现了456个新Bug。

10. 最初那个程序员从斐济给饱受拖欠工资之苦的测试组寄来了一张明信片。整个测试组集体辞职。

11. 公司被竞争对手恶意收购。收购时,软件的最终版本包含783个Bug。

12. 新CEO走马上任。公司雇了一名新程序员重写该软件。

13. 程序员写出自认为没有Bug的代码。

要我说,如果真有这样的公司,不倒闭对不起人民。

这个笑话从程序员开始,到程序员结束,从头到尾都在说程序员的不是。但是我要说的是,这完全是管理者的失败,从整个过程中,看不到任何管理工作。这种管理者不但无知无能,还很无耻——将自己的失败责任推给程序员。

1. 程序员凭什么证明他的代码没有Bug?有Test case吗?有Code review吗?这个环节管理缺失。

2. 测试发现Bug有进行Bug管理吗?有跟踪吗?这个环节管理缺失。

3. 凭什么证明程序员已经把那10个Bug修改好了?另10个又为什么不是Bgu?Bug的评价标准难道是程序员说了算?这个环节管理缺失。

4. 5个不能工作的Bug修改问题有没有追究责任?增加新Bug是修改过程中不可避免的事情,但是如果有有效的单元测试机制,可以大大减少这种情况。这个环节管理缺失。

5. 迭代是正常的,但是问题处理于发散而不是收敛发展,可见没有有效的管理调控。这个环节管理缺失。

6. 过于乐观的时间表和不可能达到的最后期限,都表现出管理者的无知和无能。而在这样的情况下强行推出产品,那就是无知者无畏了。

7. 这是对用户的不负责任,管理者要负最大的责任。

8. 这样的情况还能发项目奖金,只能说管理者不是一般的愚蠢。

9. 管理工作没有任何的改进,问题仍然处于发散迭代状态。管理工作依然没有到位。

10. 拖欠测试部门工资体现出管理者对质量管理工作的忽视以及对人力资源管理方面一无所知。

11. 送被收购者两个字:活该。送收购者两个字:瞎眼。

12. 可见新管理者与原管理者半斤八两,都没有认识到问题的根本所在。不过也只有这样的管理者才会作出收购这种公司的决策。

13. 历史的重演是必然的。

一个正常的企业或是项目,其运作必须应该是循环向上进行的。而保障这种运行的工作就是管理。而管理工作的主要内容就是控制,包括控制循环的节奏——不能太快也不能太慢,控制发展的方向——只能向上不能向下,控制运作的稳定——不能大起大落或时聚时散等。

而这一切,在这个例子中都看不到。

在这个笑话的例子中,一切都是以开发工作在驱动,这首先就是一个方向性错误,产品是为用户服务的,当然应该是以用户和市场作为驱动,并且结合自身的能力最终 确定工作的重点。这一错误折射出管理者对被管理的内容很不了解,只好任由比较了解的程序员摆布——事实上他们除了技术,并不会了解更多。

一个管理者如果对自己所管理的内容不了解,他就不可能管理得好。

这是一件毫无疑问的事,可是国内的软件业似乎总是不相信这一点。中国软件业中流毒最深的谎言之一就是:管理者只要懂管理就可以,不需要懂技术。

其实这不过是那些无知无能无耻的管理者为了骗钱而编出来的,相信这句话的人必将付出金钱的代价。

其次是质量管理。基本的质量管理常识告诉我们,每次循环结束前,最重的工作就是总结改进。只有这样才能保证循环运作是向上发展,而不是失去控制地向下发展。也只有有效的质量管理,才能保证迭代过程是收敛发展,并最终达到目标。但在这个例子中,这个部分显然是缺失的——其中虽然有测试部门,但是他们的作用仅仅是质量管理中的质量检测环节,管理部分还是缺失的。

然后是人力资源管理。软件开发是一项劳动密集型的工作,虽然这是脑力劳动,但同样意味着人在因素在其中占有决定性的地位。而例子中未改完BUG的程序员拿到项目奖金,而同样辛苦工作的测试人员却被拖欠薪资,除了表现出管理者对他们的工作内容的不了解,以及对质量管理工作的不重视以外,还表现出管理者完全不会管人,这是一种谋杀团队的行为——谋杀一个团队远比建设要容易得多。

最后,这个失败的管理者把他的经历编成这个笑话,让大家看到他被程序员们害得多惨,把程序员妖魔化为一群骗子。但只要稍懂管理的人简单分析一下就可以看出来,只不过是这个人的无知和无能造成了他现在的结果,而把责任推给别人的行为更是表现出他的无耻。作为身居高位的管理者,如果连应该承担的责任都要推卸,他们还能胜任什么事情呢。

时间: 2024-10-03 14:03:39

从一个程序员笑话看软件开发管理(转载)的相关文章

从一个笑话看软件开发管理(转帖)

从一个笑话看软件开发管理 1. 程序员写出自认为没有Bug的代码.2. 软件测试,发现了20个Bug.3. 程序员修改了10个Bug,并告诉测试组另外10个不是Bug.4. 测试组发现其中5个改动根本无法工作,同时又发现了15个新Bug.5. 重复3次步骤3和步骤4.6. 鉴于市场方面的压力,为了配合当初制定的过分乐观的发布时间表,产品终于上市了.7. 用户发现了137个新Bug.8. 已经领了项目奖金的程序员不知跑到哪里去了.9. 新组建的项目组修正了差不多全部137个Bug,但又发现了456

漫谈程序员系列:软件开发的十八般乐趣

有人说我在传递负能量,看了我的"漫谈程序员系列"感到了前所未有的彷徨与迷惘,哇哦,这不是我的初衷,我只是给你看真实的世界,真的勇士,敢于直面惨淡的人生与淋漓的鲜血. 有人说我在黑程序员,好吧,我是不惮以最坏的恶意来揣测别人的,是吗?当然不是,我胸怀一颗善良慈悲的红心,来到这个世上,就是为了扯淡的,从未想着黑那谁谁谁,是吧,因为我也是程序员,还是老程序员. 总而言之,言而总之,我们需要正能量,就像多数人喜欢大团圆结局的电影一样.上帝抛我们到这世上,给我们各种困顿.挣扎.忧思.恐惧,生活已

作为一个程序员怎么通过android开发赚钱

上面是一个程序员通过Android开发每天的收入,信则有! 自己学安卓差不多,有一年了.我本来是从事javaweb开发的,可能学习安卓上手会快点.其实安卓没有那难 .首先开发安卓程序,要有一个,开发环境 ,其实也很简单(直接下载一个ADT ,包含,eclipse 和 sdk ,解压就可以用).鉴于现在,中国上google官网上不去 ,我这边直接把文件下载保存在我的网盘,大家如果需要的话,可以直接下载,下载地址:http://pan.baidu.com/s/1pJFhdpx (里面包括,eclip

根基决定一个程序员会不会被淘汰 --转载

根基决定一个程序员会不会被淘汰 丰厚的薪水,高端的职位和有成就感的事业是人人都想要的,而这些都取决于你每天的认真工作,努力学习和灵活做人上.日子就像一块块砖,你就像是一个泥瓦匠每天在堆砌着你的人生,最终砌出一个宏伟的大厦或是一幢低矮的小屋甚至是堆成一堆瓦砾全取决于你自己. 程序界和软硬搜索件一样都要遵守摩尔定律,也就是说当前的技术知识很快会被替代,你需要不断学习新的东西,否则就会面临着被淘汰的危险.然而,一个人的学习动力和欲望都是有限的,记忆力还会随着年龄的增长而衰退,从这个道理上来说,年龄大的

Python 最抢手、Java 最流行,前线程序员揭秘 2019 软件开发现状

互联网的下半场,科技公司为面对更加严峻的竞争环境,越来越重视开源节流.而对于身处其中且撑起 IT 半边天的技术人,如今如何了?从技术角度来看,其又该作何改变顺应潮流? 接下来,我们将从 JetBrains 最新发布的<2019 开发人员生态系统现状>报告中一窥究竟. JetBrains 通过调查全球 7000 名开发者,解析出开发者们在日常软件开发中最常使用的语言.框架,从而探索各种编程技术的最新趋势,希望可以帮助更多的开发者获取适合自己的技能. 过去一年,哪些编程语言被使用? 工欲善其事,必

程序员必看:移动开发中几个全新的开源小工具。

移动优先的开发理念已经成为前瞻性应用开发机构的首要标志.有鉴于此,移动应用开发工具的阵营不断扩张.成员日益丰富自然不足为奇.爱加密小编收集了一部分开发人员的意见,整理了他们对于新型移动开发工具的看法.在本文中,我们就一起来了解这几款不容错过的杰出移动开发工具 AppGyver AppGyver包含多种快速开发工具,其中包括用于原型开发的Prototyper.用于开发PhoneGap应用的Steroids等. "AppGyver为应用程序开发与概念设计提供多种出色工具.我们利用AppGyver P

每一个程序员需要了解的10个Linux命令

作为一个程序员,在软件开发职业生涯中或多或少会用到Linux系统,并且可能会使用Linux命令来检索需要的信息.本文将为各位开发者分享10个有用的Linux命令,希望对你会有所帮助. 以下就是今天我们要介绍的Linux命令: man touch, cat and less sort and grep cut sed tar find diff uniq chmod 接下来让我们逐一来详细介绍. 1.man命令 第一个你需要知道的Linux命令就是man命令,该命令可以显示指定命令的用法和描述.比

程序员必看:如何降低APP软件开发的成本?

程序员必看:如何降低APP软件开发的成本? 作为一名曾经的程序猿,一直想写一点东西给大家分享一下,今天终于动笔了,写写我们在开发的过程中怎样才能更快更好的进行开发,降低app开发成本.无论是个人开发者,还是公司的技术人员,成本是需要考虑的一个很关键的因素,充分考虑成本,降低生产成本之后才会获得相应的竞争优势.如何降低APP软件开发的成本?听我慢慢给您说. 1. 良好的功能需求文档 没有文档化的需求,系统就存在不能满足客户期望的隐患.“比如,也许它不能按照客户认为应该的方式工作,即便是开发团队认为

只有程序员可以看懂的笑话 大全集(1)

宪法顶个球!中国的法律都是.txt文件,不是.exe文件. 程序员:三年前,当我写下这个的时候,只有上帝和我能够看懂. 现在,只有 上帝能看懂了. 同事说,他在写i++的时候总觉的自己写的是 我艹.........有木有同感??? ? 程序员,年二十有二,始从文,连考而不中. 遂习武,练武场上发一矢,中鼓 吏,逐之出. 改学IT,自撰一函数,用之,堆栈溢出. <桃花庵--程序员版>写字楼里写字间,写字间中程序员: 程序人员写程序, 又将程序换酒钱: 酒醒只在屏前坐,酒醉还来屏下眠: 酒醉酒醒日