精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-03-05
前段时间我写了一篇blog,叫做《小游戏,大道理》。是关于一个叫做“ColorLinez”的小游戏的。虽 然表面上是总结的游戏策略,而我心里一直在琢磨的,还是开发管理的事情。这回《程序员》杂志向我约稿关于项目管理的经验,我就想到拿这篇文章来做基础,谈 谈我对软件开发风险管理的看法。 这个ColorLinez,是一个非常简单的游戏。通过移动小球,连成5个以上的一排直线或斜线,就可以消去。每次移动一个小球,如果没有消球,电脑就会再向棋盘投入三个小球。等到棋盘被铺满,则游戏结束。 令我相当沮丧的是,这么简单的一个游戏,我却始终玩不好。为什么呢?我开始带着思考去玩这个游戏,一边玩,一边总结,越是总结,就越是发现,这些道理与风险管理中的道理,大有相通之处。 1、不要过多的猜测 从开发管理来说,我们能够获知的,只能是目前用户所提出的各项需求。我们无法猜测,用户下一次会提出什么需求。 也许有人会说,我们可以做计划呀,不是有“长期、中期、短期”诸如此类的计划么?问题在于,大多是开发计划,都一定会改变。越是长时段的开发计划,越是有 可能变动得面目全非。猜测和提前准备,最不坏的结果是:“做了无用功”。更糟糕的可能是:“当初花了多少时间去走的歪路,还要再花那么多时间走回来,才能 继续前进。” 所谓“KISS”原则,讲的就是这个道理。如果有人希望通过预测需求的变动,以减小风险,那就是缘木求鱼了。 2、过多的依赖,往往会失败。 在源代码的层次,我们把这种情况,称之为依赖,一个函数依赖于另一个函数,一个类依赖于另一个类,一个模块依赖于另一个模块。一个项目中的代码依赖情况越是复杂混乱,这个项目失败的可能性就越大。 再上升一层,说开发管理。当我布置一个任务给“小王”,然后这个任务其实仅仅靠“小王”并不能够完成,在我或者 知道,或者不知道的情况下,他需要寻求“小张”的部分帮助。而“小张”在这个事情上,还不能自作主张,他还要先问问“大林”对这个方案的意见。而“大林” 觉得,这个问题,最好和新来的一个做兼职的同事商量一下。而这个做兼职的同事,是通过email和我们联系的,过来一趟不容易。 我以为这个任务的工期,是由我给“小王”布置的。到后来发现事情拖了很长时间都没有完成,才知道原来这个任务背后有这么复杂的依赖关系。正确的解决办法是,一开始就搞清楚这个任务究竟和多少人有关系?然后想办法集中起来沟通协调,然后分头进行,齐头并进。 再上升一层来看这个问题,这其实是风险管理的一个重要组成部分。开发中的各个环节之间的依赖关系,如果过于繁杂,就会包含巨大的风险。要化解这样的风险,及时理顺关系,促进有效沟通,是非常必要的手段。 3、要给自己留下退路 再说软件开发管理中的风险管理,我们无法预测需求的变动,我们能够控制的,只是这个开发团队。那么,要减小风险,其实就是两个办法:一个是上面讲的,不要给自己制造风险。另一个就是,通过合理的调度、安排,以缓冲或者规避,需求变动可能带来的风险。 更加直接一点,就是说,在制定项目计划的时候,一定不能只做乐观估计,更不能天真的相信,一切都会顺利。必须考虑各种可能的风险,并且为这些风险,留出合理的缓冲时间和后备资源。发现一种方案行不通时,一定要尽快另谋出路。 4、小心,再小心一些 软件开发管理,就更难了,一方面,工期要求向来是越快越好,容不得你拖拖拉拉,细细想来。另一方面,又和游戏一样,不能悔棋。如果公司经得起折腾、吞得下苦果、信得过你,也许会再给你一次机会。但是......很难...... 风险管理,最为重要、也是最困难的一点,是具备足够的风险意识。这个风险意识,还不是简单的,知道有多少风险, 然后就去防范它。首先要有大局观,能够常常关注全局的风险,而不是局限于自己的思维定式。要始终理性的思考和判断,而不是受一时一事的影响。要养成良好的 工作习惯,以避免忙中出错。要常常自我反省,以便更好的改进管理方法。 总之,要慎之又慎,以免一失足成千古恨。道理就是那么简单的道理,要始终记得去防范风险,就难了。所谓知易行难,正是这个意思。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-03-05
发明KISS原则滴人简直就素额滴神哪
|
|
返回顶楼 | |
发表时间:2007-03-05
我手机上正好有这个游戏
看了你的BLOG 玩了整整两个多月 浪费了两个多月在地铁上看书的时间.... 总结出来的意义 1不要等一切不可收拾了才去寻找办法,没有办法 看出来所有的棋只能走XXX步时 那么风险就已经很高了, 一切只能看电脑会不会发善心了 2机会=风险(但不是在最后) 决定你会不会死亡的棋 其实是在二百分左右的时候 当时的选择很多 每当你有很多选择时 那么你的机会来了 同时风险也来了 选对了你可以再多支持二百分 选错了你就可以在挣二百分时死 所以在一切大好时要多想多考虑 因为这是决定你死亡的时间的棋 3选择什么样的路走? 如果有很多选择时要选哪个? 规则 就是看到如果有不规律的可能 那么就把它们给消灭 不要等他们成型 风险, 就是看如果现在不管他 他可能被堵住的可能性有多高... 如果有5个格子是必经之路 那么下一回合,被堵上可能性会达到空前的高 如果有N条路那么,被堵上可能性就是很少 放弃 如果一个路被堵了 很多人会把路搬开 其实不然 应该去算算是不是这条路还值得去搬 算算是否有比这个风险还大的应该去走. |
|
返回顶楼 | |
发表时间:2007-03-05
第三条死活都看不懂,也许是因为我没有玩过这个游戏?
|
|
返回顶楼 | |
发表时间:2007-03-05
小平 曰:
冷静观察 稳住阵脚 沉着应付 善于守拙 |
|
返回顶楼 | |
发表时间:2007-03-05
dearwolf 写道 第三条死活都看不懂,也许是因为我没有玩过这个游戏?
守规则: 一个好规则在于每个人都会去守 不守规则的"好办法" 说明不是规则错了 就是办法是错的... 一次破了规矩那么以后又会有破规矩的地方 所以 规矩不是讨价还价 看风险: 时间还有...上网看看? 每一分钟的浪费都不能真正浪费掉 总有你还回来的时候 两个工作先作哪个? 那个都可以?不是... 好选择的时候不考虑清楚 到不好选时靠急智? 那时就没的可选了.... 时刻要 有危机感才可能活的比别人更久一点 舍得放弃? 一个无理要求,时间还够作,要不要答应? 要作?不要作?哪个风险更高 这不是1+1=2的数学题 庄表伟 100%失败来自于自已..... 你在一开始就没有 选择一个可以打嬴的游戏 放弃一个公司为什么? 你无法得到你想得到的那就是失败 放弃它 不放弃一个公司为什么? 你可以改变它让它带着你达到你的目标 (如果不用改变就能达到更好了) 你的目标太高就失败 定的低成功可能性高... 但真的成功了么? 浪费了人生如果也算进来.... 几乎所有的人都在最后的失败中渡过一生.... |
|
返回顶楼 | |
发表时间:2007-03-05
嗯,生于忧患死于安乐的道理,被异常讲的更通俗易懂了
|
|
返回顶楼 | |
浏览 5191 次