Facebook x

ジャンル

テスト技法・工程
テスト技法・工程 2024.02.13
x hatenabookmark

ウォークスルーとは?ピアレビューとの違いやソフトウェア開発における目的・進め方

監修: 江添 智之

バルテス・ホールディングス株式会社 R&C部 副部長

ウォークスルーとは?ピアレビューとの違いやソフトウェア開発における目的・進め方

さまざまな分野で使われるウォークスルー。ソフトウェア開発における「ウォークスルー」とは、成果物の作成者が主体的に開催するレビュー手法の一つです。

欠陥の発見、プロダクトの改善などを目的に行われる「ウォークスルー」はソフトウェアの品質向上に欠かせないものですが、その意味や実際の進め方を詳しく知らない人も多いのではないでしょうか。

そこで今回は、ソフトウェア開発におけるウォークスルーとは何か、また目的や進め方についてわかりやすく解説します。

もくじ
  1. ウォークスルーとは
  2. ウォークスルーの目的
  3. ウォークスルーの進め方 5ステップ
  4. まとめ:ウォークスルーはソフトウェア品質向上の第一歩

1.ウォークスルーとは

ソフトウェア開発におけるウォークスルーとは、レビュー手法のひとつで、成果物の作成者が主体的に開催するものです。欠陥の発見、プロダクトの改善、検討、仕様の準拠評価など、ウォークスルーの目的は開発チームによって変わります。開発チーム内のメンバーを集めて、作成者が成果物について説明していく形式となります。設計書やソースコード、テストケースなど、成果物の種類や工程を問いません。

ここではウォークスルーの意味や、混同されやすいピアレビューとの違いについて解説します。

ウォークスルーの意味

ウォークスルーは、「立ち稽古」「リハーサル」などの意味を持つ英語の「walk-through」に由来する言葉です。

演劇の立ち稽古では、ひと通りのシナリオを実際に進めていくことで、キャストの動きなどに問題がないか確認します。台本を読んで内容を覚えられたとしても、本番では他スタッフとのタイミングが合わなかったり、上手くセリフが出てこなかったりする恐れがあるためです。

本番でトラブルが無いように、こうして演者や舞台関係者を集めて立ち稽古を行います。この「関係者を集めて確認する」という共通点から、ソフトウェア開発でもウォークスルーという言葉が使われます。

ウォークスルーとピアレビューの違い

ウォークスルーは、ピアレビューの技法の一種といえます。ソフトウェア開発におけるピアレビューとは、開発プロジェクトの関係者と成果物をチェックする作業の総称です。ピアは「同僚」を意味する英語であり、多くの場合は開発を共にするチームメンバーと実施します。

ピアレビューには、ウォークスルー以外にも数多くの技法が存在します。成果物の作成者以外の進行役を用意する「インスペクション」、成果物をメールなどで展開して確認を求める「パスアラウンド」などが代表的です。ウォークスルーは、ピアレビューの中でもインフォーマルな技法として知られています。

2.ウォークスルーの目的

ウォークスルーは、ただ単に成果物をチェックするだけでなく、さまざまな目的のもと実施します。ここでは、ウォークスルーの主な目的について紹介します。

成果物の品質向上

成果物の品質向上は、ウォークスルーに限らずピアレビューの大きな目的です。

成果物の作成者が熟練したエンジニアであっても、ミスをしないとは言い切れません。慣れているがゆえに先入観を持ってしまい、問題に気づけないケースも考えられます。このような成果物の問題を漏れなく検出するためには、客観的なチェックが不可欠です。

ウォークスルーでは、異なる経験・感性を持つ他の開発メンバーとともに成果物をチェックします。そうすることで作成者では気づけない問題を検出でき、成果物の品質向上につながるでしょう。

個々のスキル向上

ウォークスルーを通して、レビューイ(依頼者, reviewee)とレビューア(参加者, reviewer)のスキル向上が期待できます。

レビューイは、成果物の内容を他人にわかるように説明しなければなりません。自分にしか伝わらない表現では、レビューアから多くの質問を受けることになるでしょう。他人に伝わることを意識したプレゼンテーションを実践できることで、プレゼン力などの向上につながります。

またレビューアも、第三者の目線で成果物を見るための分析力や、議論を円滑に進めるためのコミュニケーション力などを養えるでしょう。

知識の共有

開発チーム内で知識を共有することも、ウォークスルーの重要な目的です。知識を共有することで、メンバー間の連携がスムーズになる、アサインの調整が容易になる、などの効果が期待できます。

たとえば、実装専門のプログラマーが設計書のウォークスルーに参加すれば、設計者の意図をしっかり把握することが可能です。その結果、設計書をもとに実装する際に作業がスムーズになるでしょう。

