仪器信息网APP
选仪器、听讲座、看资讯

【分享】评审的概念、形式、作用和目的及其必要性!

  • 迷失的精灵
    2008/11/15
  • 私聊

管理体系认证

  • 评审的概念
    广义的评审概念包括走查、检查、正规检视、评审、评阅、审计、评估、结对编程、同级桌查、轮查及临时评审等,有时会出现同一个英语词汇翻译的不同。主要常用的概念如下。

    ① 走查(Walkthrough):快速扫读。

    ② 检查(Inspection):按照CheckList检查错误,也称为“正规检视”。

    ③ 评审或复审(Review):正式的研讨会。

    ④ 审计(Audit):审查预算、财务状况。

    ⑤ 评阅:是一种文档检查形式,指检查人员各自检查并提出修改意见。但不做是否放行通过的评判,相当于“初审”。这个概念是用来与评审做一个区隔,这里的“评审”具有审批的责任,“评审者”相当于联合国常任理事国,具有否决权。而“评阅者”相当于联合国非常任理事国,可以提出自己的意见和建议,但不必说明文档是否批准通过。

    评审是由项目阶段成果的作者以外的其他人来检查工作成果,发现问题,提出意见和建议,以达到改进质量的目的。本文以下所说的评审为“广义评审”指软件项目中评审的总体活动,而不具体考虑如何进行这些评审。另外,这里的评审不涉及审计、评估等含义。
  • 该帖子已被版主-沙漠兄加1积分,加2经验;加分理由:谢谢分享!
    +关注 私聊
  • 迷失的精灵

    第1楼2008/11/15

    评审的形式
    1.人

    如果就参加评审的人员而论,有以下几类评审形式。

    ① 同行评审(Peer Review):也翻译为“同伴评审”或“同级评审”或“对等审查”等。由软件开发文档的编写者的同事对软件文档进行系统的检查,以发现错误和检查修改过的区域,并提供改进的建议。

    ② 独立评审:安排一些人对成果进行个别检查,以单独完成对成果的评审,评审人员相互之间暂时不进行讨论。

    ③ 组内评审:项目团队内部组织的对成果的评审。

    ④ 相关项目成员评审:相关项目成员可以分为横向和纵向两类,所谓横向,指与本项目同时进行的项目的成员;所谓纵向,指历史上已经开发与这个系统有关的软件系统项目的成员。在必要时,也可以请规划中即将建设的软件项目的成员参加。横向和纵向可以是针对同一个用户而言,主要是为了在客户的业务上进行统一的规划设计,如统一的用户账号管理及统一的用户信息代码管理等;也可以是针对公司内部而言,这主要是在软件的技术和设计风格上进行统一的规划。以充分利用软件复用技术来提高效率和易维护性,充分考虑各系统之间的接口、兼容性和界面一致性。

    ⑤ 企业内评审:也可以称为“项目组外评审”,是企业内部抽调必要的力量进行组织的,有条件时也可请用户参与。相关项目成员评审是企业内评审的一种特例。

    ⑥ 邀请专家评审:在特殊情况下或为了特殊的目的,管理层或用户邀请专家对阶段成果进行评审。这些专家可以是软件技术方面的专家,也可以是与客户业务密切相关的行业业务专家,如国家某个行业信息规划人员和行业标准制定人员等。

    ⑦ 用户评审:以用户为主的评审,一般是把文档交给用户检查,或以用户为首组织的评审会议。一般情况下,每份需求文档都要经过数次的用户评审,尽可能地得到最终的确认。而设计文档则视情况而定,一般较少进行用户评审。

    ⑧ 第三方评审:用户委托第三方机构进行评审,如监理机构、检测机构和专家验收组等对需求设计文档或其他工作成果进行评审。

    2.对象

    如果就评审的对象完整性而论,有以下几类评审形式。

    ① 整体评审:在文档整体完成后,对需求或设计文档的整体进行评审。当文档比较大而难以进行整体评审时,可分而治之,分多次进行“部分评审”。

    ② 物理部分评审:不同评审人员对某一成果的某些物理部分内容进行评审,如按照文档章节、功能划分或模块划分等。

    ③ 逻辑部分评审:分阶段检查某一成果是否具有某个所期望的特性,或不同评审人员对某一成果的某些特性(如可读性或可维护性)要求进行评审。

    ④ 迭代评审:迭代开发模式中分阶段对部分内容进行评审,每一部分评审通过后即可作为下一阶段相关部分工作的基础,每一次迭代都包括需求、分析、设计、实现和测试活动。同时每次迭代都建立在前一次迭代工作的基础上,每次迭代都会生成更加接近最终产品的可执行版本。

    ⑤ 回归评审:原来的评审发现问题需要整改并再次进行的评审,以检查问题是否已经得到修改,同时检查是否出现新的问题。

    3.环境

    就评审的环境或使用的工具而论,有以下几类评审形式。

    ① 临时检查:在需要的情况下临时检查文档、评审人员与作者随时对文档中的问题进行讨论。这是评审中最不正式的一种,可以快速听取评审人员的意见。主要为了解决当前的某个特定问题,或对某个特定问题进行确认。临时检查也翻译为“专案评审”(ad hoc)或“随时评审”,可以及时沟通,及时发现问题。但要注意适度,在必要时进行。

    ② 工具评审:通过安装在网络环境上的管理工具软件将项目阶段成果提交给评审人员阅读,评审人员利用工具阅读文档后填写意见(如Domino.Doc)。

    ③ 邮件评审:通过邮件将项目阶段成果发给相关人员进行评审,评审人员通过邮件反馈意见。

    ④ 会议评审:相关人员集中在一起开会对项目阶段成果进行评审,这是最常用的形式。所以当提到“评审”时,很多人就会自然地联想到开会。

    ⑤ 远程会议评审:不仅在主会场进行评审,而且通过视频及音频与外地的评审人员进行实时在线沟通。这是会议评审的一种特殊形式,可以突破空间的限制,对于项目团队成员或评审人员有出差在外的项目是一个比较经济的形式。

    4.效力

    ① 正式评审:得出是否批准通过的正式结论。

    ② 非正式评审:不具否决权的“评审”,也可以称为“评阅”,主要是为了讨论,收集意见和建议,不做是否批准通过的结论。

    正式评审或非正式评审都可以通过会议、邮件及工具的各种形式,也可以是整体评审、部分评审或迭代评审。当然正式评审最好是整体文档完成后的评审,批准主要是针对整个文档的,但迭代开发的例外。

    ③ 观摩培训式评审:一般是一种会议形式,主要是为了培养新人。在评审会议召开时,可安排一些不同角色新人来旁听。他们不对评审的工作负责,而是以学习评审技术,体验评审工作为目的。

