アカデミック
千葉工業大学・小笠原秀人教授が語る「ソフトウェア品質」の勘所(前編)
JR津田沼駅(千葉県習志野市)の駅前にそびえ立つ高層ビル群。建物の壁面に目をやると、「千葉工業大学」というプレートが掲げられている。大学キャンパスというよりも、大企業の研究開発センターと思わせるたたずまいである。
この大学で2018年4月から教鞭を執るのが、情報変革科学部 認知情報科学科の小笠原秀人教授だ。
ソフトウェアの品質管理やプロセス改善の専門家である小笠原教授は、一貫して研究畑を歩んできた。東京理科大学 工学研究科 経営工学専攻の修士課程を修了後、株式会社東芝に入社。ソフトウェア工学に関する研究所で28年間、研究開発に従事した。
他方で以前から学会活動にも積極的。現在はプロジェクトマネジメント学会、情報処理学会など、所属団体は枚挙にいとまがない。このようなアクティブさの根底にあるのは、周囲の人たちとつながり、一緒に何かを成し遂げることへの喜びだ。それが過去の仕事でも存分に生かされてきた。
本稿では東芝時代のキャリアを振り返り、小笠原教授が残した功績を見ていこう。
ソフトウェアの品質を左右するのはプロセスの品質
「君のおとなしい性格だと日立(製作所)ではやっていけないので、穏やかな東芝へ行きなさい」
1990年冬、東京理科大学での修士課程が終わろうとする頃、小笠原教授は恩師である菅野文友教授にこう告げられる。菅野教授は日本で著名な経営工学者で、ソフトウェア品質管理の大家である。ソフトウェアエンジニアリングに興味があった小笠原教授は、4年生から菅野教授のゼミに入って熱心な指導を受けていた。そんな恩師に言われるがまま、小笠原教授は従順に「はい」と答えて東芝に就職した。
配属先は神奈川県川崎市にあったソフトウェア技術センター。名称からも分かるように、より品質の高いソフトウェアを作り出すための研究開発などを進める部門である。
ここでの研究活動において小笠原教授がメインテーマに掲げていたのが、プロセス改善だった。“ソフトウェアの品質”は、それを開発・維持する“プロセスの品質”に左右されると捉え、品質を下げないためにはプロセスの効果的な改善が不可欠だと考えていた。
では、ここでいうプロセスとは何か。小笠原教授は「手順と手法」「ツール」「人」の三つから成るものだとする。
「ソフトウェア開発の場合、顧客から要件が入ってくると、いくつかのプロセスを経て、中間成果物、最終成果物という形でアプトプットがなされます。成果物を実際に作るのは人であり、人が集まって手順や手法、工程などを決めます。それを効率的にする上でツールも必要です。つまり、この三つがうまく調和しないと良いものはできません。だからこそプロセスの品質が製品の品質を左右するというわけです」
このようなプロセス改善活動の重要性は極めて高い。ただし、短期間でビジネスインパクトを生み出すようなものではないため、研究所としては啓蒙活動も並行しなければならなかった。
「経営層からは効果がどれだけあるのかとすぐに聞かれますが、ソフトウェアの品質向上や、プロセス改善に伴うコストダウンなどには時間がかかります。こういった活動が大事だというのをきちんと認識してもらいながら、徐々に社内へ広げていきました」
東芝グループで重宝されたバグ管理システム
そうした中にあって、小笠原教授ら研究所のメンバーはいくつかの成果を挙げてきた。
一つは、ソフトウェアテストをした際に発生するバグへの対処について、その優先順位を導き出すためのシステムを構築したこと。
「テストをすると当然バグは出ます。一つのプロジェクトで数百件から数千件程度、大規模プロジェクトになると数万件に上ります。そのバグに対して、いつまでに、誰が、どのように処理するのか、優先度はどうやって付けるのかなどをハンドリングしながら、バグを管理しなくてはなりません。でも、それだけ件数が多いと人手では不可能。そこで私たちの研究所でツールを作り、東芝グループ内に展開していました」
不具合情報管理システム「PRISMY」と呼ばれるこのツールは、1990年代半ば当時、世の中に類似品がなかったため重宝されたそうだ。小笠原教授によると、決して特別な技術を使っているわけではなく、既存の仕組みを応用したものだった。
「帳票のワークフローのように、帳票が担当者に飛んでいき、処理したらボタンを押して、別の担当者が見るという流れで管理すると共に、数千件あるバグの集計もできるようにもしました。技術的には目新しいものではないですが、当時Webで使えるシステムはあまりなく、それが特徴的だったかもしれないですね」
地デジ関連プロジェクトの混乱から生まれたテスト管理ツール
もう一つは、外部の企業との連携によって生まれたサービスだ。東陽テクニカが提供するC言語用ソースコード静的解析ツール「QA・C(現Helix QAC for C)」に改良を加えて、社内に展開した。
「ソースコードを解析して危険な箇所を見つけてくれるツールがあって、これはいいと思い、1998年頃から東芝グループ内に広げる活動を始めました。実はツール自体はいいのですが、解析結果が大量に出てきてしまう。そこで、出てきた結果をWebシステムにインポートして、本当に重要なものだけを表示させ、指摘に対してきちんと修正したかをチェックできるよう改良を加えました」
グループ各社のさまざまな部門で活用が進んだことで、静的解析ツールの発展に多少は貢献できたはずだと小笠原教授は喜ぶ。なお、その実績は引き継がれていき、現在は東芝グループ内に静的解析センターが設立されるまでになった。
三つ目が、テスト管理ツール「TETRAPLUS(テトラプラス)」だ。これには、2003年に導入が始まった地上デジタルテレビ放送が大きく関わっている。
「東芝は地デジの液晶テレビに注力していたのですが、そのプロジェクト現場は大混乱に陥っていました。開発テストの工程などを正確に把握できておらず、毎日のようにバグが頻発する状況が続いていたため、テストを管理するツールが必要だという声が湧き上がりました」
それまではテスト項目やテスト結果を記したExcelファイルを共有フォルダ内で管理していたものの、抜け漏れがあるなど、きちんと更新されていなかった。そこで当時この開発をサポートしていたメンバーは、Webベースで簡単に閲覧、更新できるような仕組みを構築することにした。
とはいえ、従来のやり方が変わることを嫌う現場担当者も多く、その点には留意した。
「やはり使い慣れたExcelは手放せないわけですよ。ですから、基本的にはWebシステムに入れたデータはそのままExcelファイルでダウンロードできるようにして、ローカル環境で担当者がファイルを更新した後、それを再びWebシステムにアップロードする形にしました。今までのやり方と極端には変わらないけれど、データは厳密に管理される環境づくりは意識しました」
このシステムにおいてもう一つこだわったのは、テスト作業の優先付けをしたことだ。
「ソフトウェアテストはどんどんバージョンが変わっていくわけですが、テスト内容自体が変わらないものもあります。さかのぼるともう5年間ずっと同じテストをやっていることも。ただし、テストの履歴が残ることが大事だから実行するわけです。そういった履歴を基に、『これはもう安定しているから大丈夫』、『こっちはバグが結構出ているから優先しよう』などといった判断ができればいいと考えました」
この優先付けには学術的な知見が織り込まれている。数理モデルを活用したソフトウェアのバグ解析などに取り組んでいる愛媛大学 デジタル情報人材育成機構 総合情報メディアセンター 阿萬裕久教授の研究だ。これを応用してテスト一つ一つの履歴から価値の高いものを優先的に選択する手法を共同開発し、ツールに実装したのである。
「研究的な要素としては、このテスト管理ツールの開発が一番面白かったし、より大きな成果が出たと思います」と小笠原教授は胸を張る。
現場に打って出る研究者
一般論として、自分の興味関心を突き詰める研究者に対し、世間ズレしているイメージを持つ人も少なくないだろう。小笠原教授はそういったイメージとは対照的に、どんどん現場の要望を拾い集めては、世の中の課題を解決しようとしていた。
「私たちは現場に入って一緒に改善することをよくやっていました。地上デジタルテレビ放送の時もそんな感じでしたね。私たちは生産技術の研究者だったわけですけど、場合によってはソフトウェアの設計やプログラミングで支援に入ってくれと言われることも多々ありました。また、相談を受けて実際に支援ツールを作ってみることもよく行いました。その中で評判の良いツールは、結果的に東芝グループ全体に展開するためのツールとして本格的な開発にこぎ着けました」
そして、こうした一連の改善活動には多くの人が介在する。他者と共同で課題解決に向かうことが、研究者としての小笠原教授のモチベーションをずっと支えていたのだった。
では、なぜ充実した日々を過ごしていた東芝を離れ、大学教員になったのだろうか。
(後編に続く)
この記事は面白かったですか?
今後の改善の参考にさせていただきます!