论坛首页 综合技术论坛

倡议把中国改革开放的成功经验借鉴到敏捷软件开发方法的推广工作中来

浏览 15119 次
该帖已经被评为精华帖
作者 正文
   发表时间:2007-01-04  
    许多同志都抱怨自己位子低,权利小,对于工作中遇到的问题有想法,明知道推广敏捷能够极大地改善这些问题,但是却无能为力。究其原因,不外乎敏捷的推广涉及到开发流程的方方面面,对内关系对外关系。要全面推开,不光需要有力的权利支持,开明的客户,还要有一支优秀的团队。面对这样的状态,我们能做什么呢?难道我们就不作为,混日子么?我觉得,一个可以借鉴的成功经验就躺在眼下的中国大地上。中国改革开放的成功经验中有许多创新,比如说有计划的商品经济。我觉得不能把这些称法简单认为是文字游戏,我觉得它是中国中庸精神的体现。正是通过小步放开,让中国的经济总量做上去。才能够有力量去做更深一步的改革,有经济实力,也有人才储备,更有民意基础。

    在这个思路下,可以有很多工作可以做。比如说,如何让高层支持你?不光是靠几个演讲,做几次报告就能解决的。作为领导,恐怕最关心的还是不出岔子。你要是太急,推动得太过了,缺乏实际成功的经验,恐怕很难有领导会支持你。假如先引入持续集成(或者别的最佳实践),让团队看到益处,让市场看到好处,要走下一步应该就会容易一些。这里就牵涉到最佳实践是不是能够部分采用,先采用哪些后采用哪些的问题了。对于这个问题我们先来看看改革开放的经验。最开始引入的商品经济,运行的是双轨制。虽然中间造成了很大的公权利寻租问题,但是不得否认商品经济对于解决当年主要矛盾“人民日益增长的物质文化需求与落后的生产力之间的矛盾”的巨大贡献。国企改革,中国股市,股权分置。这么多年来,虽然是走两步退一步。但是至少还是部分说明了这市场经济也是可以分步实现的。反观休克疗法下的那些国家,至少还是能部分说明我们是成功的。就敏捷软件开发的实际生存状况来说,其实也并不是每个项目都应用所有的最佳实践,团队成员个个是牛人的。以我在悉尼三个月工作的经验来看。至少对于TDD和结对编程,我们公司都是很灵活的。而且也没有明显的证据表明这样实践下来的敏捷项目变了味。

    除了对内的逐步改革,对外关系更是软件项目成功的重中之重。其实,敏捷软件开发的先进性就是体现在对于客户商业价值的重视的基础上的。但是,重视客户是靠喊口号就能实现的么?短期内,在国内,还很难有客户认识到敏捷软件开发流程的价值,销售很难谈下来按时间收费的项目。难道我们只能“等靠要”么?关于固定时间固定费用的项目,我们作为基层开发人员能够做出什么贡献来确保敏捷在此类项目中的良性实施?这都是很大的研究课题。更是实验课题。需要在日常实践中,慢慢来摸索。

    中国有中国特色。不妨套用那句老话,开创有中国特色的敏捷软件开发方法学。这个命题,也是我在ThoughtWorks China今年所要思考和实验的核心命题。
   发表时间:2007-01-04  

敏捷推广运动的根本方针是:长期的潜伏发展,积蓄力量,争取人心,避免盲动。


参考1.中共中央对国统区地下党制定的“隐蔽精干,长期埋伏,积蓄力量,以待时机”的工作方针.

参考2.根据Weingberg 《质量软件管理——系统思维》的提点,如果公司和客户都满意当前的状况,
                       就不要去提什么改进。
0 请登录后投票
   发表时间:2007-01-04  