0
    +关注 私聊
  • 迷失的精灵

    第2楼2008/11/15

    评审的作用和目的
    在团队开发中,充分的沟通是非常有必要的,沟通的方式之一就是通过文档。不论评审的效果如何,发现多少问题都可以让相关人员了解需求与设计。而通过相互之间的讨论,澄清一些模糊的认识,进一步理解文档的含义。评审不但是软件开发活动中一个重要的质量控制机制,而且也是一个重要而有效的沟通方式。通过评审可以利用企业内部各种优秀成员的智慧,为软件开发寻找最佳的解决方案。

    评审的作用和目的主要是尽早发现潜在的问题,尽早纠正缺陷,控制纠正成本的滚雪球效应。本阶段造成的错误如果能够及时地发现,或者在后面越早的阶段发现,就能够及早发现潜在的风险,及时做好防范的对策,做到未雨绸缪。

    评审的过程不仅是为了发现问题,而且为了便于跟踪及改正,还应当对问题进行记录。特别是需要对问题的真实性进行确认,剔除可能是误解、似是而非或不必采纳的建议性问题。正如著名软件大师Gerald M Weinberg在《你的灯亮着吗?》所说:“一旦我们知道问题是什么,那么该问题的解答或解决对问题本身来说就是一件微不足道的事情。”确实,人们经常会把一些表面的现象当成问题,而不知道根本的问题是什么?不知道真正的问题出在哪里?这样解决问题时就很有可能头痛医头,脚痛医脚。

    具体来说,评审最直接的作用和目的当然是要改进需求与设计文档本身,为下一阶段工作提供正确的基础,并通过评审的过程提高相关人员的总体分析设计及文档写作水平。当然,写需求或设计等技术文档,并不等于会“做”需求分析和设计。因此有些刚参加工作的新手急于找一些模板或样例照葫芦画瓢,把文档完成就说“我会做分析”、“我会做设计”,其实只是刚起步而已。而评审不仅能够看出文档本身的问题和水平,也可以看出分析设计的过程和水平。

    评审的作用和目的还在于强化开发人员的责任感,这是基于“把关效应”。即分配工作任务时,是否事先声明设置检查点,直接关系到工作任务完成的质量和效率。日本软件开发企业非常重视用验证与确认来强化开发人员的责任感。

    丰富行业业务经验和评审经验并改进评审流程,使项目进度安排更加合理也可以作为评审的作用和目的。

    当然,评审的最终目的无疑是提高软件质量,减少各种无形损失。