また、テスト担当者がトラブルで不在になるといった事態も考えられます。この際、テスト項目書などウォークスルーで知識を共有していれば、テストの代理担当者をアサインしやすくなるでしょう。

3.ウォークスルーの進め方 5ステップ

正しい進め方で実施しなければ、有意義なウォークスルーにはなりません。ウォークスルーを成功させるために、正しい進め方を把握しましょう。
ウォークスルーは、大まかに次の5つのステップで進めます。

①レビューアの選定・参加依頼

②成果物・資料の事前配布

③ウォークスルーの開催

④関係者への報告

⑤指摘事項の対応

ここでは、各ステップについて順番に解説します。

① レビューアの選定・参加依頼

ウォークスルーの開催にあたって、まずはレビューア(参加者)を選定し、参加を依頼する必要があります。ウォークスルーに参加するかどうかはレビューアの自由です。レビューアからの承諾を得なければ、ウォークスルーを開催しても参加者が集まらない恐れがあります。

レビューアを選定する際は、できる限り幅広い開発メンバーを選定するとよいでしょう。そうすることで、さまざまな角度から成果物をチェックしてもらえます。ただし、レビューアが多すぎると時間がかかりやすくなるうえに、参加者が発言しづらくなるため注意が必要です。

② 成果物・資料の事前配布

ウォークスルーの参加予定者に対して、成果物・資料を事前配布するのが一般的です。ウォークスルーでは、複数のレビューアを拘束することになります。成果物や資料を事前にチェックしてもらえば、本番の進行がスムーズになり、開発チーム全体として時間の節約につながるでしょう。

成果物が複雑だったりボリュームが多かったりする場合は、わかりやすい資料の作成をおすすめします。メール展開だけでなく口頭でも確認を依頼することで、資料のチェック率が上がるでしょう。成果物がシンプルな内容であれば、資料の作成は省略することも可能です。

③ ウォークスルーの開催

準備を済ませたうえで、ウォークスルーの本番を開催します。ウォークスルーの本番は、成果物・資料の配布日から数日後の開催が理想です。配布当日の開催ではレビューアに十分に資料を確認してもらえず、間隔が空きすぎると記憶があいまいになりがちです。

ウォークスルーの当日は、レビューイ(依頼者)が進行役として成果物の内容を説明していきます。レビューアは問題点や不明点があれば、随時レビューイに指摘します。指摘事項はレビューイ、または事前に決めた議事録担当者が記録するとよいでしょう。

ウォークスルーの終了時には指摘事項を1つずつ振り返り、チーム内で対応方針を協議します。ただし、指摘事項の対応方針はレビューイに委ねられる場合もあります。

④ 関係者への報告

ウォークスルーの終了後には、指摘事項や対応方針などをまとめてプロジェクト関係者へ報告しましょう。ウォークスルーに参加しなかった人も報告対象に含めます。

インフォーマルなウォークスルーでは、議事録や報告書の作成を省略するケースも少なくありません。文書を作成した場合は、開発チーム内で管理しましょう。

⑤ 指摘事項の対応

固まった対応方針に沿って、レビューイが指摘事項に対応していきます。この時、レビュー対象となった成果物をベースに、修正版の成果物を新しく作成するとよいでしょう。ウォークスルーに用いた成果物を直接変更すると、指摘事項の対応後に差分を確認できません。

指摘事項の対応がひと通り完了したら、メールなどでプロジェクト関係者へ修正版の成果物を展開します。指摘事項が多い場合は、再度ウォークスルーを開催するとよいでしょう。

まとめ:ウォークスルーはソフトウェア品質向上の第一歩

ウォークスルーはピアレビューの一種であり、実施することはソフトウェア品質向上の第一歩といえます。作成者がレビューイとなって成果物を説明していき、レビューアが問題点や不明点を指摘します。

ウォークスルーには、個々のスキル向上や知識の共有といった多くの目的があります。これらは全てソフトウェア開発における品質向上に直結します。ソフトウェアの品質向上を目指すのであれば、ウォークスルーの正しい進め方を把握しておきましょう。

テスト技法・工程
x hatenabookmark

監修: 江添 智之

バルテス・ホールディングス株式会社 R&C部 副部長

WEB系、エンタープライズ系、医療系など様々な開発業務にプログラマ、システムエンジニア、プロジェクトリーダーとして携わった後、バルテスにてテストエンジニア・コンサルタント業務に従事。現職では主にテスト業務に関する研究開発および人材育成を担当。Scrum Alliance認定スクラムマスター、ディープラーニング検定(G資格)、ネットワークスペシャリスト、データベーススペシャリスト、JSTQB Advanced Level(テストマネージャ、テストアナリスト)など、ソフトウェアの開発およびテストに関する資格を多数取得。JaSST Kansai 実行委員。現在の関心は機械学習のテスト分野への応用と効率的なテスト自動化。