리뷰
태그 :
- 개념
- - 코드를 포함하여 소프트웨어 개발 중간산출물을 검토하고 테스팅하는 방법으로, 결함 예방을 위한 핵심 테스팅 기법 - 초기에 리뷰를 통해 발견한 결함을 수정하는 비용이 나중에 동적 테스트를 통해 결함을 발견하여 수정하는 비용보다 낮음
1. SW산출물 검토를 통한 정적 테스팅 기법, Review의 개요
1) Review의 정의
- 코드를 포함하여 소프트웨어 개발 중간산출물을 검토하고 테스팅하는 방법으로, 결함 예방을 위한 핵심 테스팅 기법
- 초기에 리뷰를 통해 발견한 결함을 수정하는 비용이 나중에 동적 테스트를 통해 결함을 발견하여 수정하는 비용보다 낮음
2) Review를 통한 프로젝트 전략 (Review의 이점)
3) Review를 통해 발견하기 용이한 결함의 종류
- 표준의 위반
- 요구사항의 결함
- 개발 설계의 결함
- 불충분한 유지보수성
- 부정확한 인터페이스의 명세
2. 리뷰의 프로세스
1) 공식적인 리뷰의 절차
단 계 |
내용 |
목표/산출물 |
계획 활동 |
참가인원 선정 및 역할 할당, 시작 및 종료 기준 정의(공식적 리뷰), 리뷰 대상 선정 |
역할과 책임 대상물선정 |
시작 (Kick-off) |
문서배포, Review 목표 및 절차 설명, 시작 기준 점검 |
공유, 소통 |
개별 준비 |
미팅 전에 참석자 별로 사전 리뷰를 통해 잠재적인 결함이나 질문, 의견 기록 |
리뷰 준비, |
Review미팅 |
개별 준비 내용을 토의하고 결함 여부 결정 및 결과를 문서로 기록. 경험적, 전문가적, 문제점 체크 |
결과리스트 |
재작업 (Rework) |
발견된 결함을 대상 문서의 저자가 수정 |
결함 수정 |
후속 처리 확인 (Follow-up) |
발견된 결함이 조치(처리)되었는지 확인, 관련 측정치(메트릭)을 수집하고 리뷰 종료 기준을 점검. |
측정치 Metrics |
2) 공식적인 리뷰의 역할과 책임
역 할 |
책 임 |
관리자(Manager) |
리뷰의 실행 여부를 결정, 프로젝트 일정에 리뷰 시간을 할당, 리뷰의 목적 달성 여부 확인 및 승인 |
중재자(Moderator) |
리뷰를 리드하고, 리뷰 계획, 미팅 진행, 후속조치의 처리 여부를 추적 및 관리, 리더교육을 받아야 함 |
작성자(Author) |
리뷰 대상 문서의 저자 또는 책임자 |
검토자(Reviewer) |
리뷰 대상에서 인시던트(결함 포함)를 발견하고 기술. 검사자 또는 인스펙터라고도 불림. 다양한 관점과 역할을 대표하도록 선발 |
기록자(Scribe or Recorder) |
리뷰 미팅에서 발견되는 모든 이슈, 문제점, 미 해결점 등을 문서화 |
3. Review의 유형
유 형 |
특 징 |
목 적 |
비공식적 리뷰 (informal review) |
- 공식적인 절차가 없음. - Pair Programming이나 기술 리더가 설계와 코드를 리뷰 - 선택적으로 문서화 가능 - 리뷰하는 사람에 따라 성과가 좌우됨. |
저렴한 방법으로 일정 수준의 성과 달성 |
기술적 리뷰 (Technical review) |
-동료와 기술 전문가가 참여하는, 결함 발견을 위한 문서화되고 정의된 프로세스 존재 -관리자 개입이 없는 동료 검토 형태로 수행가능 -이상적으로는 작성자가 아닌 중재자(Moderator) 가 주도 -미팅전 사전 준비 단계 필요 -체크 리스트, 리뷰 리포트, 발견한 인시던트 리스트, 관리자 참여 활용(선택적) -검토자에 관계없이 일관되고 정량적인 효과 도출 가능 |
기술적 문제 해결, 토론, 의사결정, 대안 평가, 결함 발견, 명세서 또는 표준과의 적합성 검토 |
워크쓰루 (Walkthrough) |
-작성자(Author)에 의해 주도되는 미팅 -시나리오 사용, 예행 연습(dry runs), 동료 그룹 검토(Peer review) -시간 및 인원수 등에 제한이 없고 상황에 따라 변경할 수 있는(Open-ended) 세션 -미팅 전 준비과정 거침(선택적) |
학습, 시스템에 대한 이해향상, 결함 발견 |
인스펙션 (Inspection) |
-훈련된 중재자(modrator)에 의하여 주도 -주로 동료 검토 -역할 정의, 체크리스트와 규칙 기반의 정식 프로세스 존재 -미팅 전 준비과정 필요, 후속 처리 절차(Follow-up)프로세스 존재 -메트릭을 수집하고 활용하여 리뷰 프로세스 개선 활동 수행(선택적) |
결함 발견 |
-사업적 리스크가 높은 영역에서는 사용자와의 의사소통을 위해 Open-ended 세션인 워크쓰루가 효과
-제품의 기술적 리스크가 높은 영역에서는 기술적 문제 해결이 중요한 목적인 기술적 리뷰나 인스펙션이 적절
4. Review 의 Critical Success Factor
1) 수행하고자 하는 리뷰 대상 및 목적에 부합하는 리뷰 형식 선택
2) 리뷰 참여자들의 역할과 책임을 명확히
3) 리뷰 프로세스에 준하여 리뷰 진행
4) 모든 참여자가 기록을 습관화, 개별 준비를 성실하게 수행
5) 결함 발견을 환영하는 분위기를 조성하고 결함을 객관적으로 표현
6) 리뷰 수행과정에서 리뷰 효과성과 관련된 메트릭을 수집하여 리뷰 프로세스 개선
7) 리뷰 기법에 대한 교육 훈련 제공, 중재자(Moderator)는 별도 교육을 반드시 이수해야 함
8) 관리자가 적극적으로 리뷰 프로세스를 지원(예, 충분한 일정 할애)
5. 비교
구분 |
Management Review |
Technical Review |
Inspection |
Walkthrough |
목적 |
진행상태를 점검하고 시정조치 취함 |
명세서와 계획에 대한 적합성 평가 및 변경 무결성 보증 |
결함을 알고 해결책 검증 |
결함 발견하고 대안 시험, 학습수단으로 활용 |
추천규모 |
2명 이상 |
3명 이상 |
3~6명 |
2~7명 |
참석자 |
경영자, 분야별 관련자 |
개발자 |
문서화된 공식적인 참석대상자 |
개발자 |
리더쉽 |
선임관리자 |
선임 엔지니어 |
훈련된 중재가 |
개발자 본인 |
자료량 |
목적에 따라 많음 |
목적에 따라 많음 |
상대적으로 적음 |
상대적으로 적음 |
산출물 |
경영검토보고서 |
기술검토보고서 |
감사보고서와 결함목록 |
검토회보고서 |