文章出處:51CMM 作者:不詳 翻譯:金峰華 發(fā)布時(shí)間:2006-02-05
1. Overview(概述)
In a peer review, co-workers of a person who created a software work product examine that product to identify defects and correct shortcomings. A review:
在同行評(píng)審中,由軟件工作產(chǎn)品創(chuàng)建者的同行們檢查該工作產(chǎn)品,識(shí)別產(chǎn)品的缺陷,改進(jìn)產(chǎn)品的不足。評(píng)審:
· verifies whether the work product correctly satisfies the specifications found in any predecessor work product, such as requirements or design documents
· 檢驗(yàn)工作產(chǎn)品是否正確的滿足了以往的工作產(chǎn)品中建立的規(guī)范,如需求或設(shè)計(jì)文檔
· identifies any deviation from standards, including issues that may affect maintainability of the software
· 識(shí)別工作產(chǎn)品相對(duì)于標(biāo)準(zhǔn)的偏差,包括可能影響軟件可維護(hù)性的問(wèn)題
· suggests improvement opportunities to the author
· 向創(chuàng)建者提出改進(jìn)建議
· promotes the exchange of techniques and education of the participants.
· 促進(jìn)參與者之間的技術(shù)交流和學(xué)習(xí)
All interim and final development work products are candidates for review, including:
所有中間和最終的開(kāi)發(fā)工作產(chǎn)品都可以進(jìn)行評(píng)審,包括:
· requirements specifications
· 需求規(guī)格說(shuō)明書
· user interface specifications and designs
· 用戶界面規(guī)范及設(shè)計(jì)
· architecture, high-level design, and detailed designs and models
· 架構(gòu),概要設(shè)計(jì),詳細(xì)設(shè)計(jì)及模型
· source code
· 源代碼
· test plans, designs, cases, and procedures
· 測(cè)試計(jì)劃,設(shè)計(jì),用例及步驟
· software development plans, including project management plan, configuration management plan, and quality assurance plan
· 軟件開(kāi)發(fā)計(jì)劃,包括項(xiàng)目管理計(jì)劃,配置管理計(jì)劃和質(zhì)量保證計(jì)劃
This document defines an overall peer review process. It includes procedures for conducting inspections and two types of informal peer review, a walkthrough and a passaround, as well as guidance for selecting the appropriate approach for each review.
該文檔定義了一個(gè)全面的同行評(píng)審過(guò)程。包括了執(zhí)行評(píng)審的步驟和兩種非正式的同行評(píng)審,走查和輪查,以及對(duì)每個(gè)評(píng)審選擇適當(dāng)方法的指南。
2. Work Aids(工作輔助項(xiàng))
The following peer review work aids are available from :
<場(chǎng)所>中,需要有如下的同行評(píng)審工作輔助項(xiàng):
· Inspection Summary Report
· 評(píng)審總結(jié)報(bào)告
· Issue Log
· 問(wèn)題日志
· Typo List
· 微錯(cuò)清單
· Inspection Moderator’s Checklist
· 評(píng)審負(fù)責(zé)人的檢查表
· Inspection Lessons Learned Questionnaire
· 評(píng)審經(jīng)驗(yàn)教訓(xùn)問(wèn)卷
· defect checklists for several types of software work products
· 各種軟件工作產(chǎn)品的缺陷檢查表
3. Risk Assessment Guidance(風(fēng)險(xiǎn)評(píng)估指南)
To judge which software components (or portions of components) to review and what type of review method to use, consider the following risk criteria:
在判斷哪些軟件組件(或組件的部分)需要評(píng)審及使用哪種評(píng)審方法的時(shí)候,需要考慮如下的風(fēng)險(xiǎn)條件:
· components that use new technology, techniques, or tools
· 使用了新技術(shù),方法,工具的組件
· key architectural components
· 關(guān)鍵的架構(gòu)性的組件
· complex logic or algorithms that are difficult to understand but must be accurate and optimized
· 難以理解,卻又必須準(zhǔn)確和優(yōu)化的復(fù)雜邏輯或算法
· mission-, security-, or safety-critical components with dangerous failure modes
· 具有危險(xiǎn)失敗模式的組件,而且是任務(wù)、可靠性、安全性關(guān)鍵的
· components having many exception conditions or failure modes
· 具有多個(gè)異常條件或失敗模式的組件
· exception handling code that cannot easily be tested
· 不易測(cè)試的異常處理代碼
· components that are intended to be reused
· 打算復(fù)用的組件
· components that will serve as models or templates for other components
· 將作為其他組件的模型或模板的組件
· components that affect multiple portions of the product
· 影響產(chǎn)品多個(gè)部分的組件
· complex user interfaces
· 復(fù)雜的用戶界面
· components created by less experienced developers
· 由缺乏經(jīng)驗(yàn)的開(kāi)發(fā)者創(chuàng)建的組件
· code modules having high cyclomatic complexity
· 具有高度圈復(fù)雜性的代碼模塊
· modules having a history of many defects or changes
· 以往具有很多缺陷或變更的模塊
Work products that fit in one or more of these categories are considered high risk. A product is considered low risk if an undetected error will not significant affect the project’s ability to meet its schedule, quality, cost, and feature objectives. Use inspections for high-risk work products, or the high-risk portions of large products, and for major work products that are about to be baselined. Less formal reviews are acceptable for other work products
符合這些條件中一種或幾種的工作產(chǎn)品被認(rèn)為是高風(fēng)險(xiǎn)的。如果未發(fā)現(xiàn)的缺陷對(duì)項(xiàng)目達(dá)成進(jìn)度,質(zhì)量,成本及特征目標(biāo)的能力沒(méi)有重大影響,則該工作產(chǎn)品被認(rèn)為是低風(fēng)險(xiǎn)的。評(píng)審只用于高風(fēng)險(xiǎn)的工作產(chǎn)品或大產(chǎn)品的高風(fēng)險(xiǎn)部分或?qū)⒁换€化的主要工作產(chǎn)品。對(duì)其他的工作產(chǎn)品可以進(jìn)行不太正式的評(píng)審。
4. Participants(參與者)
Table 1 suggests project roles who might review different work products. Not all of these perspectives need to be represented. In general, a work product should be reviewed by:
表1列出了評(píng)審不同工作產(chǎn)品的項(xiàng)目角色。不是所有這些角度都必須表現(xiàn)出來(lái)。通常,一項(xiàng)工作產(chǎn)品的評(píng)審需要有:
· the author of any predecessor document or specification
· 以往的文檔或規(guī)范的創(chuàng)建者
· someone who must base their subsequent work on the work product
· 以該工作產(chǎn)品為基礎(chǔ)進(jìn)行后續(xù)工作的人。
· peers of the author
· 創(chuàng)建者的同行們
· anyone responsible for a component to which the work product interfaces
· 使用該工作產(chǎn)品接口的組件的負(fù)責(zé)人
Attendance by anyone with supervisory authority over the author is by invitation of the author only.
對(duì)工作產(chǎn)品創(chuàng)建者具有監(jiān)督權(quán)力的人只能在創(chuàng)建者的邀請(qǐng)下參加評(píng)審。
Table 1. Review Participants for Different Types of Work Products.
表1. 各類工作產(chǎn)品的參評(píng)人
Work Product Type工作產(chǎn)品類型 Work Product Type工作產(chǎn)品類型
Architecture or High-Level Design架構(gòu)或概要設(shè)計(jì) architect, requirements analyst, designer, project manager, integration test engineer架構(gòu)師,需求分析師,設(shè)計(jì)師,項(xiàng)目經(jīng)理,集成測(cè)試工程師
Detail Design詳細(xì)設(shè)計(jì) designer, architect, programmer, integration test engineer設(shè)計(jì)師,架構(gòu)師,程序員,集成測(cè)試工程師
Process Documentation過(guò)程文檔 process improvement group leader, process improvement working group members, management-level process owner, practitioner representatives who will use the process過(guò)程改進(jìn)組負(fù)責(zé)人,過(guò)程改進(jìn)工作組成員,管理級(jí)的過(guò)程擁有者,使用過(guò)程的實(shí)踐者的代表
Project Plans項(xiàng)目計(jì)劃 project manager, program manager, business sponsor, marketing or sales representative, technical lead, quality assurance manager項(xiàng)目經(jīng)理,產(chǎn)品經(jīng)理,需求提出者,市場(chǎng)或銷售代表,技術(shù)負(fù)責(zé)人,質(zhì)量保證工程師
Requirements Specification需求規(guī)格說(shuō)明書 requirements analyst, project manager, architect, designer, system test engineer, quality assurance manager, user or marketing representative, documentation writer, subject matter expert, technical support representative需求分析師,項(xiàng)目經(jīng)理,架構(gòu)師,設(shè)計(jì)師,系統(tǒng)測(cè)試工程師,質(zhì)量保證經(jīng)理,用戶或市場(chǎng)代表,文檔編寫者,業(yè)務(wù)專家,技術(shù)支持代表
Source Code源代碼 programmer, designer, unit test engineer, maintainer, requirements analyst, coding standards expert程序員,設(shè)計(jì)師,單元測(cè)試工程師,維護(hù)者,需求分析師,編碼標(biāo)準(zhǔn)專家
System Technical Documentation系統(tǒng)技術(shù)文檔 author, project manager, maintainer, programmer創(chuàng)建者,項(xiàng)目經(jīng)理,維護(hù)者,程序員
Test Documentation測(cè)試文檔 test engineer, programmer (unit testing) or architect (integration testing) or requirements analyst (system testing), quality assurance representative測(cè)試工程師,程序員(單元測(cè)試)或架構(gòu)師(集成測(cè)試)或需求分析師(系統(tǒng)測(cè)試),質(zhì)量保證代表
User Interface Design用戶界面設(shè)計(jì) user interface designer, requirements analyst, user, application domain expert, usability or human factors expert, system test engineer用戶界面設(shè)計(jì)師,需求分析師,用戶,應(yīng)用領(lǐng)域?qū)<?,可用性或人體專家,系統(tǒng)測(cè)試工程師
User Manual用戶手冊(cè) ocumentation writer, requirements analyst, user or marketing representative, system test engineer, maintainer, designer, instructional designer, trainer, technical support representative文檔編寫者,需求分析師,用戶或市場(chǎng)代表,系統(tǒng)測(cè)試工程師,維護(hù)人員,設(shè)計(jì)師,用戶教育設(shè)計(jì)師,培訓(xùn)師,技術(shù)支持代表