본문 바로가기

1. QA/1.1 Syllabus

3.2 Review process (리뷰 프로세스)

Terms

Entry criteria, formal review, informal review, inspection, metric, moderator/inspection leader, peer review, reviewer, scribe, technical review, walrthrough.


Background

The different types of reviews vary from information (e.g. no written instructions for reviewers) to very formal (i.e. well structured and regulated).


3.2.1 Phases of a formal review

A typical formal review has the following main phases:


1.     Planning: selecting the personnel, allocating roles; defining the entry and exit criteria for more formal review types (e.g. inspection); and selecting which parts of documents to look at.

2.     Kick-off: distributing documents; explaining the objectives, process and documents to the participants; and checking entry criteria (for more formal review types).

3.     Individual preparation: work done by each of the participants on their own before the review meeting, nothing potential defects, questions and comments.

4.     Review meeting: discussion or logging, with documented results or minutes (for more formal review types). The meeting participants may simply note defects, make recommendation for handling the defects, or make decisions about the defects.

5.     Rework: fixing defects found, typically done by the author.

6.     Follow-up: checking that defects have been addressed, gathering metrics and checking on exit criteria (for more formal review types).


3.2.2 Roles and responsibilities

A typical formal review will include the roles below:

- manager: decides on the execution of reviews, allocates time in project schedules and determines if the review objectives have been met.

- Moderator: the person who leads the review of the document or set of documents, including planning the review, running the meeting, and follow-up after the meeting, if necessary, the moderator may mediate between the various points of view and is often the person upon whom the success of the review rests.

- Author: the writer or person with chief responsibility for the documents(s) to be reviewed.

- Reviewers: individuals with a specific technical or business background (also called checkers or inspectors) who, after the necessary preparation, identify and describe findings (e.g. defects) in the product under review. Reviewers should be chosen to represent different perspectives and roles in the review process and should take part in any review meetings.

- scribe (or recorder): documents all the issues, problems and open points that were identified during the meeting.

 

Looking at documents from different perspectives and using checklists can make reviews more effective and efficient, for example, a checklist based on perspectives such as user, maintainer, tester or operations, or a checklist of typical requirements problems.


3.2.2 Roles and responsibilities

A typical formal review will include the roles below:

-       Manager: decides on the execution of reviews, allocates time in project schedules and determines if the review objectives have been met.

-       Moderator: the person who leads the review of the document or set of documents, including planning the review, running the meeting, and follow-up after the meeting. If necessary, the moderator may medicate between the various points of view and is often the person upon whom the success of the review rests.

-       Author: the writer or person with chief responsibility for the document(s) to be reviewed.

-       Reviewers: individuals with a specific technical or business background (also called checker or inspectors) who, after the necessary preparation, identify and describe findings (e.g. defects) in the product under review Reviewers should be chosen to represent different perspectives and roles in the review process and should take part in any review meetings.

-       Scribe (or recorder): document all the issues, problems and open points that were identified during the meeting.

Looking at documents from different perspectives and using checklists can make reviews more effective and efficient, for example, a checklist based on perspectives such as user, maintainer, tester or operations, or a checklist of typical requirements problems.


3.2.3 Types of review

A single document may be the subject of more than one review. if more than one type of review is used, the order may vary. For example, an informal review may be carried out before a technical review, or an inspection may be carried out on a requirements specification before a walkthrough with customers. The main characteristics, options and purposes of common review types are: 


Informal review 

Key characteristics:

-      no formal process;

-      there may be pair programming or a technical lead reviewing designs and code;

-      optionally may be documented;

-      may vary in usefulness on the reviewer;

-      main purpose: inexpensive way to get some benefit.


Walkthrough

Key characteristics:

-      meeting led by author;

-      scenarios, dry runs, peer group;

-      open-ended sessions;

-      optionally a pre-meeting preparation of reviewers, review report, list of findings and scribe (who is not the author);

-      may vary in practice from quite informal to very formal;

-      main purpose: learning, gaining understanding, defect finding.


Technical review

Key characteristics:

-      documented, defined defect-detection process that includes peers and technical experts;

-      may be performed as a peer review without management participation;

-      ideally led by trained moderator (not the author);

-      pre-meeting preparation;

-      optionally the use of checklists, review report, list of findings and management participation;

-      may vary in practice from quite informal to very formal;

-      main purposes: discuess, make decisions, evaluate alternatives, find defects, solve technical problems and check conformance to specifications and         standards. 


inspection

Key characteristics:

-      led by trained moderator (not the author);

-      usually peer examination;

-      defined roles;

-      includes metrics;

-      formal process based on rules and checklists with entry and exit chiteria;

-      pre-meeting preparation;

-      inspection report, list of indings;

-      formal follow-up process;

-      optionally, process improvement and leader;

-      main purpose: find defects.


