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

開催レポート 1
基調講演、特別講演、招待講演、
クロージングパネルディスカッション、一般発表

基調講演 ソフトウェア品質リスクと品質向上技術戦略
東 基衞 氏
早稲田大学 名誉教授
特別講演 進化するIT組織と開発スキーム
~リクルートのサービス開発事例紹介とともに~

米谷 修 氏
(株)リクルートテクノロジーズ 執行役員CTO
招待講演 レビューオリエンテーションキットを用いた育成によるレビュー文化の醸成
川合 大之 氏
(株)日立ソリューションズ

派生開発での影響範囲抽出における課題と対策方法の再検討
矢野 恵生((株)デンソー) 氏
(株)デンソー
クロージングパネル ソフトウェア品質の価値、ソフトウェア品質保証の価値
一般発表

基調講演
ソフトウェア品質リスクと品質向上技術戦略

講演者の東 基衞先生 満員御礼の会場
基調講演は「ソフトウェア品質リスクと品質向上技術戦略」です。
ご講演いただく東 基衞先生(早稲田大学名誉教授)のお名前は、ソフトウェア品質の勉強を始めてから幾度も拝見しており、今回の講演をとても楽しみにしていました。 全国各地から円了ホールに集った約500人の聴衆の真剣な眼差しの前に東先生の登場です。

まずお話いただいたのは、ICT(情報通信技術)が現代社会にもたらした利便性と重大性についてです。

それまで専門家の道具であったソフトウェア・アプリケーションが圧倒的なICT革命で格段に進歩し、老若問わず日常的に利用される社会生活のインフラとなってきました。
東先生は、その肥大化・複雑化したアプリケーションが互いの共存性や互換性のリスクなどをまといながらもクリティカル・ドメインに拡がってきていることの重大性を指摘されています。この社会的リスクの重大性はソフトウェアを作る企業への品質要求を高め、確実な品質を作りこむ戦略を持つことを求めています。

次に品質向上の戦略に必要となる品質モデルや測定技術のお話をいただきました。

品質をモデルとして定義することで、測定が可能となり評価ができるそうです。
東先生はソフトウェア品質を勉強したものならば誰もが知るISO/IEC 9126の品質モデルをまとめあげてきた方です。それまでの機能性と信頼性だけではダメだという思いから、そもそも品質とは何か、明示的ニーズと暗黙的ニーズの違いは何かなど、様々な国際的議論をされたそうです。さらに現在は、その後継となるSQuaREを推し進めていらっしゃり、その成果もあと少しでまとまるとのことです。

品質の測定で大事なことは品質モデルから評価する特性を選別することだそうです。
まずニーズを選別して品質要求を明確にし、その品質要求に対応した品質特性を3~5、副特性を8~10程度を決めます。そして、その品質特性を用いて品質要求の実現度合いを評価する計画を立てるのだそうです。品質は個々のプロジェクトではなく、組織としての取組みが重要で、品質を作り込むためのプロセスをデザインすることが肝心とのこと。良い企業文化が品質戦略に繋がるということでしょう。

最後のまとめには「未だ技術は未成熟で発展の余地があり、勇気を持って適用し、改善を進めることが成功への道である」とあります。ICT革命で大きく変化した現代社会に求められる品質と企業文化のあり方を改めて考え直させられた講演でした。

SQiPのミッション「品質の良いソフトウェアによってもたらされる安心・安全な社会の実現に貢献します」を改めて思い起こさせます。
また講演の途中で東先生が「(ICT革命がもたらした)技術の進歩が人間の進歩に繋がるとは限らない」と呟かれていたのが印象的でした。
(レポート 堀 禎威)

特別講演
進化するIT組織と開発スキーム
~リクルートのサービス開発事例紹介とともに~

講演される米谷 修氏 会場から多くの質問が寄せられた。
質問に答える米谷氏(右)
特別講演は、(株)リクルートテクノロジーズのCTO米谷 修氏による、「進化するIT組織と開発スキーム~リクルートのサービス開発の事例紹介とともに~」でした。

日々変化するニーズや要素技術・方法論の進化に合わせ、常に最適な開発スタイルや体制を構築されてきたIT部隊の進化の過程を、今回は品質にフォーカスしてお話してくださいました。
はじめに、リクルートについての紹介があり、その中で同社のビジネスが「情報誌×営業力」から「ネット×エンジニア力」へと変化したことの説明がありました。
続いて「システム品質を決める要素は、組織体制・開発スキーム・マインドの3つである」とされ、この3つの軸でお話がありました。

1.IT組織体制について

