設計書レビューの種類を理解しよう

前回の勉強内容

ponsuke-tarou.hatenablog.com

レビューの種類についての過去問

作業成果物の作成者以外の参加者がモデレータとして主導すること,及び公式な記録,分析を行うことが特徴のレビュー技法はどれか。

ア. インスペクション > 正解
イ. パスアラウンド
ウ. ウォークスルー
エ. ペアプログラミング
平成24年春期問47 レビュー技法|応用情報技術者試験.com

インスペクションは、公式性の高いプロセスやルール・役割分担が決まっているレビュー技法です。

  • 英語 : inspection
  • 英和:精査,点検,検査; (書類の)閲覧. (ɪnspékʃən )
  • 別名 : ソフトウェアインスペクション

目的は欠陥を発見すること
以下のことを行う
a) 仕様を満たしていることの検証
b) 既定の品質を満たしていることの検証
c) 適切な規則・標準・ガイドライン・計画・仕様・やり方に従っていることの検証
d) a)-c)の結果が逸脱していないことの確認
e) Collects software engineering data (for example, anomaly and effort data)
f) 集めたsoftware engineering dataをチェックリストや検証の材料に使う
g) 発見した欠陥の修正をする
h) プロジェクト管理において適切な決定ができるようにインスペクションの結果を使えるよ う 記録 す る
IEEE 1028 Software Review and Audit

目的は、欠陥を発見すること。
他のレビューとは以下が違う
1. プロジェクトや企業の決まりに従う
2. 対象はサンプリングする
3. モデレータが管理を行う
4. インスペクションのノウハウがあるモデレータが先導する
5. インスペクションチームのメンバーが気付いた欠陥や他の意見についてモデレータ指揮の元話し合う
SWEBOK V3

ピアレビューの一種。ドキュメントの目視検査により、欠陥を検出する方法。
これにより、たとえば、開発標準の違反や、上位レベルドキュメントへの準拠違反が見つかる。最も公式なレビュー技術なので、必ず、文書化された実施基準に従って進める。
JSTQBソフトウェアテスト標準用語集

目的 : 欠陥の検出

設計仕様書やコーディングしたプログラムのロジックを第三者が検証し、誤りや問題点を検出することである。
インスペクションとは (inspection): - IT用語辞典バイナリ

メリット

  • 開発者本人が気づきづらい問題点を洗い出すことができる
  • プログラムなどを実際に動作させてみるテストでは検知できない潜在的な不具合を見つけることができる場合がある
  • コーディングルールに対する違反や極めて限定された条件でしか発生しない誤動作に繋がる問題点が検出される

役割

  • モデレータ(インスペクションリーダ) : 進行を主導し、インスペクション作業全体を統括する
    • モデレータにより、参加者の選定や、個々の役割の規定などが行われる
  • マネージャ : 実施のスケジュールを立て、レビューの目的が適切かどうかを判断する
  • レビューア(チェッカー/インスペクタ) : ある特定の技術やバックグラウンドを持ち、レビューを行う
    • 専門的ノウハウのある人
    • いろいろな分野や、レビュープロセスの役割を代表する人
    • 例えば・・・
      • プロジェクトや開発対象に関して一般的な知識しか持たないが、インスペクションの豊富なノウハウを持つ人
      • 法務やセキュリティーの専門知識をもっている他部門
  • 記録係 : レビューで取り上げた全ての課題・問題点・未解決事項を記録する
  • 他にも進行役等が設けられることもある

ルール

  • 実施計画立案では、実施タイミングや対象だけではなく「結果をどう使うか」まで決める
    • 例) 結果は対象ドキュメントの品質向上に使う
    • 例) 実施結果を工程移行の判定に使う
    • 例) プロジェクト完了後のプロセス改善のための会議のインプットに使う
  • 検出した欠陥をログに保管し、修正が行われたことを追跡調査する
  • インプット : ドキュメント
    • 企画書、プリセールスの提案書、プロジェクト計画書、要件定義書、各種設計書、ソースコード、バグ票、テスト計画書などあらゆる文書
  • アウトプット : 対象ドキュメントに含まれていると指摘された欠陥のリスト

f:id:ponsuke_tarou:20190806232933p:plain

ウォークスルーは、作成者がレビュー対象を説明しレビュー対象者にコメントを求める形式で進行するレビュー技法です。

  • 英語 : walkthrough

インスペクションに準じる公式なソフトウェアレビューに位置付けられることが多い。
ウォークスルーは、レビューを希望する作成者が数人のレビューアを招集、成果物の内容を順に説明する形式をとる。それに対してレビューアは、説明を通じて対象を追跡・検証し、その誤りや矛盾、抜け漏れなどを指摘するというのが大まかな流れである。
ウォークスルー(うぉーくするー) - ITmedia エンタープライズ

ドキュメントの著者による段階的なドキュメント内容の説明。情報を集めて、内容の共通理解を確立するために行なう。
ソフトウェアテスト標準用語集

目的 : 設計上の誤りを早期に発見すること と 設計の共通理解

設計上の誤りを検出するために作成者と複数の関係者が設計書をレビューします。
要求段階や設計段階の初期には,エンドユーザ (利用者) にも参加してもらうこともあります。
また、関係者間での使用上の共通理解を得ることができる。

メリット

  • ミーティングで指摘や意見が得られる
  • ウォークスルーの開催を前提にすれば、作成者は成果物を作る段階からそれが読まれること、他人に説明することを意識する
  • 作成者はミーティングで自身の考えを論理を説明する作業を通じて、自分自身で問題点や矛盾点に気付く場合もある
  • 解決策は、会議終了後に成果物作成者が自分で考えるので、会議の時間を短縮できる

ルール

  • 作成者が主体となって開催する
  • 指摘された内容は文書化するが、欠陥を修正するか否かについては作成者の責任として、ミーティングでは取り扱わない
  • 作成者はミーティングの終わりに指摘項目を読み上げ、追加の問題点やコメントの有無を確認する。

デザインレビューは、各設計工程において次の工程に向けて成果物を複数人でチェックするレビュー技法です。

  • 英語 : DesignReview
  • 略称 : DR

デザインレビューとは、開発における成果物を、複数の人にチェックしてもらう機会のことで、JIS(日本工業規格)やISO(国際標準化機構)9000シリーズにおいて定義されている設計審査のことである。
デザインレビューとは何? Weblio辞書

上司や管理者が参加すると設計者への評価へつながるため、出席すべきではないとされている。
情報処理教科書 応用情報技術者 テキスト&問題集 2018年版(日高哲郎)|翔泳社の本

目的 : 設計の工程ごとに設計品質の評価と各工程が終了したかどうかを判断する

レビュー対象が内部設計書であれば、外部設計書との一貫性の検証と要件定義の内容を満たしていることの確認を行う。
各設計工程ごとに成果物の問題点の早期発見を行うことで、後工程の作業をスムースにしてシステムの最終的な品質を高めることにつなげる。

メリット

各フェーズにおける仕様書や設計書、プログラムなどの成果物を第三者の目(営業、経理、購買、生産管理、品質保証など)でレビューすることにより、開発者の視点では漏れてしまう内容を精査して、品質を確保することを目的としている。<省略>
デザインレビューの参加者が、成果物について指摘し合うことにより、現在起きている問題やプロジェクトの進捗状況などの情報を共有することができるため、設計審査のみならず情報共有手段としても有効である。
デザインレビューとは何? Weblio辞書

f:id:ponsuke_tarou:20190823171232j:plain
黒姫山

次回の勉強内容

ponsuke-tarou.hatenablog.com