时慧

时慧的博客

他的个人主页  他的博客

敏捷开发与中国现实

时慧  2009年11月21日 星期六 23:44 | 2137次浏览 | 9条评论

XP与中国的软件公司到底兼容吗?做着做着就开始怀疑

做一个美国的项目,那个公司的IT部门,是由技术精英把持的,所以实行的是敏捷开发。那么,我们作为外包公司,理应配合他们的工作,不能以传统的方式开发了,毕竟是两种方式,就像两个完全不同的齿轮,是不能很好的运转的。

对方实行的是敏捷开发的一种,叫SCRUM,感兴趣的可以去Google百度一下,呵呵。

实行了几个月之后,我渐渐感到阻力越来越大,我总感觉,XP和中国普通软件公司不兼容。

为什么呢?在于敏捷开发是由精英程序员所研究出来的,他有一个假设——程序员都是合格和尽职的。他们有着良好的软件开发技能,对着软件开发有着天生的热情,他们有热情,有能力,对软件开发精益求精,孜孜不倦。

但是,在中国,当程序员对很大一部分人来说,不过是讨生活的一种手段罢了,当一天和尚撞一天钟的现象屡见不鲜。那么,这个时候,敏捷开发的一种重要弊端就出来了,那就是敏捷开发需要极强的自觉性,如果没有自律性,一旦实行敏捷开发,后果非常恐怖。更何况,对于一个外包公司而言,技术能力确实有差距。SCRUM讲究Sprint,也就是冲刺,一人一个任务,大家“玩命”对应。要是其中几个人没有这个实力,那就惨了,就好像大家每个人带着一点儿家当往终点跑,理论上,最后大家应该都在指定的时间内跑到,那么皆大欢喜,有人落后的话,那就是大家都玩完。试想一下,如果其中有人实力不济,就会变成一群人玩命往终点狂奔时,发现其中竟然有几个是瘸子!

那么,在任务不重的情况下,为了任务顺利完成,只能把那几个“瘸子”的负重让其他人分担了,但是如果任务本来就很重,那就惨了。

但是,一个外包型的软件公司,怎么可能给你全都是精英呢?事实上,精英只有两个出路,一个是当项目经理带项目,或者就是当技术经理,都分配到各个组去了,不可能聚集在一起。原来的开发模式,有很长的时间分析,设计阶段,可以把任务仔细拆分,然后按子任务的难度,分配给适当的人。当然,这种模式有一个重要的问题,就是能力强的人,会更强,而能力差点儿的人,就往往无法得到有效的技术提升。结果就是一个公司里,人员的分布很怪,能力要么很强,要么很弱,没有中间那个过渡层。

夜深了,要睡觉了,脑子混乱中,写的东西很乱,就“仅朋友可见”吧。

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
刘江

回复 刘江  2009年11月29日 星期日 00:39

敏捷开发我没搞过,看过的书比较多,算是纸上谈兵。不过,图灵内部的编辑流程是按敏捷的思想改造过的。可能还有些发言权。

程序员对很大一部分人来说,不过是讨生活的一种手段罢了,当一天和尚撞一天钟的现象屡见不鲜。”其实将工作视为讨生活,本来应该是天经地义的。而且讨生活也未必不能做得专业。据我观察,大部分人还是希望自己能够进步的,破罐子破摔的在哪里都是个别现象。如果你的团队出现了群体混的现象,应该不是个人问题,而是更高层次管理的问题。而这种问题,除了管理层重视和改变之外,一个重要的举措就是引入敏捷,重视员工,激励员工,培训员工,用更多的沟通和协作,提升士气和技能,最终实现双赢。

1条回复

  • 时慧

    回复 时慧  2009年11月30日 星期一 09:51

    可惜啊,中国现状,IT企业里,所谓PM是没有太大权利来进行奖惩的,这是最大的问题。而高层因为没有亲临第一线,是无法做出正确评判的。当然,PM有权利进行奖惩呢,也有相应的问题。

    0条回复

孟德

回复 孟德  2009年11月26日 星期四 09:43

别人不是说,不怕狼一般的对手,就怕猪一样队友

然我们只能根据现有的人员状况,选择符合实际情况的流程和方法。

2条回复

  • 时慧

    回复 时慧  2009年11月26日 星期四 10:32

    是啊,我也说了,XP那套理论是由一群技术牛人想出来的,他们有一个前提假设,队友都是狼……

    0条回复

  • 刘磊(V.L.)

    回复 刘磊(V.L.)  2009年11月26日 星期四 10:16

    都是心有余而力不足的主。。。

    0条回复

史荣久

回复 史荣久  2009年11月25日 星期三 17:10

私有的,只限于直接好友能看,远房亲戚不行

2条回复

  • 时慧

    回复 时慧  2009年11月25日 星期三 19:04

    那我就公开了吧,呵呵

    1条回复

      • 史荣久

        回复 史荣久  2009年11月26日 星期四 10:25

        敏捷是对的,不过XP,还是SCRUM,但必须有中国特色,符合行情。
        有很长的时间分析,设计阶段,可以把任务仔细拆分” 一般效率很低,风险大。

        0条回复

刘磊(V.L.)

回复 刘磊(V.L.)  2009年11月25日 星期三 14:52

哈哈,这么好的文章刚发现,惭愧呀。
我喜欢“瘸子”这个词,用的好、用的秒。

感觉,敏捷开发对于中国现状来说,给我我们一种可参考的解决方法,除了“结对编程”或“精英团队”不能达到外,其他的倒是可以借鉴一下:
1.迭代开发,以阶段的方式来渐进性的完成系统功能,加快了系统的交付的时间(每次交付都有部分功能没实现)。
2.开发者自省,作为一个靠编程吃饭的人,逐步提高自己的能力是有必要的,30岁后都有转型的问题出现,能力不够就只能转行。
3.积极合作,“合作”必须是“发自肺腑”的,辅以有效的“沟通”,以项目的整体目标作为自身目标。在过程中建立“信任”找出“瘸子”。

0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号