ビジネススタイルの変化にともない、リクルートのIT組織は、15年位の間に「分散時代」→「統合時代」→「融合時代①」へと変化し、現在は事業別組織と機能別組織の融合によるシナジーを期待できる「融合時代②」だそうです。
文化の異なる組織を融合させる過程で、エンハンスチームと大規模開発チームの「対立」を例にとり、宗教の違いを乗り越えるには、押し付け合うのではなく、お互いの考え方の背景を、一つひとつ丁寧に説明し分かり合うことが大切というお話は、なるほどと思いました。
IT組織は常に変化・進化が必要だという強い信念を持って、根気良く、繰り返し丁寧に説明し説得しながら、困難な変化を実現させてきたのだと感じました。

2.開発スキームについて

5つの開発スキームが準備されていることに驚かされました。 QCDのどれを重視するかによってスキームを選択できるそうです。今回はその中の3つのスキームを中心に説明がありました。
高品質が求められる大規模な開発は「大規模開発型」、ビジネスに直結したスピード重視の開発は、スモールスタートでスピーディ、かつ、しなやかに対応できる「エンハンス型」、その他に「コスト重視型」などがあり、それぞれのプロジェクトの要求に合った最適なスキームを選択するのだそうです。大規模開発型では、18プロジェクト総工数8,000人月を超える開発を、ほとんど失敗なく完成させたというお話は驚きでした。

3.マインドについて

「事業部門とIT部門、両者のマインドをいかに揃えるか」がシステム開発では非常に大切だということ、お互いの信頼関係を深めることが、両者のマインドの進化につながり、高品質に結びつくのだと理解しました。

各項目について具体的な失敗事例・成功事例を挙げて、現在の状態へ至ったきっかけと過程を、丁寧に分かりやすく説明されていましたので、イメージしやすく興味深く聴くことができました。 会場はほぼ満席で、20件以上の質問が出るなど、注目の高さがうかがえました。
(レポート 三須 欣子)

招待講演

招待講演風景
招待講演は、昨年度のSQiPシンポジウムの各Awardの受賞者による講演です。
ここでは、セッションC2 2012年度SQiP Future Award受賞者、2012年度SQiP Review Committee Award受賞者による講演の様子をレポートします。

昨年の発表内容の紹介に加え、引き続きの研究成果が発表されました。

Future Awardを受賞された川合 大之氏の「レビューオリエンテーションキットを用いた育成によるレビュー文化の醸成」では、キット作成の目的、キットの概要、キットを使用した職場ワークショップ開催結果についての報告がありました。

キットを用いてレビューアを育成し、レビューアのスキル別に観点を分けて、レビューを段階的に行うことで、専門知識を持ったレビュー上級者が、高度な技術と専門知識が必要になる重大な欠陥の摘出に集中できるのは、効率のよい方法だと感じました。
キットを用いて教育を行うことで、レビューア育成だけでなく、普段からレビュー観点を意識して作業を行うようになり、それぞれの成果物の完成度も、全体的に高くなるのではないかと感じました。初心者に限らず、全員の意識合わせを行なうためのツールとしても有効ではないかと思います。

現場でレビュー教育を実施している方から、対象物がソースコードにも適用可能か、また、ピアレビューなど、フォーマルインスペクション以外でも適用可能かという質問が出ていました。これに対しては、どのような成果物やレビュー形式にも対応できるようにしてきたいとの回答でした。

レビューオリエンテーションキットの演習体験付きのSIGは、事前申込み段階で定員に達しているということからも、皆さんのレビューに対する関心の高さが伺えました。

Review Committee Awardを受賞された矢野 恵生氏の、「派生開発での影響範囲抽出における課題と対策方法の再検討」では、カーナビゲーションシステムの派生開発にXDDPを適用した際の「影響範囲を確認するプロセス」の発表がありました。

ベースソフトがますます大規模で複雑になる中、追加・変更による影響範囲の調査には、皆さんも苦労されていることと思います。この研究は、関数の出力値には「何」があり、その出力値は、「いつ」「どのように」変化し、変化が「どこに」伝播するかを、BeVADTを作成して見える化することで影響範囲を確実に確認しようというものです。

関数の入出力情報・振る舞いに加えて、出力値の影響が及ぶ関数名に関して、変更前の状態と変更後の状態を同時に見ることができるのは、とても良いことだと感じました。
(レポート 三須 欣子)

クロージングパネルディスカッション
高品質のための部門間協調のありかた
~ソフトウェア品質シンポジウム流DevOps~

