最近很忙,一直在研究开发模式的改善,关注点有3个:Peer Review、代码评审和测试驱动。
关于Peer Review,中文不知道应该怎样翻译才贴切,一些人翻译作“同行评审”,一些翻译作“对等评审”,我现在姑且意译作“成员间相互检查代码”。Peer Review实际上在外国已经流行n久了,外国把它作为过程改进的一个关键步骤。
目的(灰色表示摘录):
§ 尽可能早的发现并确定软件产品中的缺陷。
§ 尽可能早的发现产品中应该改进和提高的部分,并及早实现。
§ 项目成员通过同行评审,可以更好的理解软件产品,防止部分错误的发生。
相关的文档请参看:
1、同行评审:http://www.bytewatch.com.cn/pro_intro/peer_review.htm
2、对等评审:http://www.8848software.com/cmmchina/whatiscmm/kpa_l3_pr.html
关于代码评审,中国很多公司早就有这个做法了。我今天跟金蝶的温少讨教过这个问题,他提出了不少好建议,先摘录如下:
你可以把项目组中的每个人的代码都抽取部分给其他人审查。最好有办法避免开发者把最好的代码提交评审。
代码评审的目的:
设计和开发评审的目的是由一组有资格的人员对软件设计和开发的输出进行评价,以判断确定设计和开发的输出能否实现软件产品预先定义的规格,同时通过评审标识出与规格和标准的偏差。它向管理部门提供充足的证据以证明
1)设计和开发的输出符合了其规格要求;
2)设计和开发的输出是否满足相关法律、法规以及企业标准的要求;
3)软件产品的更改得到了恰当地实施;
4)软件产品的更改只对那些规格发生了更改的系统区域有影响,没有引入新的问题。
相关的文档请参看:
http://www.chinauml.net/software_engineering/rjzl/20040429/151346.html
代码评审时应该有一依据,并根据这一依据进行评审,把评审结果详细记录下来,这就是代码评审报告。我在网络上搜索很久都没有这样的文档,于是就自己写了一个,并实际运用起来。
开发评审模版:https://files.cnblogs.com/unruledboy/DevAssessReport.rar
关于测试驱动开发,温少已经发表了一篇帖子:测试开发驱动实践 ,我看了之后有所收获,然后再向他讨教,获益良多。
关于改进所带来的(几幅有趣的漫画):
https://files.cnblogs.com/unruledboy/improve.zip