変革の時代を迎えたソフトウェア産業
-開発の手戻りをしないために-
ウォークスルーとインスペクション

日本アイ・ビー・エム株式会社
布川 薫

ウォークスルー(Walkthrough ) とインスペクション(Inspection )は、 欠陥の早期発見と除去を目的に、作 業工程そのものに組込まれる組織的 で効率よい検査・点検の方法である。 その狙いは、開発要員が欠陥を含 んだ成果物を作ることを未然に防止 することにある。発見/除去の対象 となる欠陥には、次のようなものが ある。

・要件や仕様、コードやデータの矛 盾・不整合、欠落、重複、曖昧 さ・わかりにくさ
・技術面/コスト面/期間面での実 現性のなさ
・範囲外の要件・仕様、優先順位の 観点からのコントロールの欠如
・キャパシティ/パフォーマンスの 観点からの問題

ウォークスルーやインスペクショ ンを実施することで、要件定義や設 計段階・作成段階で品質を作り込み、 テスト段階までに持ち越されるエラ ーを最少限に押え込む。最終的には 公式レビュー、テストなど他の欠陥 除去手段と合わせて、プロジェクト のオーバーランを防止し、システム の品質を確保することを目指す。

今回は、ソフトウェア開発におい て最もポピュラな品質のトラッキン グの手段であり、近年の新しい開発 環境において益々その重要性が見直 されている“ウォークスルー”と “インスペクション”の効果的な運 営方法について解説する。
ウォークスルー

ウォークスルーという用語は、古 くから“立ち稽古、演技とセリフ読 みを同時に行う舞台稽古”といった 意味で用いられていた。仲間内によ る検査の一形式であり、開発者自身 が参加メンバの選定も含め、自主的 に運営/実施する。ウォークスルー が後述のインスペクションと大きく 異なる点は「公式なエラーログなど とらず、点検の実施中は、フランク な形で内容の検討に全力を傾注す る」ことにある。以下は、その主だ った特徴である。

・少人数(4 〜6 人)、短時間(1 案件:30 分または1 時間)で効 率的に運営する。

・検査対象に対して、参加者がテス トケースを想定し実行するなど、 机上シミュレーションの形で欠陥 を発見していく。

・作業の立ち上がり時点や、作業が 行き詰まった時などに、開発者自 身が参加メンバを選定し、自主的 にレビューを招集・運営する。

・初期のウォークスルーは、チーム メンバの品質に対する意識合わ せ、作業者自身の技術的な育成の 意味合いも持つ。善きにつけ悪し きにつけ「人の振り見て我が振り 直せ」ということである。ここで、 早めに作業者全員の作業の品質を 一定水準以上に引き上げるととも に、同種の誤りが発生するのを防 ぐ。

要所要所のウォークスルーでは、 特定のテクニカル・アドバイザがチ ームをまたがって参加すべきであ る。また、チームリーダは、当該チ ームのウォークスルーに全て参加す ることにより、チームの品質の状況 を全体的な観点、詳細な観点の両面 から熟知することができる。チーム リーダや限られたテクニカル・アド バイザを効率よく確保するために も、次のようなメカニズム上の工夫 が必要となる。

・少人数向けの会議室や会議机を集 中的に確保し、ID を付けておく。

・時間帯は午前中に集中させるな ど、プロジェクト環境に応じて検 討する。

・スケジュール表は、グループウェ ア上の伝言板などに週次で30 分刻 みに一覧できるようまとめて掲載 しておき、ウォークスルーの依頼 者自身が直接予約を行う。(図1 )
ウォークスルーの進め方


@点検の依頼者は、見て欲しいこと や、ぶつかっている壁について簡 潔に述べる。

A依頼者が最初から順を追って資料 を読み上げるなどして、参加者は 点検対象物を順次トレースしてい く。この過程で、「何故そうなるの か」といった不明点や、「要修正」 の問題個所があれば、参加者は誰 でもフランクに意見を述べる。

B参加者は、問題の検出に全力を集 中し、問題点を検出したなら、で きるだけその場で解決することに 努める。アドバイザは、解決案や ヒントを一定の方向性をもって示 す。

Cその場で解決できないような事項 があれば、依頼者はペンディング リストに記入する。

D依頼者はウォークスルーの終わり に、これまで挙げられた要修正点、 ペンディング項目を読み上げ、追 加の問題点やコメントの有無を確 認する。

Eアドバイザは他で同種の誤りや欠 陥が作られそうな点 をメモしておき、グ ループウェアを利用 した「技術連絡メモ」 のような形で、これ を全メンバに横展開 する。
インスペクション