モデレータの新野 淳一氏 パネリスト:左から米谷氏、鬼頭氏、
森崎氏
会場に問いかける森崎氏(右)
クロージングパネルディスカッションはのテーマは、「高品質のための部門間協調のありかた」です。
モデレータに新野 淳一氏(Publickey)、パネラーに米谷 修氏((株)リクルートテクノロジーズ)、鬼頭 素子氏(日本電気(株))、森崎 修司先生(静岡大学)です。

まず、副題にあるDevOpsについて新野氏から解説がありました。
開発(Dev)と運用(Ops)が協調してシステムを迅速に提供していくムーブメントであるとのこと。新野氏の「このDevOpsのコンセプトで(部門間協調の取り組みに)十分ですか?」の問いに、米谷氏は「全然足りない」の一言。実務には様々な工夫や努力の積み重ねが必要ということでしょう。

次に各パネラーから非協調の事例が紹介されました。その一例をご紹介します。
「営業」が提案し、「導入SI」が導入、保守するのは「事業部」で、「開発」はそのシステム開発を請け負う立場とします。「営業」は顧客、「導入SI」は納期、「事業部」は収支など、立場ごとにゴールが異なるために意見の対立が起こるそうです。

今度は会場からの声です。そこで、なんと森崎先生がマイクを持って会場に降り立ちました。
「40年前から何も変わっちゃいない。組織が分かれてお金が絡むとだめだ」、「組み込み系ではハード部門も加わり、ソフトウェアで尻拭いすることもある」、「部門の切り方にもよる。緩いほうが良い、独立していたほうが良いなどといろいろ。また慣習に振り回されている場合もある」など、森崎先生のお人柄で沢山の声が集まりました。

パネラーからは「文化や利害などによる非協調は、根底の考え方の差」、「部門間協調を諦めて一つの組織にするのも一手」、「自部門のミッションに真剣である程、互いに対立することがある」、「対立に問題があるわけではなく、ビジネスに悪影響があるかないかだ」などの見解がありました。

さらに会場から、非協調からコミュニケーション不足になり情報共有が疎かになることや、問題発生時に互いに協力して問題解決に取り組めないなどの意見に続き、「以前は部門を跨ぐ見識を持つスーパー部長がいてリーダシップをとってくれたが、最近そういう人が減ってきている」との声。パネラーからも最近のシステムは複雑になりスーパー部長の存在は難しい。十分な情報が得られないままで判断が迫られ、なおかつその意思決定のスピードが求められていると発言がありました。

その後、パネラーから部門間協調への取り組み紹介がありました。
お互いの考え方を理解させることが大事で、人員ローテーションや意見交換会などを展開したそうです。それらは現場だけではできないので上位マネジメントの役割が大きいそうです。こういった事例は表面的に真似しても失敗することが多いとのこと。それは各社固有の背景には、その問題の原因だけでなく、取り組みが成功する要因もあるからです。

会場も巻き込んだこのパネルから、自社の各組織を良く知り、その根底の考え方を互いに深く理解し合うことから始めるのが要と思いました。
(レポート 堀 禎威)

一般発表

一般発表は9つのセッションで計26件の発表がありました。
ここでは、特に注目度が高かった3つのセッションについてレポートします。
一般発表風景 会場は超満員!

セッションA2:マネジメント

セッションA2はマネジメントをキーワードとしたセッションであり、3件の発表がありました。

A2-1 トラブルの予兆を探るリスクマネジメント

四ッ橋 章匡氏 ((株)日立ソリューションズ)
プロジェクトのトラブルを未然に防ぐため、トラブルの予兆を捉えるリスクマネジメント支援ツールを導入し、「経験値リスクDB」に一般事例、過去事例と日々のプロジェクト問題を蓄積し、運用するという事例の発表です。
現在、プロジェクトへ適用中で、実際の効果はこれから検証していくことになるそうです。
会場からも大量のデータから個々のプロジェクトに合ったリスクと対応策の選択方法や、新人PMでも上手くいくのかなど質問があり、参加者の関心の高さと期待が感じられました。

A2-2 CCPMバッファ管理を用いた要求定義工程のプロジェクト管理-USDM要求仕様策定における一事例-

八木 将計氏((株)日立製作所)
CCPMのバッファ管理をUSDMとそのレビューを導入している組込み製品開発のプロジェクトに適用した事例とその結果の発表です。
CCPMのバッファ管理は「なんだかよくわからない」モノ・コトに対しては適用できません。そこで、見積困難な要求定義工程は更に分類し、計れるサイズにしてから比較的見積が容易な工程にのみ適用することで、効果を得ました。USDM、組込み製品開発といったプロジェクト以外への適用にも期待できそうです。

A2-3 システムテスト実施フェーズにおけるボトルネック/クリティカルチェーンを特定した残日数管理マネジメントとその効果

水野 昇幸氏(三菱電機(株))
組込み製品開発のシステムテスト実施フェーズにおいて、作業遅延解消の対策としてボトルネックに着目し、対策を施す事例とその結果の発表です。
よくある対策して考えられる「テストケースの削減」「昼夜2交代制」は実施しないことを前提としています。ボトルネックとなっていることを逆手に、試験装置は休まなくても人は休むよう、進め方に工夫をしています。更にCCPMを参考にプロジェクトの残日数を見える化し、メンバーが長期休暇を取得できるかどうかのラインを見せることと、メンバーが休めるように工夫をすることで、プロジェクト全体のモチベーションにつなげています。
(レポート 中野 さやか)

セッションA3:テスト

2日目午前のA会場では「テスト」をキーワードにしたセッションが行われ、3件の発表がありました。

A3-1 要求定義工程での品質保証とシステムテストのテストケース自動生成新技法

西田 啓一氏(テクマトリックス(株))
大規模システムでは、テストパラメータが多く、その組み合わせが膨大になるため、テスト作業で全体の8割を占めることもあるそうです。さらにそのテスト作業ではテストケースが漏れたり、重複の無駄が発生したり、色々な問題を抱えているそうです。漏れや重複を避けるにはペアワイズ法などのツール利用がありますが、そもそも因子や水準を決めるテスト設計が正確でないと意味がありません。仕様書から如何に正確なテスト設計を導くかで悩んでいたところ、産業技術総合研究所のFOTという分析手法と出会い、共同研究を進めてきたそうです。「テスト設計時の思考の過程が明らかになるモデル」を用いることでレビューが格段に効率化し、成果があがったそうです。

A3-2 ソフトウェアメトリクスを用いた単体テストの品質リスク評価

下村 哲司氏(日本電気(株))
単体テスト見逃し欠陥によるテスト工程中盤での手戻りを何とかしたいとの思いから、ソースコードメトリクスと単体テスト見逃し欠陥との相関を調べたそうです。同社の開発環境はクラウド型で単体テスト自動化やバグ管理、構成管理が一貫して整備されており、正確なデータがリアルタイムで計測できるそうです。品質リスク評価を現工程にフィードフォワードできる環境があるのはすばらしいと思いました。今後「DevOps」の流れに乗って運用まで自動化が進めば、様々なメトリクスの自動計測が進み、本研究の様な取り組みの応用範囲が一層拡大すると思います。

A3-3 品質保証部門におけるWモデル適用の検討と実践

富田 貴仁氏((株)日立製作所)
品質保証部門の検査(テスト)は下流工程に計画されますが、その検査項目の設計(テスト設計)タイミングは特に定められていなかったそうです。しかし、上流工程で作り込んだバグの影響が非常に大きくなるため、Wモデルを参考に検査項目設計を上流工程から開始して、早い段階から開発部門とやり取りすることで品質向上につながる成果が出せたとのことです。
各社それぞれに、如何に効率よくテストを実施していくかという課題に対して、前工程へ踏み出すアプローチを採られており、とても参考になりました。
(レポート 堀 禎威)

セッションB3:現場改善・人財育成

セッションB3では、トヨタ開発方式をソフト開発に適用してプロセス改善を図る試みや、自ら考え、行動できる人財の育成に関する研究など、3件の発表がありました。

このうち、人材育成についての発表が2件。一つは、若手が「考えない・考えられない」という課題への取り組みでした。

もう一つは、「デンソーにおける課題解決型リーダーの育成」というテーマで、「経験年数に応じた課題解決力が養われていない」というものでした。
時代のニーズにより、技術者が工夫・改善しながら開発するより、ルールに従って開発することが求められるようになったこと。その結果、現場での失敗が少なくなったことで、課題を解決する場面が著しく減ったこと。ソフトウェアの大規模化・複雑化に伴って、課題も複雑になり、従来技術だけでは解決が困難になったことなどについて発表がありました。

先人たちの経験で培われたノウハウにより、しっかりとしたプロセスが定義され、作業手順が文書化され、人に特化せず、誰でも確実に作業できる環境がその原因であるという興味深い内容でした。マニュアル時代と言われて久しく、マニュアルは非常に便利なものですが、その背景にあるものを常に考えながら使う必要があるのだと感じました。

課題の抽出・解決を広く新たな視点で分析できるように、工学的アプローチのほかに産業論や競争戦略論というビジネス分野にまで幅を広げ、さらに論理的に課題解決を進めるために、論文作成を追加したという「課題解決コース」のカリキュラムは、大変興味深いものでした。
(レポート 三須 欣子)