本文为项目管理者联盟联盟会员原创文章,授权发布,非经同意不得转载!项目管理者联盟
技术评审活动是不管是否实施敏捷项目管理都需要进行的一种活动,很多人从来没有搞清楚什么是技术评审,什么是管理评审。技术评审包括需求评审,设计评审,代码Review,测试用例评审等和项目直接结果相关的工程活动的评审。管理评审指的是敏捷项目管理的三个仪式:Sprint规划会,每日例会和Sprint评审会。传统项目管理中的项目立项评审、里程碑评审和验收评审也属于管理评审。简单的总结技术评审是针对软件工程活动的评审,其目的是通过缺陷预防提升软件的质量,管理评审是针对阶段活动是否可认定为结束下阶段如何开始,其目的是项目管理活动是否有效,交付的成果是否可接受。项目管理者联盟
如果借助敏捷项目管理的思想“交付可用的软件”,技术评审在敏捷活动中显得尤为重要,从评审的正式程度上划分,技术评审分为正式评审,技术审查和代码走查三种类型(参见表X-X)。正式评审通常是由项目经理主持,邀请项目的核心成员和外部有经验的专家参加,目的在于定位并消除软件中的缺陷。技术审查或称内部评审,通常由技术负责人召集相关人员参加,一般是在模块或功能完成时进行,目的在于通过对交付模块或功能的技术审查,提出改进意见。代码走查又称代码走读,由代码作者来组织,主要是代码质量分析和编程规则检查。一般是在模块或功能完成的早期进行,作者有一定的想法时,希望从其它开发者获得一些帮助或补充。由作者主持,目的是进行缺陷预防提高代码的质量,很多公司已经成功的实施了Code Review和结对编程。 项目管理者联盟
表X-X评审的正式程度
总结第一轮实施敏捷的试点项目,并没有要求实施代码走查活动,项目负责人和开发人员也没有意识进行Code Review。要么是找借口说进度太紧张时间不够用,要么是不知道如何进行代码走查。第一种纯粹是意识问题,如果回答不知道怎么进行代码走查的问题则从代码走查的种类开始着手。代码走查分为两种,一种是交叉代码审查,自己的代码由他人来检查,就象检查作业一样;另一种是代码会审,就是以会议的形式,大家共同审核代码的质量。代码走查主要审查的内容包括:是否符合代码规范,确保所有人写的代码基本一致并符合代码规范;代码满足基本的用户故事的要求,检查代码的逻辑实现,确认能实现用户故事;代码满足性能等非功能性需求,非功能性需求一般需要借助一定的工具和Code Review人员的能力,针对编码中对于性能影响的瓶颈给出解决方案;代码简化,提高代码可读性,能够用公用的方法和公用API实现则无需每人定义自己的实现代码。项目管理者联盟
随便抽出某开发人员的1000行代码检查的结果是:代码注释不充分,很多实现逻辑的类和方法没有注释;有些代码性能差,频繁的读写磁盘IO;有些代码虽然实现了功能需求,但从逻辑上写的太死,不便于扩展;在约定使用统一代码的写日志功能代码作者定义了自己的代码来实现。看来为了提高质量代码走查是实施敏捷项目管理一定要执行的工作。项目管理者联盟 项目管理者联盟
本文为项目管理者联盟联盟会员原创文章,授权发布,非经同意不得转载!
|