W3CHINA Blog首页    管理页面    写新日志    退出

Blue blue sky

[工作八卦]俺的敏捷开发不完全实践:结对编程篇 
小工头 发表于 2010/4/11 23:19:00

自从看过一本介绍敏捷开发的书之后,俺一直对书里描述的美好前景念念不忘:用了敏捷开发,效率高了,bug少了,开发时间可控了,开发变得轻松了, 上楼都有劲了……真的会这样吗?最近俺手上的项目较多,有三个新人可带,于是尝试着实践了一把。书里说了,敏捷开发是需要高度配合的工作方法,需要把所有的环节都做到位才能发挥真正的功效。说起这事,俺忍不住叹息:环顾四周,俺们这个小团队所处的环境基本不能满足 敏捷开发的要求。既没有相对封闭的场地,也没有适宜讨论的气氛。更麻烦的是,俺带新人属于名不正言不顺,领导随时可以出手干预。以俺对领导的了解,只要俺做出任何令他想到“小P想教老子招来的BB放光环?!”的事情,他老人家一定会冲出来厉声喝止。所以,俺实践敏捷开发,还得提防着领导。难哪!虽然困难重重,但俺还是开始了。俗话说,不以善小而不为,不怕慢只怕站,能做多少是多少,总好过啥也不做。 先从工作模式说起吧。领导带新人通常是这样:先做些边角料的小活熟悉一下,然后给新人分配一款产品做maintain。如果有新品开发的任务,就从做 maintain的人里提拔一个做开发,完事后同时负责两款产品的maintain。如果忙不过来就招人,把老产品分给新人继续maintain…… 俺把这种模式称为单品模式。单品模式的好处是责任划分十分明确,各款产品都有确定的对应人,所有的bug都能对应到相应的开发者。但是,单 品模式的缺陷也很明显。首先,除了领导之外,所有人都陷在maintain的泥潭里面。俺之前说过,maintain是很乏味的事情,少则一年,多则三年,必然甩手不干。这对于想留在公司有所发展的人是不利的,换言之就是留不住人。曾获领导赏识的几个精英BB先后离职,与此不无关系。其次,尽管产品名目繁多,但内在的代码框架其实是相同的。因此,大家各自掌握的代码存在高度的重复,只在某些细节有差异,这必然导致某种程度的混乱。实际上,俺们搞过几次代码整理,试图建立通用的代码树,但一直没成功过。鉴于单品模式的问题,俺尝试着使用了书中介绍的敏捷开发的基础方法:结对编程。结对编程就是两人同时处理编程的工作(貌似废话),其中一人负责编程,另一人负责“导航”,为编程者指出前进方向,纠正编程者的错误。简单地说,就是一人编程一人看。这不是一个容易被接受的做法。可以想象,假如俺真的如同结对编程的字面含义那样与某个新人并肩坐在一起,看着他编程,偶尔指点一下,领导一定会跳出来怒喝:“你们在干什么?!”在俺想来,看别人编程也是一件很枯燥乏味的事。俺看别人写代码很容易睡过去,而俺被别人看着编程的时候会觉得很不自在,忍不住想发飙。话说回来,编程者和导航者的概念倒是适合俺带新人的工作方式。在实践中,俺小小地变通了 一下:俺和三个新人分别结对,但并不如敏捷开发要求的那样并肩坐在一起(多么奇怪的要求!),而是三不五时去询问他们,并与他们共享代码,在自己的工位下载他们的代码,检查是否出错。这是一种双赢的做法。新人获得了难得的开发重要代码的机会,怀着珍惜的心情,工作十分努力。一旦编程发生偏差,俺能够及时介入,纠正他们的方向,解决他们遇到的问题。弯路走得少了,难题解决得又快,自然能够加快速度(事实上,开发进度的确比俺想象的略快一些)。对俺来说,俺可以把精力集中在预想到的新人难 以处理的那些部分,提前做一些开发和测试的工作,为他们提供帮助,也掌握了项目中技术含量较高的部分,同时还能有精力去对付项目管理提出的文档需求,让俺们的项目至少看起来是经过文档化运作的。 经过一段时间的尝试,俺的结论是:与单品模式相比,结对编程的确能够取得比较好的效果。进度的快慢暂且不提,结对编程能让两个以上的新人在同一段代码中有条不紊地并发编程,这是单品模式基本上做不到的。至于别的好处,私下里引用一句加菲猫的名言:“工作好有趣!尤其是我看着别人工作的时候。”嘿嘿……话说回来,结对编程的效果依赖于导航者主动查询和介入的频率。如果导航者犯懒或者脱岗,那就玩不转了。这就意味着导航者不得不经常放下自己正在处理的事去帮助别人,这个工作节奏对于编程来说是致命的。因此俺最近的代码输出量直线下降,经常被领导怒吼:“这星期你都干了啥?!”唉,苦啊!

阅读全文(5094) | 回复(5) | 编辑 | 精华

 


回复:俺的敏捷开发不完全实践:结对编程篇
Coral发表评论于2010/4/17 14:49:11

看来敏捷开发也是培养新人的好方法啊。。。

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

 


回复:俺的敏捷开发不完全实践:结对编程篇
〾堯仸〾发表评论于2010/4/16 22:46:16

俺一个月3w行代码的时候。领导说工作不是代码多少的事。俺一个月300行时。你这个月干什么了。领导。。呵呵

 


回复:俺的敏捷开发不完全实践:结对编程篇
破门发表评论于2010/4/16 10:31:44

这种尝试最好能先搞定领导。然后你可以光明正大、理所当然地说: “工作好有趣!尤其是我看着别人工作的时候。” 我超喜欢这句啊,嘿嘿

 


回复:俺的敏捷开发不完全实践:结对编程篇
真不准发表评论于2010/4/12 21:45:02

还是在于被看者的水平和主动性。

 


回复:俺的敏捷开发不完全实践:结对编程篇
跳芭蕾舞的猪(游客)发表评论于2010/4/12 2:05:13

无语,沙发。

 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

 
 



This is home

.: 公告

有人的地方就有恩怨

有恩怨的地方就是江湖

人在江湖漂,谁能不挨刀


Bloginess

«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31

.: 我的分类(专题)

首页(629)
杂项(69)
我喜欢过的声音(35)
耳机评测(18)
七天乐(127)
工作八卦(174)


In the Bowl

.: 最新日志

变化:俺的2012
迟来的总结,俺的2011
暂停更新:娶了媳妇不上网
一次坦诚的大会
妹子,妹子!
领导满月
当了领导能怎样
俺的播放列表
俺的重构总结
开会的故事

.: 最新回复

回复:迟来的总结,俺的2011
回复:暂停更新:娶了媳妇不上网
回复:暂停更新:娶了媳妇不上网
回复:小学生作文之记一次拔河比赛
回复:暂停更新:娶了媳妇不上网
回复:暂停更新:娶了媳妇不上网
回复:暂停更新:娶了媳妇不上网
回复:一次坦诚的大会
回复:一次坦诚的大会
回复:一次坦诚的大会


The Fishkeeper
blog名称:少年包工头的工作日记
日志总数:629
评论数量:1458
留言数量:56
访问次数:8967687
建立时间:2004年12月8日



Text Me

.: 留言板

签写新留言

你太客气了
工作是为了更好的生活。。。
飘过!
初烧耳机
路过留声
自动浇花
节日快乐
向您请教
HAHA
咨询下呵呵


Other Fish in the Sea

.: 链接



Lake JJ

真!鱼家MM

传说中的99

王小四的自留地

挣扎中的职场新人tintin同学




站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.063 second(s), page refreshed 144751267 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号