ソフトウェア品質シンポジウム2019 申込み受付中!

ソフトウェア品質シンポジウム 2015

開催レポート 詳細版1
基調講演、特別講演、一般発表

基調講演 変わりつつあるシステム品質
~世界で起きている開発方法論の革新~

白坂 成功 氏
慶應義塾大学大学院 システムデザイン・マネジメント研究科
特別講演 JR東海の鉄道事業運営を支える情報システムの取り組み
石川 勝隆 氏
東海旅客鉄道(株) 総合企画本部情報システム部
一般発表

ソフトウエア品質シンポジウム2015委員会

オープニング
~和やかな雰囲気の中 シンポジウムが始まりました~
森崎委員長 ソフトウェア品質シンポジウム2015委員会 委員の皆さん

基調講演
変わりつつあるシステム品質
~世界で起きている開発方法論の革新~

白坂 成功 氏
慶應義塾大学大学院 システムデザイン・マネジメント研究科
講演者の白坂氏
システムエンジニアリングとは何でしょうか。私にとっては知っているようで説明することが出来ないワードでした。恐らく多くの方もそうではないでしょうか。白坂先生のおっしゃるシステムエンジニアリングとは「システム構築をどのようにするかについて俯瞰的・系統的な考え方」という事でした。講演では見えないゴリラ(The Invisible Gorilla)の動画を用い、「人は見たいものしか見えない。つまり専門家は専門領域外のことを見落とす」という事象を聴衆に身をもって体験してもらうという試みをされました。実際、私もゴリラを見つけることができなかった事に軽いショックを受けました。そして、俯瞰的に物事を見ることの難しさを実感したわけであります。

また、同様にVモデルを時系列としてではなく考え方を形にしたものというお話に納得しました。時系列でないと捉えることで、イテレーションの中でVモデルを回す事や結合するシステムとシステムで別のVモデルを回す事がイメージされていきます。加えて「いくつのVモデルか?」「どの範囲のVモデルか?」をプロジェクトで戦略的に決めるものであるとおっしゃっていました。私にとってトラデッショナルなイメージさえあるVモデルがとても魅力的に感じた瞬間でした。

システムオブシステムズ(SoS)の定義のお話もありました。
白坂先生のお話をお聞きしていなければ、私にとっては白坂先生が開発に関わっていらっしゃっていた「こうのとり」はまさにSoSでした。加えて、社内システムのようないくつものシステムが連携して動作するものなどもSoSと認識していました。しかし、白坂先生はそういったものはSoSではないとおっしゃったことが目からウロコでした。SoSとは「誰かが俯瞰して作ったものではなく、誰かが動作保証をしてくれるものでない。SoSとしか言い表せない関係である。」とおっしゃるのです。それは昨今、急激に身の回りに溢れ活動のレベルを飛躍的に上げ加速させているスマートフォンと各デバイスやシステムの連携であり、スマートホームなどであるという事でした。

最後は駆け足になりましたが、SoSを保証するための「ほどよし信頼性工学」のご紹介があり、ここでも俯瞰して全体最適を目指すアプローチのお話をされました。

講演全体を通してのキーワードは「俯瞰する」であったと感じています。目線をあげて俯瞰する。そのイメージを共有することで未知でありつつ、可能性を秘めているSoS社会へのワクワク感が会場に溢れSQiPシンポジウム2015基調講演に相応しい素晴らしい講演でした。
(レポート 府川 ひかり ソーバル株式会社)

特別講演
JR東海の鉄道事業運営を支える情報システムの取り組み

石川 勝隆 氏
東海旅客鉄道(株) 総合企画本部情報システム部
講演者の石川氏 満員御礼の会場
最終日の特別講演ということで、ホールにはたくさんの方々が集まり、日本の交通インフラの大動脈を支える企業がどのような取組みをしているのか、多くの方々が興味を持たれている事が伺えました。
ご演頂いた石川 勝隆 氏(東海旅客鉄道(株))は、20年以上情報システムの開発現場に携われ、特に新幹線の指定席予約システム『エクスプレス予約システム』のサービス開発・稼働維持に尽力されてきました。

冒頭に、1列車あたりの遅延時間等の東海道新幹線の基本データ紹介と、JR社員の基本精神『安全綱領』の紹介がありました。人命を預かる企業として安全が何よりも優先されることを4つの観点で唱えたこの綱領は、情報システムの品質に対する取組みにおいても基礎となっている、とのことでした。その後、以下2つのテーマでお話がありました。

安全、安定輸送を支える高品質への取組み

JR東海が行っている高品質への取り組みを、『エクスプレス予約システム』の事例を用いて、以下の5点について説明頂きました。
  • 絶対にサービスを停止させない仕組み
    列車運行の安全確保の考え方「閉そく方式」を応用し、多重化/冗長化設計を行い、高スループット、高レスポンスを実現する仕組みの概要
  • 「一筆書き」処理シーケンス
    自動改札機の前で切符予約を変更する等しても、変更直前の情報が有効にならないよう、処理シーケンスを一筆書きで設計しているという設計方針
  • 本番機での過負荷試験
    高負荷試験(ピーク時データ量試験)と過負荷試験(想定以上データ時試験)を実施しており、特に過負荷試験を運休時間に、東海道新幹線17駅の全ての自動改札機を立上げて実施
  • 本番データを活用した「リアルテスタ」
    多種多様なユーザの使い方を試験する為、新旧システムの並行稼働と現行システムの実データを蓄積する機能に、現行/新システムの結果一致を突合する機能を兼ね備えた「リアルテスタ」を構築
  • サービスに影響を与えずに安全に保守する
    列車の運休時間帯(23:30~5:30)に確実に完了させる為、徹底的に管理された体制、スケジュールに基づいて実施されている大規模切替作業について
どの取組みも、考え方自体は非常にオーソドックスであり、恐らく多くの企業でも実行されていると思いますが、その妥協の無い徹底ぶりに驚かされました。

情報システム部門の取組み

各組織の情報システムに関する「立法」と中央省庁的な「行政」の役割、と例えられており、以下の3つの取組みの説明がありました。
  • 情報システム構築の予算化許可からの全体コントロール
  • 害復旧訓練の実施
  • 人財育成
稼働復旧訓練については、年に1回、ただし毎回シナリオを替えて実施しているという点がやはり徹底しているなと考えさせられました。また情報システム部門の人財育成の取組みとして、入社後必ず駅などの現場に数年配置するというカリキュラムと、最新技術というよりは、安全・安定輸送を実現する為に使える技術を見抜ける「目利き」を養うことを考えて行っている、という点がJR東海らしい点と思いました。
総じて、最後に流された企業PRの映像に象徴されるような日本のインフラを支える企業としての誇り、当たり前のことを当たり前以上に徹底してやり抜くというこだわりが、静かに感じられるご講演でありました。
(レポート 手塚 聡子)

一般発表

一般発表の会場の様子

セッションA1:テスト設計・改善

A1-1 不具合と開発現場の実態に基づくテスト分析手法の提案

金子 昌永 氏(クラリオン株式会社)
下流工程の不具合流出が課題となっている現場で、不具合早期発見のための手法を提案したという発表内容でした。この事例のポイントとしては、現場の課題にマッチした改善手法が考案されていた点です。手法を考案された背景に、担当者の方の丁寧な現場の実態調査がありました。それによって現場のウィークポイントが明らかになり、結果として“現場にマッチした”手法を考案するに至ったのだと感じました。テスト分析プロセスを強化のための手法を紹介されていましたが、その中でも「不具合誘発条件の抽出」は様々な現場でも取り組みやすいアプローチだと思います。

A1-2 製品検査における仕様書記載外の問題点摘出強化に向けたテスト観点拡充方法の検討と実践

星名 卓郎 氏(株式会社日立製作所)
市場不具合の多くが仕様書記載外の問題に起因して発生している傾向がある、というのが本発表の背景です。仕様書記載外の不具合とは、顧客の使用方法、タイミング依存、環境依存がトリガーとなって発生した問題です。こちらの現場では、市場不具合の約8割が「仕様書記載外」の問題に起因しているそうです。課題解決の取り組みとして、まず、仕様書記載外の不具合が“検出できた”ケースを調査。そして、その上手く検出できたケースを、テスト設計期間、テスト実施期間に分けて分析し、「テスト観点知識ベース」として形式知化。その結果、仕様書記載外の不具合検出率が高まったという成果が報告されていました。形式知化された「テスト観点ベース」を他製品へ水平展開する展望も話されていました。

A1-3 類似プロダクトでのテスト実行を用いたブラックボックステストにおけるテスト優先度付け

野口 直寛 氏(早稲田大学)
テストケースの優先度付けが有効であるとテスト実施期間の初期に重大なバグを検出することが期待できます。これまで、テスト項目の優先度付けを行う手法として、ソースコードから得られる情報や、回帰テストの実行結果を利用する方法があるそうですが、ここでは、そうした情報を得られない状況でも有効なテストの優先度付けを行うために行った手法の発表でした。方法としては、過去の類似プロダクトの実行結果を利用し、蟻コロニー最適化という最適化手法用いて優先度付けする方法です。「蟻コロニー最適化」という名前は初耳でしたが、既存のアルゴリズムだそうです。このように既存のアルゴリズムを利用して課題解決を図るという点では非常に良いアイデアであると思いました。まだ、研究段階ではありましたが、今後、実務への導入も展望されていました。
(レポート 吉満 恵子 ソーバル株式会社)

セッションA2:デバッグ・不具合分析

A2-1 ネットワーク型データモデルを用いた問題点の可視化と問題分析への応用例

角口 勝隆 氏(株式会社日立ソリューションズ)
こちらは、本年SQiP Best Presentation Award(一般発表の中でもっとも分かりやすく効果的なものに贈られる賞)を受賞された発表になります。重大欠陥の未然防止、再発防止を目的とした不具合情報の分析において、障害分類に多くの時間を要することを課題として挙げられ、その課題解決をはかるため、テキストマイニングの技術を活用された事例の発表です。テキストマイニングを行うツールとして、オープンソースの「KH Coder」を採用。ネットワーク型データモデルである、「共起ネットワーク図」を生成します。これにより、感覚的にどのような事象が頻出しているのかを素早く確認することが可能になるというものです。実際、共起ネットワーク図の結果を見ましたが、非常に視覚的にわかりやすく表現されていました。この手法は、問題発生傾向、ウィークポイントが素早く把握でき大量のデータを分析する際に効果を発揮するそうです。不具合分析にテキストマイニングの技術を活用するというアイデアは非常に興味を惹かれました。聴講者からは、プロジェクトのリスク分析にも活用できるのでは。定量的な判断ができないとあったが、工夫次第で定量的な分析も可能なのでは。といった、今後の活用の可能性を後押しする意見も多くあがりました。

A2-2 変更の影響範囲を特定するための「標準調査プロセス」の提案

夛田 一成 氏(アンリツエンジニアリング株式会社)
本発表では、派生開発の現場で、変更による影響範囲の特定漏れに起因する不具合により手戻りが繰り返されていることを課題とされ、その課題解決のための手法が提案されていました。まず、影響範囲の特定漏れを起こす原因に、探索範囲が狭い、探索の目的が途中で変わる、全体構造が把握できていない、活用可能な調査結果が残らないという探索ルートの問題を挙げられ、それらの問題を解決するための施策として、調査プロセスを定義されています。これにより、担当者の能力に依存することなく一定レベルの調査が行え、結果的に変更による影響範囲の特定漏れを低減するというものです。若手プログラマの多い現場に対してはさらに効果を発揮するのではと感じました。この組織への定着はこれからと話されていましたが、今後、適用後の成果にも期待したいと思います。
(レポート 吉満 恵子 ソーバル株式会社)

セッションA4:設計書作成・レビュー

セッションA4は、「設計書作成・レビュー」がテーマです。レビューはテスト以上に可視化しづらく、十分性の判断も難しいと日ごろから感じていたため、特に興味をもって臨んだセッションでした。
今回の3つのセッションのうち2つが、既存の技術をレビューに応用するというアイデアに基づくもので、先行する類似研究を先に進めた内容です。

「ドキュメント作成者が自ら曖昧な箇所を検知できるW検法の提案」では、自然言語や図表による従来の仕様記述に加えて、形式仕様記述言語であるVDMを用いた記述を行うことで、表現の曖昧な箇所や、ドメイン知識を前提としている箇所を検出し、自然言語での記述を自ら改善していくという内容です。
そもそもVDMは仕様を記述するものですから、この手法自体に特別な目新しさはないかもしれませんが、VDMの知識やドメイン知識の有無が、欠陥の摘出の効果にどのような影響を及ぼすかを測定したところに意義があると感じました。
この手法では、部分的にとはいえ、自然言語と形式仕様記述言語で二重に仕様を記述することになるため、当然ながら費用対効果が気になってきます。会場からもその質問が出たのですが、「二重に記述するコストに対し、品質へ寄与する効果は十分なのか」という意図の問いに対し、「VDMの学習に関する費用対効果」という観点での回答となってしまいました。発表論文にもコストへの言及がないため、今後の継続的な研究に期待したいところです。

「ファンクションポイント法を応用した外部仕様書の品質評価」は、ソフトウェアの開発規模の指標であるファンクションポイントを測定するプロセスで、設計書の欠陥を摘出することがしばしばあるという経験をヒントにしたものです。レビュー対象とする設計書の種類と、摘出した欠陥の種別から、「外部仕様確定度」という量を算出し、対象ソフトウェアの品質面から見た進捗を測定することができます。
過去のプロジェクトの仕様書の外部仕様確定度と、そのプロジェクトの顛末を照らし合わせてみると、確定度の低いプロジェクトでは納期遅延といった問題につながっているとの結果が得られたとのことでした。
この手法では、対象とする工程の設計書間の整合性と明確さを確かなものにする一方で、「顧客要件を正しく網羅的に反映しているか」といった、上流工程との整合性は確認できないように思えます。また、現時点では非機能要件は対象外としているとのことでした。 レビューで確かめるべき事柄はたくさんあり、それぞれに適したレビュー技法があるでしょう。本技法は「外部仕様書間の整合性を確認することに適した技法」と捉え、既存の技法と合わせ技で適用すると効果がありそうと考えました。

ソフトウェア品質シンポジウムでは毎年、レビューの行い方や測定方法についてのアイデアが発表されています。これらを「レビュー」という大きな分野のどこに位置付けられるのかをマッピングし、自分なりのレビューツールのセットを作ってみるのも面白そうです。
(レポート 鈴木 一裕)

セッションB1:プロセス改善

セッションB1では「プロセス改善」について3つの発表がありました。

B1-1 「SQA監査」と「確証レビュー(ISO26262対応)」の融合~SQAのさらなる役立ちに向けて~

菅沼 由美子 氏(パナソニック(株))
機能安全の保障が重要な車載事業においてSQA監査、機能安全監査、確証レビューを融合し実施することで現場の負担を軽減するメリット、デメリット、今後の課題のご紹介でした。
車載と言いましてもソフトウェア・ハードウェアがあり、監査員がフォローする分野は深く広く、育成が肝になるプロセス改善と感じました。

B1-2 効率的な品質改善に向けたCMMI成熟度レベル別の要因分析

柳田 礼子 氏(日本電気(株))
品質会計が導入されているNEC社であり、社内のほとんどの組織のCMMI成熟度レベルが把握されている環境があるからこその強みを生かした成果発表でした。

各プロジェクトから以下のメトリクスを収集分析することで、
  • 開発規模(計画値)・開発規模 (単位はライン数)
  • 全工数・上工程工数・レビュー工数・テスト工程工数 (単位は人時)
  • 全バグ数・上工程バグ数・テスト工程バグ数・テスト項目数 (単位は件)
  • 上工程バグ率 (単位は%)
成熟度レベル(ML)により何処にフォーカスをあてると効率的に品質・生産性があがるかを明確にできたという事がデータで示されました。例えばML2ではレビュー工数をかけてバグを多く摘出してもテスト工程でバグが出る。つまりレビュー品質が悪い。よってレビューの質を上げる改善対策が必要といった目標が定まる。と、いった改善プロセスを進めることが可能になるというデータが示されました。

組織文化や製品によってメトリクスの持つ意味が異なる中で、まずは粗々であってもメトリクス収集し分析することで見えてくるものがあり、分析までのプロセスをブラッシュアップすることでより精度の高い分析が可能になると思われます。CMMI成熟度レベルに関連性があるという発表をとても興味深く感じると共に、自組織を振り返りこのような活動につなげる為にも共通のメトリクス収集が欠かせないと感じました。また、質疑応答の中で「レビューの質を上げる具体的なフォーマットはありますか?」というご質問に「基本的なプロセスを大切にする。前工程の担当者を呼ぶ。有識者を入れる」などとご回答されていました。プロセス改善というと仰々しい感じもしますが、まずは当たり前のことを一つずつ行うことが改善に大きく繋がっていくのだと改めて感じました。

