现代软件工程 第十五章 【稳定和发布阶段】练习与讨论

发布时间:2020-05-20 03:46:58 作者:邹欣
来源:网络 阅读:350

15.3.0 案例分析

可以看看这两个学生项目的例子,推断出这些团队的血型:

STG游戏的跳票(为了完美,推迟了7天,但是7天之后也没有发布……)[leal1] [i]

英语学习软件(说了“明早发布”,但是明早一直没到)[ii]

15.3.1  反动分子阿超

在最后的稳定阶段,阿超不断地把事情推到下一个版本,二柱和果冻都不耐烦了——为什么不拼一下,把所有事情在第一版搞定?

阿超: 有两种做法——

1. 根据事情的轻重缓急,安排大部分事情在下一个版本做。正因为我们对项目、团队、商业模式有信心,才会把很多事情安排在以后的版本中。

2. 拼一下,把所有事情搞定,后果是大家都累得够呛,[leal2] 然后人也走了,没有人有兴趣做下一个版本。

二柱: 我记得当年我们公社组织修水利的时候,大家都拼了老命,有几个前辈都牺牲了,才把水库修好……难道这些不是有价值的么?

果冻: 对!我记得山坡上还用巨石刻了一些标语,有两个前辈就是牺牲在炸开巨石刻字的时候。

阿超: 是啊,现在看起来,那些刻在山上的标语是属于可“cut”的功能。至少我们可以把它推迟到下一个版本。到今天,我们大家都意识到刻巨大的“人定胜天”标语不是特别重要的“功能”,对么?这样岂不更好?当年我们的叔叔伯伯们的确没有必要“誓死完成”所有的任务。

二柱: 要在以前,你就是反动分子。

阿超: 我们写商业软件,是要赚钱养家,如果自己都做得疲惫不堪,精神不振,那拿钱来养啥?如果还要刻字,我建议在山坡上刻“以人为本”几个大字。

15.3.2  银弹之战

银弹:为了避免项目的成员为了一些问题争执不休,移山公司发明了银弹(Silver Bullet)这一工具。简而言之,就是每个角色的代表(Dev/Test/PM)在项目过程中可以使用有限次的“停止争论,按我说的办”的武器 – 银弹。银弹一出,大家就要听话。当然,银弹用一个少一个,下次有争论的时候,别人就更有机会使用这个手段了。

讨论 - 银弹真的有用么?

15.3.3 扁鹊三兄弟[leal4] 

果冻: 我听说了萝卜和白菜的故事,其实类似的事儿古代早已有之,请看一段关于“扁鹊三兄弟”的古文:

王独不闻魏文王之问扁鹊耶?曰:‘子昆弟三人其孰最善为医?’扁鹊曰:‘长兄最善,中兄次之,扁鹊最为下。’魏文侯曰:‘可得闻邪?’扁鹊曰:‘长兄于病视神,未有形而除之,故名不出于家。中兄治病,其在毫毛,故名不出于闾。若扁鹊者,镵血脉,投毒药,副肌肤,闲而名出闻于诸侯。(《鶡冠子·卷下·世贤第十六》)[leal5] 

扁鹊是这么说的:“俺大哥治病是看病人的神色,病还没有表现出来他就把病给治了,所以他的名声不出家门。俺二哥治病是在病人稍有不适的时候,就把他们搞定,所以他的名声不出巷子。而我扁鹊看病用的是疏通血脉的针、有毒副作用的汤汁、埋入肌肤之内的草药。所以我的名声反倒传遍了各个诸侯国。”

二柱: 这个跟王屋河的防洪是一个道理,上游搞得好,不发洪水没人知道,下游要决堤了,一堆人上去堵,死伤几个,就出名了。我们最善于搞末端治理。

在软件开发上,如果项目早期就发现并解决了问题,除了“家里人”,没人知道;项目中期发现问题并解决,项目的许多相关人员“公司”都知道了;项目后期出了问题,我们要加班,重写代码,hack原来的设计,开一些后门来解决问题(下一些副作用很大的猛药),总算把项目给救活了,这时候全公司的人都知道了。

阿超: 我记得小学六年级学过“曲突徙薪”的故事,也讲了类似的道理。我们往往奖励末端治理的英雄,但是最初提建议的人未必得到奖励,移山公司会不会也是这样?

 

15.3.4 分析一些著名的失败项目 - 例如,电脑控制的丹佛机场行李系统。

          如果你们小组要给这个项目做 Postmortem,你会怎么总结呢?

http://calleam.com/WTPF/?page_id=2086

http://www.nytimes.com/2005/08/27/national/27denver.html

http://www.computerworld.com/article/2556725/it-project-management/united-axes-troubled-baggage-system-at-denver-airport.html 


[i]      http://www.cnblogs.com/buaashine/archive/2012/12/17/2821563.html#2590003

[ii]      http://www.cnblogs.com/SuperBrothers/archive/2012/12/18/2822585.html


推荐阅读:
  1. 现代操作系统(一)——引论
  2. [置顶]       现代浏览器的工作原理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

软件工程 案例分析

上一篇:二进制的转换和构建

下一篇:华为v5服务器安装Linux操作系统

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》