有一个笑话是这样的:
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的程序员拿到项目奖金,而同样辛苦工作的测试人员却被拖欠薪资,除了表现出管理者对他们的工作内容的不了解,以及对质量管理工作的不重视以外,还表现出管理者完全不会管人,这是一种谋杀团队的行为——谋杀一个团队远比建设要容易得多。
最后,这个失败的管理者把他的经历编成这个笑话,让大家看到他被程序员们害得多惨,把程序员妖魔化为一群骗子。但只要稍懂管理的人简单分析一下就可以看出来,只不过是这个人的无知和无能造成了他现在的结果,而把责任推给别人的行为更是表现出他的无耻。
作为身居高位的管理者,如果连应该承担的责任都要推卸,他们还能胜任什么事情呢。
分享到:
相关推荐
【基于安卓的笑话百科】是一个专门为Android平台设计的应用程序源码,它集合了大量的笑话资源,为用户提供轻松愉快的阅读体验。这个项目对于Android开发者来说,是一个极好的学习和实践平台,因为它包含了完整的开发...
这篇文档将深入解析《笑话故事Android应用源码》这一主题,旨在帮助开发者理解和学习如何构建一个功能完善的Android应用。源码是学习编程的最佳途径之一,它揭示了软件背后的工作原理和设计模式。在这个项目中,我们...
2. **数据库交互**:一个完整的笑话全站程序通常会涉及到数据库操作,如存储笑话内容、分类信息等。ASP可以通过ADO(ActiveX Data Objects)来连接和操作数据库,如SQL Server、Access等,进行数据的读取、写入和...
6. 诸葛亮与编程:借用历史人物的故事来比喻编程中的错误处理,一个小小的错误可能导致整个项目受阻。 7. 生活习惯:程序员的生活方式被描绘为长时间对着电脑,饮食简单,生活作息可能与常人不同。 8. 命名习惯:...
【标题】"笑话站源码分享"所涉及的知识点主要集中在网页开发和网站构建上,尤其是对于初学者或想要自己动手搭建一个小型娱乐网站的人来说,这个源码提供了一个很好的起点。源码通常包括了网站的基本结构和功能实现,...
### Python 实现语音...本文通过一个具体的Python实现案例,详细介绍了如何构建一个基本的语音聊天机器人。通过掌握这些核心技术点,开发者可以根据实际需求进一步扩展和完善功能,创造出更多有趣且实用的应用场景。
本项目"android获取聚合数据笑话"正是这样一个示例,它展示了如何利用Fastjson和XUtils这两个流行框架从聚合数据API中获取并解析笑话内容。下面我们将深入探讨这个项目涉及的关键知识点。 首先,聚合数据(JuHeData...
在最后一个笑话中,“he won”(他赢了)的字面意义与实际情况形成了强烈对比,即男孩在游戏中受伤,却获得了“赢”的名义。 整体而言,这些简单英语小笑话主要依赖于日常生活的普通情境,通过语义的巧妙转换、语境...
笑话集 源码带搭建效果图片,目录结构和大多数小程序一样,app.js 文件的主要作用是充当微信小程序的脚本文件,适合新手开发使用,手把手带你玩转微信小程序二次开发,属于自己的小程序,开发能力强的话可对接开通...
在这个笑话应用中,`MainActivity`可能会启动一个显示笑话列表的Fragment或者直接展示笑话内容。 2. `Adapter`:在Android中,`RecyclerView`或`ListView`通常与`Adapter`配合使用,用于将数据绑定到视图上。`...
标题中的“小学数学数学故事数学笑话查票”表明这是一个与小学数学相关的内容,结合描述,我们可以推断这是一个通过数学故事和笑话来帮助小学生理解和学习数学的教学资料。标签“资料”进一步证实了这是一个教学资源...
讲笑话的人 使用笑话和文本语音API讲随机笑话
【JSP笑话小偷网站全代码】项目是一个基于JavaServer Pages (JSP) 技术构建的简单网页应用,主要用于抓取和展示网络上的幽默笑话。这个项目可以帮助初学者了解如何利用JSP来开发动态网站,并掌握数据抓取、页面渲染...
这个压缩包“笑话故事jsoup库使用.zip”很可能是包含了一个示例项目,演示如何在Android应用中集成和使用JSoup来抓取和处理网页数据,特别是针对笑话故事这类内容。 JSoup库是Java的一个开源库,它的核心功能包括:...
例如,一个笑话可能描述一个极其不寻常的情境,如“一个宇航员去火星,发现所有的火星人都在打高尔夫。”这个情境明显违背了现实,制造了幽默。 其次,数量原则要求说话者提供的信息既不多也不少,只提供对话所需的...
根据提供的文件信息,我们可以分析出该资源主要涉及的是一个基于JSP技术开发的笑话网站源码,版本为1.0,被命名为“JSP笑话小偷”。接下来将围绕这一主题展开详细的知识点介绍。 ### JSP简介 JSP(Java Server ...
例如,"I want that one of the greatest." 这句话使用了形容词最高级"greatest",孩子们可以通过这个句子学习到如何用比较级和最高级来形容事物。同时,"I really dont feel like getting into an argument about ...
本案例主要探讨如何使用Python编写一个爬虫程序来抓取特定笑话网站的标题和内容。通过提供的"爬取笑话标题内容.py"文件,我们可以学习到Python爬虫的基本结构和常用库的运用。 首先,我们需要了解Python中的...
这是一个使用PHP编写的程序,它的主要任务是从云集科技的WAP(无线应用协议)版本网页上抓取笑话内容。WAP版本通常是为了适应移动设备访问而设计的,因此,这个爬虫特别适用于抓取手机网页上的数据。 PHP爬虫的工作...