职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 730|回复: 10

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

[复制链接]
yoyo 发表于 2011-9-8 17:18 | 显示全部楼层 |阅读模式
有一个笑话是这样的:

    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的程序员拿到项目奖金,而同样辛苦工作的测试人员却被拖欠薪资,除了表现出管理者对他们的工作内容的不了解,以及对质量管理工作的不重视以外,还表现出管理者完全不会管人,这是一种谋杀团队的行为——谋杀一个团队远比建设要容易得多。

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

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

Jethro 发表于 2011-9-8 17:18 | 显示全部楼层
虽然管理在软件工程里面占了很大的一部分,但是把失败的责任全部归结为管理不善,是不是太绝对了呢?
BTW:开头的那个笑话挺有意思。

无处不在 发表于 2011-9-8 17:18 | 显示全部楼层
ted_xu 写道
虽然管理在软件工程里面占了很大的一部分,但是把失败的责任全部归结为管理不善,是不是太绝对了呢?
BTW:开头的那个笑话挺有意思。


个人认为,项目的整个过程,项目组应该有一个项目经理(不是程序经理,非技术人员)跟踪整个项目,所有上级的任何问题都直接找项目经理,项目经理在过程中在协商程序猿,任何中间过程中的一切责任全部由项目经理承担。

程序猿一边写程序,一边还要应付各种领导推卸下来的责任,你当程序猿是神人啊,磨嘴皮的功夫不是程序猿干的事。

找不到我 发表于 2011-9-8 17:19 | 显示全部楼层
有理。。。。。

broken 发表于 2011-9-8 17:19 | 显示全部楼层
有些人压根都没有把质量放心上吧,最近面试,提到敏捷,提到结对编程,被鄙视,被怀疑!整个过程没有管理者的身影。

Jethro 发表于 2011-9-8 17:19 | 显示全部楼层
junlas 写道
ted_xu 写道
虽然管理在软件工程里面占了很大的一部分,但是把失败的责任全部归结为管理不善,是不是太绝对了呢?
BTW:开头的那个笑话挺有意思。


个人认为,项目的整个过程,项目组应该有一个项目经理(不是程序经理,非技术人员)跟踪整个项目,所有上级的任何问题都直接找项目经理,项目经理在过程中在协商程序猿,任何中间过程中的一切责任全部由项目经理承担。

程序猿一边写程序,一边还要应付各种领导推卸下来的责任,你当程序猿是神人啊,磨嘴皮的功夫不是程序猿干的事。


一般情况下,大家都在干着神人的事情.......

爱车车 发表于 2011-9-8 17:19 | 显示全部楼层


这个笑话最大的问题在

  1 程序员拿不到什么奖金
  
  2 程序员没什么机会去斐济

把程序员作为既得利益者这本身是最大的笑话

只学java 发表于 2011-9-8 17:19 | 显示全部楼层
如果从公司发展的角度看,无疑是管理者的问题。
但是并不能说程序员是没有责任的。
责任和价值是对应的,没有责任意味着没价值。

所以就是个笑话而已。

江南枫 发表于 2011-9-8 17:19 | 显示全部楼层
iaimstar 写道


这个笑话最大的问题在

  1 程序员拿不到什么奖金
  
  2 程序员没什么机会去斐济

把程序员作为既得利益者这本身是最大的笑话


同意这个观点~~~

只学java 发表于 2011-9-8 17:19 | 显示全部楼层
iaimstar 写道


这个笑话最大的问题在

  1 程序员拿不到什么奖金
  
  2 程序员没什么机会去斐济

把程序员作为既得利益者这本身是最大的笑话


shmilyyu 发表于 2011-9-15 09:52 | 显示全部楼层
我顶啊。接着顶
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-20 20:14 , Processed in 0.164384 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表