Walkthroughts, technical reviews and inspections can be performed within a peer group - colleagues at the same organizational level. This type of review is called a "peer review".


3.2.3 Success factors for reviews 

Success factors for reviews include:

-    Each review has a clear predefined objective.

-    The right people for the review objectives are involved.

-    Defects found are welcomed, and expressed objectively.

-    People issues and psychological aspects are dealt  with (e.g. making it a positive experience for the author).

-    Review techniques are applied that are suitable to the type and level of software work products and reviewers.

-     Checklists or roles are used if appropriate to increases effectiveness of defect identification.

-    training is given in review techniques, especially the more formal techniques, such as inspection.

-    management supports a good review process (e.g. by incorporating adequate time for review activities in projecct schedules).

-  There is an emphasis on learning and process improvement.




리뷰는 잘 구조화되고 규정된 지극히 공식적인 것부터 매우 비공식적인 것까지 다양한 형태를 갖는다. 리뷰 프로세스를 어느 정도까지 공식적/비공식적으로 가져갈지에 대한 형식상의 정도는 개발 프로세스의 성숙도, 법적 또는 규제적 요구사항(Legal or regulatory requirements) 또는 감사에 대한 필요성(Need for an audit trail)과 관련이 있다.

 

리뷰 방식은 리뷰를 통해 달성하고자 하는 합의 된 목적에 맞는 형태를 취하게 된다. (, 결함 발견, 이해도 증진, 합의에 의한 결정과 이에 도달하기 위한 토론)

 

3.2.1 공식적 리뷰의 단계

일반적으로 공식적 리뷰의 절차는 아래와 같다.

 

1.     계획 활동 : 참가인원을 선정하고 역할을 할당한다. 보다 공식적인 리뷰에서는 시작 및 종료 기준(Entry and exit criteria)을 정의한다. (, 인스펙션) 어떤 부분의 문서 및 코드를 리뷰 할 것인지 정한다.

2.     시작(Kick-off) : 문서를 배포한다. 리뷰의 목표, 절차 및 문서를 참석자에게 설명한다. 시작 기준을 점검한다.

3.     개별 준비 : 미팅 전에 참석자별로 사전 리뷰 활동을 통해 잠재적인 결함이나 회의에서 제기할 질문과 의견(Comment)를 기록한다.

4.     리뷰 미팅 : 토의하고 이에 대한 결과를 문서로 기록한다. 상세 회의록(minutes)를 작성한다. 미팅 참석자들은 간단하게 결함을 기록하고, 결함 처리 방안을 제안하고, 결함 여부에 대해서 결정을 내린다.

5.     재 작업(Rework) : 발견된 결함을 대상 문서의 작성자가 수정한다.

6.     후속 처리 확인(Follow-up) : 발견된 결함이 조치(처리)되었는지를 확인하고, 관련 측정치(metric)을 수집하고 리뷰 종료 기준을 점검한다.


3.2.2 역할과 책임

일반적으로 공식적 리뷰는 다음과 같은 역활을 포함한다.

 

-    관리자(Manager): 리뷰의 실행 여부를 결정하고, 프로젝트 일정에 리뷰 시간을 할당하고, 리뷰 목적의 달성 여부를 확인하고 승인한다.

-    리더(Moderator): 문서의 리뷰를 리드한다. 리뷰를 계획하고, 미팅을 진행하고, 미팅 후속 조치의 처리 여부 등을 추적하고 관리하는 것을 포함한다. 그리고, 필요하다면 참석자들의 다양한 관점을 중재하며, 많은 경우 리뷰의 성패를 좌우한다. 공식적인 리뷰 또는 인스펙션에서 리더는 중재자 또는 지도자로서의 자질을 갖춘 사람 중에서 선발하여 반드시 리뷰 리더 교육을 받아야 한다.

-    작성자(Author): 리뷰 대상 문서(산출물)의 저자 또는 책임자이다.

-    검토자(Reviewer): 해당 분야의 기술적 또는 비지니스 배경을 갖춘 자들로, 필요한 준비 단계를 거친 후, 리뷰 대상에서 결함을 발견하고 기술하는 사람이다. (검토자는 검사자 또는 인스펙터 라고도 불림). 검토자는 리뷰 프로세스에서 다양한 관점과 역할을 대표하도록 선정되어야 하고, 특정 리뷰 미팅에 제한적으로 참여하기보다는 모든 형태의 리뷰 미팅에 참석하여 리뷰 활동을 수행해야 한다.

-    기록자(Scribe or recorder): 리뷰 미팅에서 발견 된 모든 이슈, 문제점, 해결점 등을 문서화 한다.