B1-3 パートナーとの改善活動の進め方

城 多寿子 氏(日本電気通信システム(株))
自社員のみならず、パートナー企業と製品開発を取り組む中でプロセス改善を行う為にはパートナー企業と共に進め行く事が不可欠であり、その為にどの様にポリシーを共有し、協力体制を組んできたかというご紹介でした。
(レポート 府川 ひかり ソーバル株式会社)

セッションB2:品質分析

B2-1 共通言語としての欠陥特性の提案

森 龍二 氏((株)エクサ)
この経験論文は、システム開発におけるバグ分析の精度を高め、効果的な品質管理を実現したいと考える多くのSEが共有するテーマです。
障害票を起票するにあたり、設計者と製造者間に限らず、例え同じ製造者同士であっても、原因区分の判断水準が一定しないため、原因区分の判定精度が低いと結果集合の信頼性が低下し、最悪の場合的外れな対策がとられかねないことが業界的な課題と言えるでしょう。
これを改善するための、多くの人が迷いなく使用できる欠陥特性分類を定義した結果、今回の研究した分類での実験で従来に較べ大きな改善が見られたとの発表でした。
聴講者からは、「障害票起票をプロセス上、どのタイミングで適用すべきか」「判定(レベルの統一)が難しいと思われるがその観点での感触は?」と言った質問が出されたものの、鋭意研究中とのこと。
運用方法や人的な不確実さを含め、どこまで安定的に使用可能なものとできるか、今後の研究成果が大いに期待される発表でした。

B2-2 ソフトウェア欠陥予測アルゴリズム~欠陥混入メカニズムのモデリング手法を利用した欠陥予測方法の提案~

柏原 一雄 氏(2014年度(第30年度)SQiP研究会 第7分科会)
この経験論文は、研究によって得られた誘発因子と過失因子から成る欠陥モデルを使用することで進行中プロジェクトの欠陥傾向を予測するというもので、欠陥の傾向分析を効率的かつ的確的に行いたいと考える多くのSEの悩みを解決してくれそうなテーマです。
44の欠陥モデルに対し10プロジェクトの欠陥データで一致率をとった実験結果をみると、それぞれのプロジェクトで欠陥モデルとの一致率が有効と思われる水準に達しており、該当する誘発因子を点検することで開発プロセス改善や障害の水平展開に役立てることができそうでした。
聴講者からは「汎用的な欠陥モデル(や偏重傾向のデータ)をフィールドに提供することを考えてはどうか」との意見がありました。広く汎用性を確保するには、一致率を高めるためのプロジェクトメンバーへの教育など運用面での課題がありそうですが、容易に運用できるとなればフィールドに喜ばれるものとなるでしょう。今後の研究成果が期待されます。

B2-3 ソフトウェア開発における品質分析・評価プロセスの改善とその効果

森川 敏寛 氏(富士通九州ネットワークテクノロジーズ(株))
この経験論文は、同社でクレーム化した開発プロジェクトへ、森川氏が品質改善の役割を担って参加したプロジェクトでの事例紹介でした。
現状評価に始まり、弱点の整理、計画的な改善行動、結果測定、PDCAサイクルの実践により、品質水準が飛躍的に改善した様子が、具体的なデータと分析をまじえ論理的かつ分かりやすく論じられています。トータル7年間に及ぶ改善活動により欠陥が右肩下がり改善を見ると、品質支援活動がプロジェクトに大いに貢献した好事例と言えるでしょう。
実践的な事例であったことから、聴講者からも実践的な質問が出されました。
「根本原因分析について開発側の準備としてどのようなものがあったか?」
「再発防止のための情報収集においては、現場が上司の評価を恐れ正直に話さないのでは?」
「トラブルプロジェクトの場合の即効性のある方法の事例はないか?」
発表を聞いてみて、同社が品質支援、分析理論、効果測定などについて、確固とした考え方を持っていると感じさせる発表でした。
(レポート 上田 俊昭)