ソフトウェア開発の礎となる知識体系の基盤「SWEBOK」とは? 最新第4版の内容と開発現場での活用法
【15-E-9】世界標準のソフトウェア工学知識体系SWEBOK Guide最新第4版を通じた開発アップデート
基本的な用語の定義が、人や企業によって異なることもあるエンジニアリング業界。ソフトウェアエンジニアリングに関する知識を体系的にまとめたSWEBOK(スウェボック:ソフトウェア工学知識体系)は、開発現場から研究までさまざまな分野において活用できる。2024年中に第4版が公表されるSWEBOKの内容やその活用法について、早稲田大学 教授の鷲崎弘宜氏が紹介した。
真のエンジニアリングには「定量化&定性化」が不可欠
「『エンジニアリング』してますか?」という参加者への問いかけからスタートした鷲崎氏の講演。同氏によれば、エンジニアリングの辞書的な定義は「科学に裏打ちされた技術活動・学問体系」とされており、ソフトウェアの開発運用を行う際にこの定義を満たしていれば、きちんと「エンジニアリングを行っている」と表現できる。
ただしSWEBOKにおいては、ソフトウェアエンジニアリングを「ソフトウェアの開発運用保守に対する体系的、規律的、定量的なアプローチの適用」としている。この定義に則れば、個々の技術者の直感、すなわちそれぞれが良かれと思うスタイルで開発を行うカウボーイコーディングは、ソフトウェアエンジニアリングではないことになる。
加えて、鷲崎氏はソフトウェアエンジニアリングを「定量的であることが望ましい」とする。定性的な部分はもちろん、品質の測定評価や顧客満足・開発者満足を定量化していることが理想だが、こうした定量化を実践している企業はほとんど見当たらない。冒頭の問いかけは、自分の行っているソフトウェア技術活動が、「まっとうな」ソフトウェアエンジニアリングと呼べるのかという問いかけだったのだ。
このような背景から鷲崎氏は、「正統なソフトウェアエンジニアリングにおいては、科学や理論に裏付けされた実証済みの知識体系を通じて、さまざまなテクニックやコツなどを体系的にまとめていくことが重要」だと説く。その指針のもと、プラクティスやパターンを組み立てて開発を進めていくのがエンジニアの役割というわけだ。
そして、エンジニアが立脚すべき知識体系の基盤となるのがSWEBOKだ。知識の島々をまとめ上げたこのガイドは、実務家や研究者・学習者が共通して押さえるべき知識を特定し、ソフトウェアエンジニアリングに対する共通の理解を得ることを目的としている。
IoTやビッグデータ・AIの時代に入った現代においては、データドリブンのソフトウェア開発やDevOpsなどの重要度が増してきている。近々発表されるSWEBOK Ver.4にも、こうした新しい技術知識についての内容が含まれる(ただしSWEBOKの「実証済みの内容を基盤として提供する」という特性上、実証に至っていない最新の内容は含まれない)。
2014年のVer.3からリニューアルするVer.4では、複雑で不確実な時代だからこそ重要となる「アーキテクチャ」、開発と運用を一体で捉えるDevOpsの時代に対応した「運用」、他の品質とは異なる特殊性をもつ「セキュリティ」の知識領域を新設。ソフトウェアエンジニアリングにおけるプラクティスが著しく変化したことを背景に、これら3つの領域を設けることで、ソフトウェアエンジニアリングの現代的な要求に対応する。
これらの領域においては、まず基礎概念を押さえ、実践的なツールやパターンを参照することで具体的な技術や手法を深掘りするという構成になっている。
会員登録無料すると、続きをお読みいただけます
-
- Page 1
-
- Page 2
この記事は参考になりましたか?
- Developers Summit 2024 セッションレポート連載記事一覧
- この記事の著者
-
中島 佑馬(ナカシマ ユウマ)
立命館大学卒業後、日刊工業新聞社にて経済記者として勤務。その後テクニカルライターを経て、2021年にフリーランスライターとして独立。Webメディアを中心に活動しており、広くビジネス領域での取材記事やニュース記事、SEO記事の作成などを行う。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