다른 관점에서 문서를 살펴보는 것과 체크리스트를 이용하는 것은 리뷰를 좀 더 효과적이고 효율적이게 한다. 예를 들면, 사용자, 유지보수자, 테스터, 시스템 운영자 측면의 체크리스트나 전형적인 요구사항의 문제점을 확인하는 체크리스트는 다양한 관점을 리스트 형태로 반영하여 리뷰가 보다 효과적/효율적이 되도록 지원한다.


3.2.3 리뷰의 형식

하나의 문서는 여러 형태로 리뷰 될 수 있는데, 만약 여기서 한가지 이상의 리뷰 방식이 사용된다면 리뷰의 순서는 다양할 수 있다. 예를 들어, 비공식 리뷰는 기술적 리뷰 이전에 수행될 수 있고, 인스펙션은 고객과의 워크 쓰루(Walkthrough) 이전에 요구사항 명세를 가지고 실행 될 수 있다. 일반적인 리뷰 형식의 주요 특징과 목적은 아래와 같다.


비공식적 리뷰

주요 특징 : 

-    공식적인 절차가 없음

-    '이인일조'(Pair) 프로그래밍에 의한 리뷰 이거나 기술 선임자가 설계와 코드를 리뷰하는 것일 수 있음.

-    선택적으로 문서화 될 수 있음.

-    리뷰하는 사람에 따라 성과가 좌우됨.

-    주요 목적 : 저렴한 방법으로 일정 성과 달성

워크 쓰루

주요 특징 : 

-    작성자에 의한 진행 및 제어

-    성격 : 시나리오 사용, 에행 연습(dry run), 동료 그룹 검토

-    시간 및 인원 수 등에 제한이 없고 상황에 따라 변경할 수 있는(Open-ended) 세션

-    (선택적) 미팅 전 준비 과정 거침. 예를 들어 미팅 전에 검토자를 지정하고, 리뷰 리포트를 준비하고, 발견한 인시던트 리스트를 준비하고, 기록자를 지정함

-    실무에서는 비공식적일 수 있고 반대로 공식적일 수도 있음

-    주요 목적 : 학습, 시스템에 대한 이해 향상, 결함 발견

기술적 리뷰

주요 특징 : 

-    동료와 기술 전문가가 참여하면 결함 발견을 위한 문서화되고 정의된 절차가 존재함
관리적 개입(Management participation) 없는 동료 검토로 수행할 수 있음

-    이상적으로는 리더(Moderator)가 미팅을 주도함(작성자가 아님)

-    미팅전 사전 준비 단계 필요

-    선택적으로 체크리스트이 사용, 리뷰 리포트, 발겨한 인시던트 리스트, 경영층 참여 활용

-    실무에서는 비공식적일 수 있고, 반대로 공식적일 수도 있음

-    주요 목적 : 토론, 의사결정, 대안 평가, 결함 발견, 길술적 문제 해결, 명세서 또는 표준과의 적합성 검토

인스펙션

주요 특징 : 

-    훈련된 리더(Moderator)에 의한 진행 및 제어 (작성자가 아님)

-    주로 동료 검사

-    역활의 정의되어 있음

-    메트릭을 수집하고 활용함

-    시작과 종료 조건을 갖는 체크리스트와 규칙을 기반으로 하는 정식 프로세스 존재

-    미팅 전 준비 과정 필요

-    인스펙션 리포트와 발견사항(인시던트) 리스트 산출

-    정식적인 후속 처리 확인 (Follow-up) 프로세스 존재

-    선택적으로 리뷰 프로세스 개선 활동 수행

-    주요 목적 : 결함 발견

워크 쓰루, 기술적 리뷰, 그리고 인스펙션 같은 조직 레벨에서 동등한 그룹 동등한 그룹 동료들 사이에서 수행될 수 있다. 이러한 종류의 리뷰를 "동료 검토(peer review)"라고 함


3.2.3 리뷰의 성공 요소

리뷰의 성공 요소

-    각각의 리뷰가 명확하게 기 정의된 목적이 있어야 함

-    리뷰 목적에 적합한 인력이 선택되어야 함

-    결함 발견은 언제나 환영하는 분위기이고 결함은 객관적으로 표현되어야 함

-    사람 관련 이슈 (People Issue)와 심리적인 측면이 고려되어야 함. (예, 작성자가 리뷰를 통해 긍정적인 경험을 하도록 한다.)

-    효과적이고 효율적인 결함 발견을 위해 필요시 체크리스트 및 역할 분담 활용

-    리뷰 기법이 소프트웨어 중간 산출물과 리뷰어의 유형과 레벨에 맞게 적절하게 적용된다.

-    리뷰 기법에 대한 교육 훈련 제공. 특히, 인스펙션과 같이 보다 공식적인 기법에 대해서는 교육 훈련 제공이 필수적임.

-    경영층이 적극적으로 리뷰 프로세스를 지원해야 함. (예, 프로젝트에서 리뷰 기법 적용에 충분한 일정 할애)

-    학습과 프로세스 개선에 대한 강조