インスペクションの 特徴として、強力な調 整役による運営、参加 者の役割の明確化、欠陥データの収 集・分析と後工程へのフィードバッ クなどがあげられる。インスペクシ ョンの参加者は、「指定の入力仕様 に従い、また設計基準や標準手順に 則って、一貫性をもって作成されて いるか?」などの観点より、各種成 果物の正確性、整合性、妥当性を厳 密に点検し検証していく。

・点検は、少人数(4 〜6 名)・短 時間(1 案件につき30 分から長 くとも2 時間以内、長すぎるとか えって点検の効率を下げる)で効 率的に実施する。

・インスペクションの準備と運営 は、プロジェクトにおいて任命さ れ訓練されたモデレータ (Moderator )すなわち推進役/ 調整役が担当する。

・フォーマルなエラーログを取って 修正状況の追跡を行い、再発防止 に活用する。

・作業の初期から適切なサンプリン グ検査を実施し、犯しやすいエラ ーなど早めに作業者や後続作業に フィードバックする。

・要所の点検やデザインレビューに は、適格なテクニカル・アドバイ ザが一貫して参加することが必須 である。 インスペクションは、作業の完了 後ではなく、作業の立ち上がり時点 や作業の中途で適宜実施する。特に、 作業の立ち上がり時点などで頻繁に 行い、結果を横展開することが有効 である。

・作成者自身の検証完了後、数日以 内に実施する。また、発見された 欠陥や問題点は、当工程を抜け出 す前までには必ず解決しておく。

・モデレータは、点検のための適切 なメンバの選出、調整、およびス ケジュールの作成を行う。また、 インスペクションの運営、各点検 を効率的に行うためのチェックリ ストの作成と改訂、欠陥除去のフ ォロー、欠陥状況のフィードバッ クなども主な役割である。

・モデレータは、メールにて参加者 全員にインスペクション・スケジ ュールを連絡するとともに、伝言 板などに、週次単位で30 分刻み のスケジュール表をまとめて掲載 し、メンバが全体のスケジュール を確認できるようにしておく。

・点検の対象物に応じ、また、必要と されるスキル/知識などを考慮し て適任の参加者を選ぶ。チームメン バ、プロジェクトメンバより選定す ることが原則であ るが、必要なら、プ ロジェクトの外部 からも応援を求め る。例えば前工程 や後工程の作業担 当者、保守担当者、 エンドユーザな ど、タイプの異な る参加者が存在す ると、より広範な 視点からの点検が 可能となる。 ・最初の検査や、点検の量が多いと きなどで事前配布の方法をとると きは、参加者はその資料に目を通 し、不明点や問題点などチェック しておく。誤植などマイナーなエ ラーについては朱記して、インス ペクションの終了後、作成者にこ れを渡す。

図2 に、インスペクションの実施 手順を示した。

@モデレータは、点検対象、点検の 進め方、時間配分、注意事項につ いて簡潔に述べる。

A資料を作成者自身が読み上げ、参 加者は点検対象物を順次トレース していく。この過程で問題箇所や 不明点があれば読み上げを中断 し、誰もが率直に意見を述べる。

B参加者の中から選ばれた書記が、 問題点をエラーログとして記録す る。

C参加者は、問題の検出に努める。 問題を検出し、できるだけその場 で一定の方向性を持った解決案を 点検物の作成者に示すことが望ま れる。

D個々の議論は10 分以内に留め、 解決できない事項は、ペンディン グリストに記入する。

Eモデレータは点検の終りに、これ までに挙げられた要修正点、ペン ディング項目を読み上げ、追加の 問題点やコメントの有無を確認す る。

F予定時間を超える場合一旦打ち切 り、これまでの結果の反映後に残 りの再招集を行う。

G指摘事項の解決予定日を、点検物 の作成者自身に確認する。また、 ペンディング事項に対して、参加 者全員にアクションプランを確認 する。

H指摘事項の修正は、作成者自身が 責任をもって行う。モデレータは、 インスペクションの結果に従って 成果物が正しく修正され、欠陥が 除去されたことを確認する。

Iモデレータは、他で同種の誤りや 欠陥が作られそうな点を記録して おき、開発メンバにグループウェ アなどの仕組みを通じて横展開す る。

Jモデレータや品質管理チームは、 欠陥の発生傾向を分析し、後続作 業にこれをフィードバックする。 また、必要なら、作業標準や手順 書などの修正/変更も検討する。 次回は、プロトタイピングについ て考察する。
■プロフィール■
布川 薫(ぬのかわかおる)
1973 年日本アイ・ビー・エム鞄社、現在、サービス事業、コンピテンシーに所 属し、アプリケーション開発方法論やプロジェクト管理技術などを担当。副主管 IT スペシャリスト(次長)。プロジェクトマネジメント学会評議員・研究委員会 委員。
おもな著書に、『システムの開発と運用』、『アプリケーション開発技術』(いずれ も共著、リックテレコム) ウォークスルーの進め方 インスペクション