调转代码所有权


原文: ShiftingToCodeOwnership        敏捷    2006年5月15日            Bliki 索引

在最近那篇 代码所有权的帖子中,我描述了一下对代码所有权问题的思考。在软件开发行业里,我有不少朋友都是极限编程实践者,他们都对集体代码所有权偏爱有加,但推行代码集体所有并不是绝对的,往往需要根据对局部具体情况的考量做出调整。我的一位同事发给我下面这个实例,我觉得是对我们何时需要做出权变的一个很好的提示——哪怕你是一位XP的忠实粉丝。(他喜欢匿名谈论他的团队。)

为了抵控几位训练不足的开发者的不规矩行为,我把我们的团队从集体代码所有权调转成了弱代码所有权。一些公正可靠的反馈表明,这个调转提升了开发速度,因为现在“拥有”核心代码的程序员无需再为那些不关键代码不断操心了,而原来在那些关键部分却做着非关键工作的程序员则可以转做bug追踪之类的低风险代码修改工作——这也反过来促进了其他人的工作。

另外一份净收益是在团队士气的提升上。以之前的做法,除了那些做非关键工作的程序员,其他人在每次提交他们的代码时都不得不提防着会不会被一些没及时发现的问题纠缠一番,迟早被弄得身心俱疲。调转之后,实际上是褒奖了那些具备认真对待代码质量、TDD、不存侥幸投机心理等优秀品质的程序员。

然而,我们还需要另外一些实践及策略方面的权衡:
  •     更频繁的结对拍档切换(我们实推的策略是:你仍然可以修改所有代码片断,但在那些别人比你自己更能“玩得转”的地方,你就需要跟他们结对,或者先把你的思路详细地告诉他们)。
  •     回归集体所有制的路线就是切换所有者。如果他们觉得你的代码没啥可挑剔的了,你就可以当仁不让地着手那里的任务了。
  •     要是事情还不见什么改善,那我们必须采取进一步措施。
这让我受益匪浅,因为我以前在这方面从没做过这么深入——我确实有点“拈轻怕重”。让我启用一项“督导式”实践方案来代替“授权式”实践方案真是勉为其难,然而事后着实获益良多。

这种局部调整策略是极限编程乃至所有敏捷方法的一条精华思想。我的同事们仍然偏爱代码集体所有,这是相同的,然而,世事往往不尽相同。
一、课程导语少人因各式各样原因,在读研时跨行生信或从事生信相关研究,其中少开端即自学。然漫漫自学路,迷茫困苦乃至萌生放弃做科研的念头。念此,决定在比较擅长的领域-病毒遗传进化方面做点尝试,开一门理论和实战演示并重的基础课。注:课程里数据分析演示,以病毒序列数据作为背景和例子。然大道共通,做其他生物遗传进化的同学也可以参考。 二、课程目标掌握常用的遗传进化分析方法和流程,包括序列下载和预处理、序列比对、基因突变分析、重组和重配分析、系统发育分析、基因选择压力分析、分化时间和进化速率估算、系统发生生物地理学分析(病毒时空动态分析)、蛋白质三级结构预测等。 三、适合人群(1)零基础,生物信息学入门;(2)有基础,需要提升的同学。 四、课程特色从算法原理到数据分析演示,知其所以然,避开数据分析黑箱子。思维导向,深入浅出式讲解,系统学习遗传进化相关知识。 五、课程安排【基础分析】专题一:病毒分类,序列下载,序列格式1. 病毒分类2. 病毒序列下载3. 序列格式解读4. 序列格式转换专题二:序列比对原理及应用1. 打分矩阵2. 序列比对策略3. 双序列比对4. 多序列比对专题三:基因突变分析、重组和重配分析1. 病毒基因突变分析2. 病毒重组和重配分析专题四:系统发育分析之理论基础篇1. 认识进化树2. 分子钟假说3. p距离与泊松校准4. 核苷酸进化模型深入剖析5. 几种建树方法原理详解专题五:系统发育分析之实战操作篇1. 建树流程2. 估算进化模型3. 系统发育树构建(NJ,ML,BI)4. 树的查看和美化专题六:系统发育分析进阶1. 系统发育信号检测2. 树拓扑结构比较3. 多基因联合建树【高级专题】专题七:基因选择压力分析1. 自然选择VS中性进化2. 枝长模型3. 位点模型4. 枝位点模型5. 进化枝模型6. PAML进行选择压力分析专题八:分化时间和进化速率估算1. 使用Beast估算分化时间和进化速率2. 使用Treetime估算分化时间和进化速率3. 使用LSD估算分化时间和平均进化速率专题九:系统发生生物地理学1. 谱系生物地理学介绍2. 贝叶斯随机搜索量(BSSVS)分析3. 结构化溯祖分析专题十:蛋白质三级结构预测1. 蛋白质三级结构介绍2. 蛋白质结构比对3. 三级结构预测方法4. 三级结构预测实践5. 三级结构质量评估6. 三级结构查看与作图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值