`
JAVA天地
  • 浏览: 673908 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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个又为什么不是BUG?BUG的评价标准难道是程序员说了算?这个环节管理缺失。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 这是一件毫无疑问的事,可是国内的软件业似乎总是不相信这一点。中国软件业中流毒最深的谎言之一就是:

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

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

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

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

 作为身居高位的管理者,如果连应该承担的责任都要推卸,他们还能胜任什么事情呢。

分享到:
评论

相关推荐

    用友软件开发实习笔试题

    软件开发实习笔试题 以下是对给定文件信息的详细解释和知识点总结: 时间复杂度 时间复杂度是衡量算法性能的一个重要指标,它是指算法的执行时间与输入规模之间的关系。常见的时间复杂度有O(1)、O(logn)、O(n)、O...

    本人做的一个在线看笑话、糗事的软件,希望大家提建议

    标题中的“在线看笑话、糗事的软件”指的是一个应用程序,设计用于提供娱乐内容,如笑话和糗事,让用户能够在线浏览和阅读。这个软件可能是由个人开发者制作的,目的是为用户提供轻松愉快的休闲时光,并可能鼓励用户...

    一个小项目(笑话大全)

    “小项目”标签表明这是一个规模不大、目标明确的软件开发任务。这样的项目往往不会过于复杂,适合在短时间内完成,且能帮助开发者积累实际项目经验。小项目的优点在于可以集中精力解决特定问题,而不是被大型项目中...

    笑话网站源代码亲自测试版

    【标题】"笑话网站源代码亲自测试版"指的是一个专门用于构建笑话类网站的源代码,这个版本已经过测试,确保其功能正常运行。在IT领域,源代码是程序员用编程语言编写的原始指令集合,它是软件的基础,可以被修改和...

    微信小程序学习demo:笑话大全;使用聚合数据API

    本项目是一个微信小程序的学习示例,名为“笑话大全”,它利用了聚合数据API来获取并展示各种幽默笑话。 首先,我们来深入了解一下微信小程序的开发环境。微信开发者工具是构建小程序的主要平台,它提供了代码编辑...

    火柴峰笑话网

    火柴峰笑话网是一个基于网络的幽默内容分享平台,它提供了丰富的笑话资源供用户浏览和娱乐。这个平台的源代码已经公开,对于那些对构建类似网站或者学习网站开发有兴趣的人来说,是一个宝贵的参考资料。 源代码是...

    笑话故事android应用源码

    在IT行业中,Android应用开发是一项重要的技能,尤其对于软件工程师来说。...对于初学者来说,这是一个很好的学习资源,而对于有经验的开发者,它可以提供一个参考实例,用于优化和改进自己的项目。

    android应用源码笑话网源码

    "Android应用源码笑话网源码"是一个专为Android设备设计的应用程序,其核心功能是提供一个集中的平台,让用户可以浏览、阅读和分享各种幽默笑话。这个项目不仅是一个实际的应用实例,也为学习Android开发的初学者...

    笑话客户端

    【描述】"jokebook ======== 笑话客户端软件"表明这个项目是一个名为“jokebook”的软件开发项目,其主要功能是实现一个笑话的客户端应用程序。描述中的"iOS 源码"标签揭示了该项目是针对苹果iOS平台进行开发的,这...

    幽默笑话程序

    从描述中可以看出,这个压缩包可能包含了一个完整的幽默笑话程序的源代码,允许我们查看和分析其设计与实现。 【全站代码】标签表明这个压缩包提供的代码涵盖了整个应用程序,从前端用户界面到后端服务器逻辑,可能...

    android应用-把妹笑话

    "把妹笑话"应用很可能通过一个或多个Activity来展示笑话内容,每个Activity对应一个独立的屏幕或交互流程。 在UI设计方面,应用可能会使用Android的布局组件,如LinearLayout、RelativeLayout、ConstraintLayout等...

    笑话网站源码

    【标题】"笑话网站源码"揭示了这是一个与构建笑话...总的来说,这个"笑话网站源码"是一个学习ASP编程和网站开发的实用资源,特别适合初学者入门,通过实际操作和修改,可以加深对动态网站开发的理解,提升编程技能。

    笑话大全源码 v1.0 -ASP源码.zip

    总结来说,"笑话大全源码 v1.0 -ASP源码.zip" 是一个基于ASP的网站开发资源,旨在搭建一个专门分享笑话的互动平台。对于学习ASP或者想要建立类似站点的人来说,这是一个宝贵的参考资料,可以深入理解ASP编程逻辑和...

    笑话小程序源码加截图.7z

    "笑话小程序源码加截图.7z" 这个标题表明我们讨论的是一个关于小程序的开发资源,具体来说是一个笑话类的小程序。"源码"指的是编程语言编写的应用程序的原始代码,这通常是开发人员进行修改、学习或理解软件工作原理...

    笑话故事android应用源码.rar

    这篇文档将深入解析《笑话故事Android应用源码》这一主题,旨在帮助开发者理解和学习如何构建一个功能完善的Android应用。源码是学习编程的最佳途径之一,它揭示了软件背后的工作原理和设计模式。在这个项目中,我们...

    笑话(源码)完整版.zip

    总之,“笑话(源码)完整版.zip”提供了一个独特的学习机会,让我们可以从实际应用的角度了解软件开发的全貌,同时享受到技术带来的乐趣。无论是对于新手还是经验丰富的开发者,分析这样的源码都能带来宝贵的启示和...

    仿《九妖笑话》段子网站源码分享.zip

    源码是软件开发的基础,它包含了实现特定功能的所有代码,对于理解网站运行机制和进行二次开发至关重要。 这款源码可能包括以下几个关键组成部分: 1. **前端界面**:这部分主要负责用户在浏览器上看到的网页设计...

    思云网笑话站 v1.0

    从【标签】中我们可以看出,这个软件是关于“下载”、“新闻发布类”的源代码或源码,意味着它是一个可供开发者研究、学习或自定义的开源项目。 首先,"下载"标签表明这个程序可以被用户下载并安装在自己的服务器上...

    程序员笑话大全.docx

    1. 文档的重要性:在软件开发中,编写文档是为了让其他人更好地理解代码逻辑和功能,防止出现沟通障碍。程序猿往往认为写文档是繁琐的工作,但同时也意识到没有文档的代码同样难以维护。 2. 编程学习路径:描述中的...

    新新笑话小偷best3

    【标题】"新新笑话小偷best3"指的是一个可能的程序或软件,可能是用于搜集、整理或分享网络上的幽默笑话资源。这个标题暗示我们这是一个集合了最佳笑话的第三个版本,可能具有一定的用户基础和口碑。 【描述】"新新...

Global site tag (gtag.js) - Google Analytics