taowen 写道
    许多同志都抱怨自己位子低,权利小,对于工作中遇到的问题有想法,明知道推广敏捷能够极大地改善这些问题,但是却无能为力。究其原因,不外乎敏捷的推广涉及到开发流程的方方面面,对内关系对外关系。要全面推开,不光需要有力的权利支持,开明的客户,还要有一支优秀的团队。面对这样的状态,我们能做什么呢?难道我们就不作为,混日子么?我觉得,一个可以借鉴的成功经验就躺在眼下的中国大地上。中国改革开放的成功经验中有许多创新,比如说有计划的商品经济。我觉得不能把这些称法简单认为是文字游戏,我觉得它是中国中庸精神的体现。正是通过小步放开,让中国的经济总量做上去。才能够有力量去做更深一步的改革,有经济实力,也有人才储备,更有民意基础。

    在这个思路下,可以有很多工作可以做。比如说,如何让高层支持你?不光是靠几个演讲,做几次报告就能解决的。作为领导,恐怕最关心的还是不出岔子。你要是太急,推动得太过了,缺乏实际成功的经验,恐怕很难有领导会支持你。假如先引入持续集成(或者别的最佳实践),让团队看到益处,让市场看到好处,要走下一步应该就会容易一些。这里就牵涉到最佳实践是不是能够部分采用,先采用哪些后采用哪些的问题了。对于这个问题我们先来看看改革开放的经验。最开始引入的商品经济,运行的是双轨制。虽然中间造成了很大的公权利寻租问题,但是不得否认商品经济对于解决当年主要矛盾“人民日益增长的物质文化需求与落后的生产力之间的矛盾”的巨大贡献。国企改革,中国股市,股权分置。这么多年来,虽然是走两步退一步。但是至少还是部分说明了这市场经济也是可以分步实现的。反观休克疗法下的那些国家,至少还是能部分说明我们是成功的。就敏捷软件开发的实际生存状况来说,其实也并不是每个项目都应用所有的最佳实践,团队成员个个是牛人的。以我在悉尼三个月工作的经验来看。至少对于TDD和结对编程,我们公司都是很灵活的。而且也没有明显的证据表明这样实践下来的敏捷项目变了味。

    除了对内的逐步改革,对外关系更是软件项目成功的重中之重。其实,敏捷软件开发的先进性就是体现在对于客户商业价值的重视的基础上的。但是,重视客户是靠喊口号就能实现的么?短期内,在国内,还很难有客户认识到敏捷软件开发流程的价值,销售很难谈下来按时间收费的项目。难道我们只能“等靠要”么?关于固定时间固定费用的项目,我们作为基层开发人员能够做出什么贡献来确保敏捷在此类项目中的良性实施?这都是很大的研究课题。更是实验课题。需要在日常实践中,慢慢来摸索。

    中国有中国特色。不妨套用那句老话,开创有中国特色的敏捷软件开发方法学。这个命题,也是我在ThoughtWorks China今年所要思考和实验的核心命题。


OK,如果真的打算引入敏捷,如何选择最恰当的切入点?
我想这个点应该符合这样几个条件:
第一:简单、易行;
第二:效果明显;
第三:至少在领导看起来,对现有的开发模式影响不大。

持续继承恐怕很难,因为领导最关心的其实是整个团队、整个项目(产品)。如果持续集成没有其他开发者的
接纳,没有领导的认可,根本不可能推行。影响面比较大。

依我看,最好的切入点是TDD。 由每个人写单元测试代码,而TDD本身就很难为不了解它的人所接受。退一步
讲,即使所有人都接受了(情愿抑或不情愿),都开始写测试代码。那么由谁来保证他写的测试代码的质量?
我们可以说采用配对编程、代码共享、持续集成来保证。呵呵,不过那这就不是lz所谓“逐步改革”了。

或许最好的方式是先找几个积极分子在小项目上实验,采用比较完整的敏捷方式。在领导和开发者看到明显
效果的情况下再向整个开发部分推广。因为小项目的风险系数比较低,可以在封闭状况下的自由实践。这好比
先建立几个特区,取得经验之后再向全国推广。

其实当初Kent把c3 team改造成敏捷不也是“休克疗法”吗? 未必不行。

写完了发现其实我也主张渐进式,只不过主张的改革切面不同罢了。
0 请登录后投票
   发表时间:2007-01-04  
OK。只要有好的case,就拿出来推广,农业学大寨嘛。这个切入点的问题就是一个很好的问题。希望有经验的朋友都可以说说自己的过往经验。成功了是如何成功的。失败了又为什么会失败。感觉现在论坛上对于敏捷的那些经典实践,理论什么的描述性,阐述性讨论已经很少了。现在已经是一个少谈主义,多谈问题的时代了。中国的敏捷软件开发的推广已经跨过了启蒙阶段,至少已经完成了精英阶层的启蒙阶段。接下来的探索,就需要在现有体制内进行创新,大胆地怀疑经典,创造性地发明适合实际问题的解决办法。
0 请登录后投票
   发表时间:2007-01-04  
我们什么时候能够摸着石头过河,走出中国自己的软件工程之道啊
0 请登录后投票
   发表时间:2007-01-05  
我想这其中还有每个人理解的敏捷方法不同和是否有效的问题。

0 请登录后投票
   发表时间:2007-01-08  
敏捷推广运动之一

首先寻找进步群众,将其发展入组织,培养骨干。
识别进步群众的方式,主要是听其言,观其书。

开发人员往往会把平日看的书籍,垒在办公桌边上。
通过观察这些书目,就知道其所奉行的阶级路线。

对于敏捷路线上的群众,无论是不是同team的,都要多加攀谈,联络感情。
对于非本路线的群众,不用多言,不要争论,辩论是说服不了别人的。
0 请登录后投票
   发表时间:2007-01-11  
中国的改革开放是成功的吗?
0 请登录后投票
   发表时间:2007-01-11  
chenxianlv 写道
中国的改革开放是成功的吗?

在我看来是的。。。
比N年前的社会矛盾小了很多(至少想分裂的人都怕了)
生产率提高不少(是大多数人无偿加班产生的。。)
0 请登录后投票
   发表时间:2007-01-12  
也可以说,需要一位总设计师。
而这位总师,必须找到正确的方向,并有极高的威望和强大的控制力,以贯彻自己的观念。

即便如此,也有可能会是失败的。就我个人而言,我认为我们的改革开放是成功的。这个成功是相对于不改革开放而言。如果从全球的竞争角度来考虑,有人也会认为是失败的。主要还是受累于国民的整体素质。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics