Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

要件定義書がしっかり読まれているかを測定――視線情報を機械学習にかけ、要件定義書レビューの評価を行う

トップエスイーからのアウトカム ~ ソフトウェア工学の現場から 第14回

  • LINEで送る
  • このエントリーをはてなブックマークに追加

 社会人エンジニア向けの教育プログラム「トップエスイー」から、エンジニアの皆さんに対して有用な情報をお届けするコーナーです。上流工程ではドキュメントを作成しますが、記述に不備があると後々の工程まで響きます。その一方で、ドキュメントの評価は人間に委ねられています。ここで、人間は実際にドキュメントを読んで、問題点の抽出などが十分に行われているかという疑問が出ます。その回答として、レビュアーの視線を測定することで、十分なレビューをしたかどうかを判定する方法を探りました。視線を測定するアイトラッカの出力を機械学習の手法で解析した結果、レビュー自体を評価するためのいくつかの指標を得ることができました。

目次

ソフトウェア開発における要件定義書の品質

 ソフトウェア開発では、上流工程で作成される仕様書や設計書の品質が後工程の成果物の品質に影響を及ぼすため、これらの品質を担保することが重要となります。上流工程で作成される要求仕様書や要件定義書の質を高める一般的な手法として、チェックリストに基づくレビュー(Checklist-based Reading)やユーザーやテスト担当者などの異なる立場の観点でのレビュー(Perspective-based Reading)などが存在します。しかし、現実に要求仕様書や要件定義書の品質に及ぼす影響は、レビュー手法による違いよりもレビュアーの能力差によるところが大きいです。加えて、同一人物であっても時間的な制約や集中度合いなどにより、レビューの品質が異なることも問題となっています。

 レビュー品質の定量的な評価は、一般的にレビュー実施率(開発規模に対するレビュー時間の割合、レビュー時間÷開発規模)やレビューでの指摘を基にした不具合検出率(開発規模に対するレビューでの不具合検出数の割合、不具合検出数÷開発規模)が用いられています。しかし、それらの評価指標だけではレビュー品質の妥当性を正確に判断することはできません。例えば、不具合検出率が低い場合に、それがレビュアーの能力が低いことに起因しているのか、それともレビュー対象文書の品質がもともと高いことに起因しているのかを考慮する必要があります。したがって、それらの指標によらずに個々のレビューの評価ができれば、レビュアーの能力も含めたレビュー評価ができるようになりレビュアーの能力向上につなげられるため、ソフトウェア開発の品質向上において非常に有効です。

 今回は、要件定義書レビューを対象とし、視線情報を利用したレビュー品質評価手法を紹介します。本手法は、アドバンス・トップエスイーに参加し、プロフェッショナルスタディで評価・検証を行いました。本手法を用いることで、レビュー実施率や不具合検出率によらずに、要件定義書レビューの品質を1ページ単位で評価することができます。

視線情報の活用

 視線情報は心理学、医学、マーケティング、広告等の分野で広く用いられており、近年はVRへの活用や居眠り・脇見運転の防止など幅広い分野での活用が期待されています。視線情報はアイトラッカと呼ばれる専用のデバイスを用いて計測できます。アイトラッカは、以前までは非常に高価なデバイスしか存在していませんでしたが、近年は安価なデバイスが販売されるようになっています。Windows 10においても視線制御機能が標準機能として備わり、視線計測は身近なものとなってきています。

 「目は口ほどにものを言う」ということわざ通りに、視線情報は人のさまざまな情報を教えてくれます。文章を読んでいる際の視線情報から、流し読みをしているのかどうかを判別することができ、文章に対する理解度も予測することができます。2015年に発売されたメガネにセンサーが装着された「JINS MEME」では、瞬きの情報を基にして集中力を可視化することができます。夏目綜合研究所では、瞳孔の動きを解析することで、人の考えを把握できるシステムを開発しています。したがって、視線情報を活用することで、流し読みをせずにレビューしているのかどうか、レビュー時の集中力・理解度・考えなどを得ることができ、要件定義書レビューの品質評価につなげることができると考えました。

視線情報として得られるデータ

 アイトラッカから得られる視線情報は、以下の4つに大別されます。

  • fixation(固視):1カ所を注視している視線の集まり
  • saccade(跳躍):fixation間の素早い目の動き(視線が移動した軌跡がわかる)
  • blink(瞬き):瞬きの情報
  • pupil(瞳孔):瞳孔に関する情報(興味や関心がある際に瞳孔が大きくなる)

 文章を読んでいる際のfixationとsaccadeの様子を図1に示します。図1において、円がfixationを示し、円の大きさがfixationの時間を示します。fixation間をつなぐ線がsaccadeを示します。

図1 文章を読んでいる際のfixationとsaccadeの様子(文章の出典:平成28年度 秋期 ITステラジスト試験区分 午後Ⅰ 問1)
図1 文章を読んでいる際のfixationとsaccadeの様子(文章の出典:平成28年度 秋期 ITステラジスト試験区分 午後Ⅰ 問1)

レビュー時の視線情報の収集

 実験に使用するレビュー対象文書は、社内で実際に使用された3種類の要件定義書を基にして、概要・機能要件・非機能要件の3ページの構成に改編し、サンプル文書を2つ加えた計11ページとしました。

 被験者のレビュー品質を調査するために、各ページに意図的な欠陥を含ませました。被験者が下線にて記載した改善部分が、意図的に含んだ欠陥部分と一致した場合に欠陥を検出できたとし、欠陥検出数が多ければ多いほどレビュー品質が高いと定義します。欠陥が多いと文章の不自然さが増し、通常のレビュー時の視線の動きが計測されない可能性があります。そこで、1ページあたり欠陥を含む文章は最大2個までとし、11ページ全体では欠陥を含む文章は16個としました。

 被験者19名に対して、上述のレビュー対象文書をモニタ上に提示し、レビュー時の視線をアイトラッカ(GP3 HD 150Hz)で計測しました(図2)。被験者には、モニタ上に提示されている要件定義書のレビューを実施してもらった後に、同じ内容が記載されている紙の要件定義書に対して改善すべき部分に下線を引くように指示しました。なお、途中休憩は挟まず、レビューの時間や形式に制限は設けませんでしたが、アイトラッカによる測定の精度を確保するためになるべく頭部を動かさないように指示しました。

図2 視線計測の様子
図2 視線計測の様子

 被験者19名に対して11ページ分の視線情報を取得した計209ページのデータには、視線情報が正しく計測できていないページが存在する可能性があります。その原因としてはアイトラッカが被験者の目の検知に失敗することが考えられますが、その場合、fixation(固視)の情報が無効となります。そこで、スミルノフ・グラブス検定を行い、有効なfixationの割合が0.6未満の4ページ分(図3)を視線情報の計測不良データとして削除しました。

図3 ページごとの有効なfixationの割合のヒストグラム
図3 ページごとの有効なfixationの割合のヒストグラム

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 斉藤 功樹(日本ユニシス株式会社)(サイトウ コウキ)

     2014年度第9期生としてトップエスイー受講、2017年度第12期生としてアドバンス・トップエスイーを受講。日本ユニシス株式会社 総合技術研究所に所属。大規模データ処理技術や衛星画像のデータ処理・データ分析に関する研究に従事し、現在は視線情報を用いた文章の読解に関する研究に従事。

バックナンバー

連載:トップエスイーからのアウトカム ~ ソフトウェア工学の現場から

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5