0
    +关注 私聊
  • 迷失的精灵

    第3楼2008/11/15

    评审的必要性
    软件阶段评审是软件质量管理中较重要的措施之一,做得好可以及时有效地发现一些错误。对于评审的必要性相信读者都有一定的认识,但是认识未必是一致的,这里列举一个社会新闻中的典型事例来说明。

    前一阵子在电视上有一条新闻,为了防止长途客车上的抢劫与盗窃,有关单位在福州开往漳州的大巴上安装了摄像头监控装置。记者为此采访了一些乘客,大部分的乘客都表示这是一个防抢防盗的有力措施,必将有效控制日益猖獗的车上抢劫与盗窃行为。然而也有少数乘客提出了反对意见,他们认为小偷只是少数,安装摄像头监控让他们的个人隐私暴露无遗。有时想和女友亲热一下都要被人监视,没有必要为少数犯罪分子来侵犯大家的隐私权。

    由以上事例可见,对于某些问题的防范措施的出台的必要性并不是大家都有共识,而是会有各种不同的声音。对一件事情有不同的声音是正常的,我们也没有必要以对错来评判,每一种意见都要考虑才能更好地做到适度管理。

    在质量管理方面,每次出台一项措施也会有不同的声音。这些措施包括检查、评审、测试和验收等,必然会给辛勤劳动的一线人员带来一些不便,给公司增加预防成本。但采取必要措施而增加适当的预防成本还是很有必要的,只是要遵守适度控制和具体问题具体分析的原则。当然质量管理不是监视,更不是对付坏人,而是针对工作中可能发生的错误。

    为了进一步说明评审的必要性,我们引述美国著名的认知心理学家诺曼(Donald A. Norman)先生在其《设计心理学》中的一段精辟的论述:“每一项新技术问世时,新一代的设计人员总会重蹈覆辙。从过去的错误中吸取经验教训不是技术人员的专长。他们总是展望未来,而不愿回顾历史,因此重复出现同样的错误。”(这个观点是不是有点打击技术人员,不知读者是否认同他的观点?技术人员可要争口气!)

    中国人说:“人非圣贤,孰能无过。神仙打鼓,也会出错”。老外说:“It’s a human error!”。所以人都可能有错,而且有些错误较容易逃过自己的眼睛。特别是有些人,比较容易看到别人的错误,却难以看到自己身上的错误。其原因不外乎思维定势(即思维习惯和心智模式等)、学识局限(没有谁是万能的),以及无意疏忽(老虎也有打盹时)。

    Karl E.Wiegers在《软件同级评审》中说:“如果你没有时间采用同级评审来提高产品质量,则将需要更多的时间去纠正测试人员或客户发现的缺陷。……评审的最主要障碍来自开发人员没有意识到他们已经犯了多少错误,因此他们也看不到查找或减少错误的必要性。”

    所以为了有效地提高软件质量,我们很有必要用他人的眼睛来审视自己。邀请不同背景的评审人员从不同的角度检查,弥补个人的不足,及时发现并解决自己发现不了的错误,即使是两次发现同一个错误总比把它漏掉好。需求与设计评审就是在进行下一步工作之前“互相用他人的眼睛来审视自己”,必然会提高项目的成本。而这种成本是质量成本的一部分——预防成本,其目的是减少失败成本(包括返工、维护、变更、重新测试、满意度下降、形象损坏,以及顾客流失造成的损失)。

0
猜你喜欢最新推荐热门推荐更多推荐
举报帖子

执行举报

点赞用户
好友列表
加载中...
正在为您切换请稍后...