2009年度(第25年度)ソフトウェア品質管理研究会の報告
鷲崎 弘宜(早稲田大学 / 国立情報学研究所)
執筆協力: 金山豊浩(UPA Japan 設立準備事務局)
ソフトウェア品質管理研究会(通称:SQiP研究会)は、主に品質の観点からソフトウェアの開発技術とマネジメント技術を研究、調査、学習、さらには交流する場として日本科学技術連盟のもとに設置され、2009年度で25年目を迎えました。4月から約一年間にわたり活動する形態をとり、2009年度も2月26日の分科会成果発表会をもって活動を締めくくります。本稿では2009年度における一年間の研究会活動を振り返り、さらには2010年度の活動予定を紹介します。
■2009年度のテーマは「今こそ、現場と学問に根ざしたソフトウェア品質の追求」
金融危機の影響もあり、今日のソフトウェア開発は非常に厳しい時代の真只中です。そんな今だからこそ、余計なものを取り除いた本質が求められています。個人や組織のあらゆるレベルで持続的に成長するために、市場の要求を見極めて、シンプルかつひたむきに良いことを追求し、必要な品質を備えたソフトウェアづくりが必要です。
魅力的で優れたソフトウェアづくりには、「現場」が抱えている課題を抽出する力、理論や経験に裏打ちされた「学問」により解決方法を探究する力、そして、そのボトムアップな創意工夫を受け入れる組織風土が不可欠です。そこで2009年度の研究会では、「今こそ、現場と学問に根ざしたソフトウェア品質の追求」をテーマに掲げて、ソフトウェアの4P(ピープル、プロジェクト、プロセス、プロダクト)のあらゆる側面における品質を軸とした技術とマインドの探求に取り組みました(図1)。それらの取り組みを通じて最終的には、各参加者の個人ならびに所属先における現場と学問に根ざした品質活動の実践と人材育成を目標としました。
図1: 研究会における取り組みの姿
■ニーズにあった研究のかたち: 調査、実践、研究
研究会には46の企業や団体から77名が参加しました。年間を通じて8回の例会を行い、さらに2009年度は前年度と同様に研究調査の一環として第28回SQiPシンポジウム(ソフトウェア品質シンポジウム)[1]についても参加しました。各例会では、午前中は参加者全員で特別講義を聴講し、午後はテーマ別の分科会・コースにわかれて学習や研究を行いました。特別講義、分科会・コースともにマネジメント面はもちろんのこと、数年来のエンジニアリング面の強化も奏功し、充実した良い内容でした。それぞれの詳細を以下に報告します。
◇特別講義: ソフトウェア品質の多面性と広がり
ソフトウェア開発の難しさの一因として、ソフトウェアの大規模・複雑化や短納期・低コスト化に加えて、そもそもの開発における学際性が挙げられます。開発にはソフトウェア、ハードウェア、ネットワーク、人間・社会系、自然界・実世界などが複雑に絡み合います。従って、ソフトウェア品質の組織的・長期的な追求に向けて、人的側面、プロセスやマネジメントの側面、設計や検証などエンジニアリングの側面、さらには経済学や統計学などの広がりを知り、様々な気づきを得ていくことが重要です。
そこで2009年度の特別講義は、各分野で活躍されている方々より下記の講演をいただきました。研究において考えることの意義に始まり、組織編成やプロセス改善・測定といったマネジメントから、プロダクトの開発における要求獲得やテスト・検証に至るまで幅広く、ソフトウェア工学と品質管理に関係する形で各話題が取り上げられ、各研究員はそれぞれ多くの気づきを得ることができました。
- 「学ぶから考えるに - 研究会参加にあたって - 」板倉 稔(株式会社ビズモ)
- 「新たな研究スタイル"フィールドスタディ"とそのチームビルディング~知識を学ぶより、協働の知恵を学ぶことの重要性~」松尾谷 徹(有限会社デバッグ工学研究所)
- 「要求工学とユーザビリティ 人間中心設計の観点から」 郷健太郎(山梨大学)
- 「ソフトウェアテスト」 大西 建児((株)豆蔵)
- 「ソフトウェアファクトリー」 大場 充(広島市立大学大学院)
- 「ソフトウェア開発における製品評価とプロセス評価」 込山 俊博(日本電気(株))
- 「『日本的』な知恵―局所最適化と共生・信頼―」「JSQCソフトウェア 部会遺言PJからのメッセージ」兼子 毅(東京都市大学)
◇分科会・コース: ソフトウェア品質の専門性と深さ
研究会への参加目的として、事前に下記の3種を主要なものとして識別しました。"Research is what I'm doing when I don't know what I'm doing"(Wernher von Braun)との言葉があるように、研究会は本来「研究」をする場として、新たな技術の発明を追求する研究型、ならびに、既存技術の新たな適用ノウハウの顕在化や体系化を追求する実践型(これもまた新たな方法を考え出すという意味で発明といえます)が主要な活動といえます。
- 研究型: 新技術の発明
- 実践型: 実問題への既存技術の適用ノウハウ
- 調査型: 既存技術の整理と習得
しかしながら、新たな技術領域に挑戦するにあたっては、研究・実践の前段階として既存技術の把握が不可欠です。また、近年のソフトウェア開発方法や環境、問題領域の広がりに応じて技術領域も多様化・細分化の傾向にあり、ソフトウェア品質への取り組み要請の増大も相まって、既存技術の精確な習得へのニーズが増大しています。そのニーズにこたえるため、調査型についても研究会の主要な活動の一つと位置付けて、拡充を図りました。
具体的には、ソフトウェア品質に関する幅広い要請に応えられるように、以下に示す研究・調査型の6分科会、ならびに、学習型の2コース(実質3コース)を設けました(鉤括弧内は研究テーマ)。各分科会・コースが主に扱う領域をSoftware Engineering Body of Knowledge(SWEBOK、ソフトウェアエンジニアリング基礎知識体系)[2]上で整理した結果を図2に示します。いずれもソフトウェア品質を核としながら、分科会全体としてマネジメントからエンジニアリングまでの領域を広くカバーしていることを見てとれます。2008年度に引き続いて、ニーズがあり社会要請の強い領域について研究・実践型の5分科会、ならびに、調査型の2コースを設けました。さらに、研究・実践型について近年の派生開発の進展に合わせて、派生開発分科会を新規に設けました。調査型については、特に近年ソフトウェアテストの重要性が増大し学習のニーズが高まっているため、ソフトウェアテストの分科会内に学習型の演習コースを新規に設けました。
- 第1分科会 ソフトウェアプロセス評価・改善
主査: 三浦邦彦(矢崎総業)、副主査: 藤巻昇(東芝)
? 「プロセスは定着していますかPart2 - テーラリングガイド作成の手法の提案-」 - 第2分科会 プロジェクトマネジメント
主査: 板倉稔(ビズモ)、副主査: 森本勝美(CECAジャパン)、早川勲(山武)
「プロジェクト描写のための情報構造 -正確なプロジェクト把握のために-」 - 第3分科会 組込みソフトウェアの品質作り込みと評価)
主査: 飯泉紀子(日立ハイテクノロジーズ)、副主査: : 田所孝文(山武))
「設計者自身による設計品質作り込み -テストエンジニア視点の活かし方-」 - 第4分科会 ソフトウェア・ユーザビリティ―エンドユーザ視点でのソフトウェア開発―
主査: 金山豊浩(UPA Japan 設立準備事務局)、副主査: 福山朋子(インテック)、 アドバイザ: 篠原稔和(ソシオメディア)
「Light WeightなUCD手法の提案 -ScrumにUCD手法は適用できるのか?-」 - 第5分科会 ソフトウェアテスト
主査: 秋山浩一(富士ゼロックス)、副主査: 堀田文明、奥村有紀子(デバッグ工学研究所)
「数値項目一覧表を用いた設計漏れ検出方法の提案」
「派生開発における影響箇所の把握改善によるテスト範囲の特定方法の提案」 - 第6分科会 派生開発
主査: 足立久美(デンソー)、副主査: 奈良隆正(NARAコンサルティング)、アドバイザ: 清水吉男(システムクリエイツ)
「派生開発に XDDP を導入する際の障壁とその解消に向けたアプローチ」
「派生開発におけるモレ・ムダのないテスト設計」 - 演習コース ソフトウェア工学の基礎
主査: 鷲崎弘宜(早稲田大学)、副主査: 田村一賢(東芝ソリューション)、 アドバイザ: 野中誠(東洋大学) - 特別コース ソフトウェア品質保証の基礎
主査: 池田浩明(インテック)、副主査: 真野俊樹(SQA総合研究所)、藤原雅明(東芝ソリューション)
図2:SWEBOK2004における知識領域と分科会・コースの主な対応
各分科会では、参加者が抱える問題や取り組みたい技術を研究テーマとして設定し、そのテーマについて1年間かけて調査、研究、議論を重ねて最終的に成果論文の形へとまとめていきます。典型的には、各分科会で同様の問題意識を持った数名のグループが作られ、そのグループ単位で主査や副主査・アドバイザの指導・助言のもと、背景や関連技術の調査、問題の本質の把握、解決に有効な技術や考え方の考案、実験などを通じた検証、論文の執筆、成果発表会における発表とフィードバック、という具合に進めていきます。2009年度は、各分科会で上記リスト中のテーマを取り上げました。2004年度から現在までの各分科会の成果論文の内容は、研究会のWebページ[3]に公開されていますのでご一読ください(2009年度の論文は2010年3月以降公開予定)。
◇SQiPシンポジウム: 最新状況の調査と成果発信
ソフトウェア品質関係の技術や知識体系の最新研究・実践動向の把握、関連研究の効率的な把握、さらには研究会を超えた品質分野における幅広い交流促進のため、日本科学技術連盟が毎年主催するソフトウェア品質の大規模な会議「SQiPシンポジウム」への参加を研究会活動の1つ位置付けて、その参加と調査・交流を促進しました。また、研究や実践・調査の成果が翌年の同シンポジウムにおいて発表されることで、フィードバックを得て成果をさらに高められること、ならびに、良い成果を広く共有し業界・社会貢献へと繋がることが期待されています。実際に、2009年のSQiPシンポジウムでは2008年度の研究会成果の報告が複数ありました。
さらに2009年度のSQiPシンポジウムにおいては、各分科会の主査や副主査あるいはアドバイザが外部の方々と協力して、各分科会に関係したテーマについて少人数で議論する5つのSIG(Special Interest Group: 意見交換会)を設けました。具体的なテーマはプロセス改善、システム開発のコミュニケーションブリッジ、Agile UCD、テスト改善、派生開発であり、それぞれ多数の参加者を集めて盛況でした。このSIGにおける議論や参加がきっかけとなり、翌年の研究会における分科会活動がより広がり深まることが期待されます。
■分科会・コース活動の一コマ
研究・実践型の分科会の様子として、2009年度の第4分科会「ソフトウェア・ユーザビリティ」における活動を紹介します。同分科会は「利用品質の向上」を掲げ、過去10年間、UCD(User Centered Design, ユーザ中心設計)の実践的な研究活動を続けています。2009年度は、エンドユーザにとって使いやすいソフトウェアをより早く的確に開発できることを目指し、顧客への価値を追求する俊敏な開発スタイルであるアジャイル開発をベースにUCD手法の効果的・効率的な組合せを研究しました。合宿では、正味1日で集中的に、要求分析・UI設計・評価を実践・体感しました(図3)。例えばペーパープロトタイピングをUI(User Interface、ユーザインタフェース)設計の初期段階で適用することが、ユーザとの俊敏な合意形成に効果的であることが確認できました。最新情報や苦労話で盛り上がりつつ、実践を通して知見を得るスタイルは刺激的で、参加者の半数が毎年参加されています。2010年度はRIA(Rich Internet Applications, リッチインターネットアプリケーション)にも取組み、更に刺激的です。
図3: 合宿における分科会活動の様子(第4分科会)
さらに調査型のコースの様子として、2009年度の演習コース「ソフトウェア工学の基礎」の活動を紹介します。同コースは、主に演習と議論を通じてソフトウェア工学技術群を習得する場として2005年度より継続して設置され、ソフトウェア工学技術の会得に有効であったとの評価を得ています。2009年度も引き続いて、産学両面に通じた講師をお招きし、計9名の研究員が参加して、全10回にわたり代表的なソフトウェア工学技術に関する講義と演習を実施しました。結果として、2009年度において既に多数の技術について活用が始められており、単なる習得にとどまらない実践と将来の実施・改善基盤の形成について一定の達成をみています。例えば参加者は、要求工学の演習において習得したリッチピクチャおよびゴール指向分析技術を職場での課題抽出に適用し、ゴールまでの全体像が具体化されることで取組みの弱い部分が早期に発見でき情報共有のよい素材になったと報告しています。
■おわりに
2009年度の参加者からは、「ソフトウェア品質について多面的に多数の気づきを得た」「同業他社の様子を詳しく知り仲間を作ることができた」「基礎から応用まで体系的に学ぶことができた」といった意見や要望が数多く寄せられました。ソフトウェア品質について基礎理論を習得し、エキスパートから助言を得て、同じフィールドで悩む仲間と多様な事例や視点を共有しつつ共に考え抜き、問題や解決の本質を見抜く場として機能したと考えられます。
2010年度も引き続き、特別講義を含む様々な機会を通じた理論習得、主査・副主査の丁寧な指導、小規模な分科会単位での密な議論と気づきの共有を通じて、「考え抜く」1年間をご提供します。分科会・コースの構成として、参加者の要求や社会要請の変化に応えるべく、新たにレビューの分科会やソフトウェアテストの独立した演習コースを設けるなど充実を図っています。ソフトウェア品質にお悩みの方、さらなる高みを追求したい方、組織へと戦略的に展開したい方、まったく初めてという方、ぜひご参加ください。
謝辞 研究員(参加者)、各分科会・コースの主査、副主査、アドバイザ、特別講義の講師、各分科会・コース内の講師、SQiPシンポジウム委員会、SQiPステアリング委員会、ならびに、SQiP研究会の事務局各位の熱心かつ的確なご参画・運営に感謝します。
参考文献
[1] 第28回SQiPシンポジウム(ソフトウェア品質シンポジウム)2009, http://www.juse.or.jp/software/29/
[2] ISO/IEC/JTC1/SC7: ISO/IEC TR 19759:2005, Software Engineering - Guide to the Software Engineering Body of Knowledge (SWEBOK), ANSI , 2007. (最新版はhttp://www.swebok.org/ より取得可能) (邦訳)松本吉弘 監訳, ソフトウェアエンジニアリング基礎知識体系―SWEBOK 2004―, オーム社, 2005.
[3] http://www.juse.or.jp/software/study.html