BOKとBOKガイド
ソフトウエア開発に携わる皆様の中で、特にプロジェクトマネージャーやリーダー、サブリーダーのような立場の方々は、PMBOK®をご存じでしょう。PMBOKはProject Management Body of Knowledgeの略で、プロジェクトマネジメントに関するBOK(Body of Knowledge)です。BOKは日本語では知識体系と訳され、ある専門領域における知識の総和を意味します。つまり、PMBOKはプロジェクトマネジメント領域に関するさまざまな知識、すなわち技術やノウハウ、規格・標準などが集まったものです。ただし、膨大な知識を集めただけの状態では、BOKを利用する人の欲しい情報がどこにあるのか分かりません。そこで、BOKを体系的に整理して分かりやすくしたBOKガイドが必要になります。PMBOKではプロジェクトマネジメント知識体系ガイド(PMBOKガイド)という書籍がそれに当たります。PMBOKガイドにはプロジェクト・リスク・マネジメントやプロジェクト品質マネジメントなど10の知識エリアが定義され、それぞれのエリアにおけるプロジェクトマネジメント・プロセスが記載されています。PMBOKを知っているという方で、この書籍のことをイメージされた方がいるかもしれませんが、この書籍は知識体系のガイドという位置づけです。
SWEBOK(ソフトウエアエンジニアリング知識体系)ガイドの改訂
ソフトウエア開発者に向けたBOKとしてSWEBOKがあります。SWEBOKはSoftware Engineering Body of Knowledgeの略で、ソフトウエアエンジニアリングに関するBOKです。SWEBOKガイドはIEEE Computer Societyによってまとめられており、2001年にトライアルバージョン、2004年に2004バージョンが発表された後、約10年ぶりの改訂となるV3.0が2013年に発表されました。そして、SWEBOK V3.0のガイドの日本語版「ソフトウエアエンジニアリング基礎知識体系-SWEBOK V3.0-」も2014年11月に出版されました。
SWEBOKガイドの2004バージョンからV3.0への最も大きな違いは知識領域の追加、変更です。それぞれのバージョンの知識領域とその対応を図1に示します。SWEBOKガイドV3.0での主な改訂ポイントは以下の通りです。
- ソフトウエアエンジニアリング経済学、計算基礎、数学基礎、エンジニアリング基礎の4つの基礎的知識領域が追加された。
- ソフトウエア開発者として守るべき事項や必要なヒューマンスキルなどを含む知識領域であるソフトウエアエンジニアリング専門技術者実践規律が追加された。
- ソフトウエアエンジニアリングツールに関する記述がソフトウエア要求からソフトウエアエンジニアリングプロセスまでの知識領域のトピックの1つとなり、知識領域としてはソフトウエアエンジニアリングモデルに焦点を当てたものになった。
追加、変更された知識領域では、ソフトウエアエンジニアリングを学習、実践する上で前提となる知識やスキルに関する内容が充実しました。特に1つ目の基礎的知識領域は、学生時代に情報系を専攻していなかった人がソフトウエア業界に入ることが多い日本では非常に有用ではないかと思います。単に開発の流れを追うばかりでなく、その根底にある理論を学ぶ上で参考になります。
図1:SWEBOKガイドの知識領域
SQuBOK(ソフトウエア品質知識体系)ガイドの改訂
ソフトウエア開発に関するBOKにはPMBOK、SWEBOK以外にもさまざまなものがあります。今回はその中からSQuBOKを取り上げます。SQuBOKはSoftware Quality Body of Knowledgeの略で、ソフトウエア品質に関する知識体系です。SQuBOKガイドは日本科学技術連盟と日本品質管理学会を中心として日本国内のソフトウエア開発の現場担当者や研究者が策定した日本発のBOKガイドです。ソフトウエア品質に関する規格・標準やグローバルスタンダードな概念や技術に加えて、品質立国ニッポンのソフトウエア開発で培われた英知を結集したバイブルと言えます。2007年に第1版が発行され、このほど2014年11月に第2版が発行されました。
SQuBOKガイドではその全体像を樹形図の形で整理しています。図2にSQuBOKガイド第2版の樹形図の一部を示します。樹形図はカテゴリ、副カテゴリ、知識領域という階層構造によりソフトウエア品質における膨大な情報を体系的に整理しています。図では省略していますが、実際には知識領域の下にさらに副知識領域、トピックスという階層が続きます。この図で★をつけた知識領域は第2版の改訂で内容が充実しました。主には要求分析や設計、実装といったいわゆる上流工程における品質マネジメントや品質技術に関する記述が追加され、ソフトウエア開発のあらゆる局面で参照できるようになりました。他にも第1版の発行から7年の間に追加、変更のあった国際規格への対応や、近年重要性を増している使用性、セーフティ、セキュリティといった品質特性に関する技術解説や、モバイルアプリケーション開発に関するトピックスの追加、加筆などが行われています。
図2:SQuBOK樹形図の一部(カテゴリ層から知識領域まで)
BOKガイドの活用
PMBOKに加えて、今回紹介したSWEBOK、SQuBOKは、ソフトウエア開発者やマネージャーのみならず、経営者や発注者などすべてのステークホルダーが知っておくべき内容が盛り込まれています。経験や勘でソフトウエア開発を進めるのではなく、体系的に整理された情報の中からベストプラクティスを見つけ、最適な解決策を見いだすことで、開発を円滑に進めることができるでしょう。それぞれの改訂内容を知りたい方や、そもそもこれらのBOKガイドにどのようなことが書かれているのか知らない方は、ぜひご一読ください。
NTTデータでは、これらのBOKガイドを参考にした開発・管理標準TERASOLUNA®を策定し、常に最新の情報に即したものに洗練しています。さらに、これらを基本としたソフトウエア開発やマネジメントに関する社内研修を行い、技術者の育成にも力を入れています。
参考文献
- Project Management Institute, Inc.(著), プロジェクトマネジメント知識体系ガイド(PMBOKガイド) 第5版 日本語版, Project Management Institute, Inc.
- 松本 吉弘(訳), ソフトウエアエンジニアリング基礎知識体系 -SWEBOK V3.0-, オーム社
- SQuBOK策定部会(編), ソフトウエア品質知識体系ガイド(第2版) -SQuBOK Guide V2-, オーム社
- Quality One「SQuBOK解説」特集ページ, SQiP(Software Quality Profession)(外部リンク)