2008年7月,虽没奥运但有酷暑,仲夏梦舞确是贴切的很,还好老天爷没有把火玩的太过,气温还是让人能够接受的。
在犹豫了N天之后,还是决定去买北上的车票,这是我第二次去参加OpenParty,但由于某根筋不正常的工作,导致我背着十几斤的家当跑到了西直门,而偏偏路口西北方向确有一个商场,商场中确有麦当劳,才让我坚定的认为没有走错地方(此前问过同学,被告知上面的情况)--直到我等的不耐烦求助电话,才又多花两块钱杀向东直门。不过还好,开始前1分钟进的TW,只是没有吃到传说中的香蕉。
此次Party,跟以往一样,还是1分钟的站立会议介绍自己,然后是贡献Topic、投票,分会场,可惜乔兄的Cruise和钱兄、小刀的Scrum都被放在了第一个Session上,让我不得不捏着可乐痛苦的抉择…因为Cruise离我的距离还是相对比较近,所以Session开始后我杀向了“汉”。
这个Session上讲的东西,其实我早就在第三届敏捷中国大会上听过了,但此次却有不同的收获,因为会场的气氛更加自由,所以在彼此的交谈和讨论中了解到了很多同行目前的开发现状,让自己的思考更加有针对性。
Session中,有一个电信行业的同仁一直在询问如何在分离式开发环境中(及与客户有关的代码需要现场开发,且不能即时与主线代码同步)使用持续集成,乔兄也对此做了很详细的解答,但由于会场的主题和时间限制,很多持续集成之外的细节无法用一句两句来说清,我也仔细考虑了这个实际的问题,本想在Session结束后找这位仁兄来探讨一下,他却中途离开了。
作为一个CruiseControl的使用者,对Cruise的期待可谓是望眼欲穿,当然也有很多实际的问题和建议要提给设计者,还好乔兄作为主讲人不会中途就闪人,结果几乎被我全场包了下来…
从乔兄那里超近距离看到了Cruise,感觉到了它强大的小宇宙(-_-b圣斗士看多了),而且我也第一时间拿到了Cruise的时间表--它即将发布了!而且免费版并不限制功能。在此感谢乔兄的耐心讲解,感谢ThoughtWorks为我们提供如此好用的工具。
当然,工具毕竟是工具,思想和理念才是我们真正的动力,所以在此我也对那位中途离开的仁兄说一下自己的观点,希望有所帮助。
就像乔兄说的,持续集成是一种实践,并不是某种必须遵守的规定。而Cruise只是帮我们让这种实践更加便捷,更加高效。所以“Cruise能不能让我这样”之类的问题是没有答案的。说到分离式开发环境,我觉得它的问题与持续集成并不是在一个层面的,而是在开发实践中更接近配置管理的问题。对于这种代码分离的情况,我们可以使用分支来解决问题,那这个时候,问题就与持续集成无关了。对于总部的主线代码,维护产品的通用部分,我们使用一个持续集成环境来保证提交的代码质量;对于跑外的员工(即客户现场开发的代码),需要从主线中建立一个分支,用于客户专用代码的开发,此分支同样建立一个持续集成环境,只是这个环境存在于跑外员工的机器上。当分支的代码发生更改时,在满足支线持续集成成功的基础上,将对于主线代码的更改,合并到主线上,此次合并同样要保证主线的持续集成顺利完成。
总之,任何方法都是一种实践,而不是某个工具带来的强制规则(这也是我异常反感MS开发环境的一个重要原因),只有自己需要解决问题,才会去寻找工具来帮助你--甚至自己来写。
Cruise之外的几个Topic我都没有仔细听,因为Session可以通过录像回放,而那种气氛是会后无法再找到的。
此次Party期望值最高的是ozzzzzz老师的Scrum,但由于各种原因没有上,当然遗憾的同时也很幸运能够捉到他一起神侃,嗯,跟ozzzzzz聊天可是一种无法言表的享受啊。
本来也想给大家贡献一个DSL统一模型的Topic,但自己考虑之后认为那东西没有太大的实用价值,遂放弃并转为小范围交流,如各位有兴趣可发邮件告知索取。
Party去的MM们都很PP,贡献Session的GG们也很帅(当然除了某个胖胖的家伙之外,咔咔,有人直到在说谁),而如果下次有MM贡献Topic就更好了,强烈期待ing…
OpenParty,我越来越喜欢它了,交流让我主动去思考,共享让我知道的更多,所以回来的第一天我就不顾外面暴晒的阳光,穿上了活动赠送的黑色T恤(嗯,黑色)招摇过市,想让更多的人去了解它,参与它。
哈哈哈,你路盲呀。。。写得不错:)