时慧 2009年11月21日 星期六 23:44 | 2137次浏览 | 9条评论
XP与中国
做一个美国的项目,那个公司的IT部门,是由技术精英把持的,所以实行的是敏捷开发。那么,我们作为外包公司,理应配合他们的工作,不能以传统的方式开发了,毕竟是两种方式,就像两个完全不同的齿轮,是不能很好的运转的。
对方实行的是敏捷开发的一种,叫SCRUM,感兴趣的可以去Google百度一下,呵呵。
实行了几个月之后,我渐渐感到阻力越来越大,我总感觉,XP和中国普通软件公司不兼容。
为什么呢?在于敏捷开发是由精英程序员所研究出来的,他有一个假设——程序员都是合格和尽职的。他们有着良好的软件开发技能,对着软件开发有着天生的热情,他们有热情,有能力,对软件开发精益求精,孜孜不倦。
但是,在中国,当程序员对很大一部分人来说,不过是讨生活的一种手段罢了,当一天和尚撞一天钟的现象屡见不鲜。那么,这个时候,敏捷开发的一种重要弊端就出来了,那就是敏捷开发需要极强的自觉性,如果没有自律性,一旦实行敏捷开发,后果非常恐怖。更何况,对于一个外包公司而言,技术能力确实有差距。SCRUM讲究Sprint,也就是冲刺,一人一个任务,大家“玩命”对应。要是其中几个人没有这个实力,那就惨了,就好像大家每个人带着一点儿家当往终点跑,理论上,最后大家应该都在指定的时间内跑到,那么皆大欢喜,有人落后的话,那就是大家都玩完。试想一下,如果其中有人实力不济,就会变成一群人玩命往终点狂奔时,发现其中竟然有几个是瘸子!
那么,在任务不重的情况下,为了任务顺利完成,只能把那几个“瘸子”的负重让其他人分担了,但是如果任务本来就很重,那就惨了。
但是,一个外包型的软件公司,怎么可能给你全都是精英呢?事实上,精英只有两个出路,一个是当项目经理带项目,或者就是当技术经理,都分配到各个组去了,不可能聚集在一起。原来的开发模式,有很长的时间分析,设计阶段,可以把任务仔细拆分,然后按子任务的难度,分配给适当的人。当然,这种模式有一个重要的问题,就是能力强的人,会更强,而能力差点儿的人,就往往无法得到有效的技术提升。结果就是一个公司里,人员的分布很怪,能力要么很强,要么很弱,没有中间那个过渡层。
夜深了,要睡觉了,脑子混乱中,写的东西很乱,就“仅朋友可见”吧。
Zeuux © 2024
京ICP备05028076号
回复 刘江 2009年11月29日 星期日 00:39
“
回复 时慧 2009年11月30日 星期一 09:51