2008-4
27
对于一些软件开发模式,不用我多说,到处都是这类的文章或者教程。不过总的来说,应该是客户->市场部->系统架构->项目主管->程序员,原因不想过多解释,系统架构之下包含若干项目,项目是由程序构建起来。市场部起到了一个接受外来任务并且传递给技术的过程,系统架构起到承上启下的作用。
不过,有些开发模式是市场部->程序员,然后会发生什么情况呢?用吃饭的过程来打个比方。
原先吃饭顺序应该是客户来吃饭了,迎宾小姐把他迎到餐厅中;然后客户告诉迎宾小姐要吃什么,迎宾小姐把需求告诉点菜员,然后点菜员想了一下是那个厨师可以做,然后告诉那个厨师对应的传菜员,最后传菜员告诉厨师需要做什么以及原材料在什么地方。至于厨师不管为什么要,总之传菜员说有人要吃,告诉原材料,厨师就做好了。那么,这是一个比较好的吃饭过程。
如果像客户->市场部->程序员会怎么样呢?有两种情况:
- 客户原先想吃一个西红柿蛋汤,告诉迎宾小姐。可是迎宾小姐不会做菜,也不知道做菜需要什么材料,然后她就直接跑过去告诉厨师,有个客户饿了,要喝汤。就这么多信息。厨师想了半天,做了一个紫菜蛋汤~端出去,人家客户说不对,我要的是西红柿蛋汤啊~于是,厨师不得不把紫菜全部挑出来之后再放入西红柿,重新做了一个西红柿蛋汤。
- 第二种情况更惨。这次客户想吃一个糖醋排骨。这个迎宾小姐稍微懂一点点做菜,但是半吊子。然后她自作聪明告诉厨师,客户饿了,要吃东西。这个东西要有肉,酸的还有一点点甜,你看着办吧。连是炒菜还是烧汤都没有说。厨师一合计一琢磨,做了一个鱼香肉丝——不仅仅满足了条件,还多了一些笋子~结果端出去,惨了。人家要的是糖醋排骨啊,于是,重新买肉重做。不仅仅浪费了时间,连原材料都不能再次使用了。
看起来这样子吃饭很荒谬,但有些公司开发模式就是这样子。可能在公司发展初期还是可以接受(迎宾小姐可以通知厨师客户要什么),但是等到规模到了一定程度(一个迎宾小姐需要接待10个客人)。那么系统架构和项目经理(点菜员和传菜员)的地位就会马上显现出来。
可能是一个比较不恰当的例子(比如点菜员一般不会单独存在,都是兼有迎宾小姐来做,当然,这个也需要饭馆规模要大),但是个人认为还是可以比较完整的把软件开发过程和吃饭的过程联系在了一起。
权且看看吧;)
还没有任何评论。