2022年12月15日(木)に、話題の近著「ソフトウェアアーキテクチャの基礎」の翻訳者である株式会社えにしテックの島田浩二氏を講師に迎えて、ソフトウェアアーキテクチャの基礎をテーマにした社員向けのセミナーを開催しました。講師の島田さんには、札幌からオンラインでご登壇いただき80名を超える参加者が集まりました。
本セミナーでは、ソフトウェアアーキテクチャとは何なのか?また、ソフトウェアのアーキテクティング(アーキテクチャを考えること)の進め方について、順を追ってやさしく丁寧に解説していただきました。セミナーの後半では、アーキテクティングが何故難しいのか?について、島田さんの失敗談を交えた具体的なエピソードを例にして解説いただいたことで、若手の参加者にもしっかりと伝わっていたように思います。
(オンライン研修の講演の様子)
ソフトウェアアーキテクチャとは何なのか?そんなプリミティブな質問をされると思わず言葉に詰まってしまいます。普段、当たり前に使っているものでも意外と言葉で上手く説明できないことも多いのではないでしょうか。ソフトウェアを中心としたシステム開発を生業にしている我々にとってのソフトウェアアーキテクチャもその一つだと思います。セミナーの中で島田さんは、ソフトウェアアーキテクチャの構成要素を次のように解説してくださいました。
● 備えるべき性質(アーキテクチャ特性)
● 構造になったもの(モジュール、C&C、割り当て)
● 構造にならなかったもの(システムを構築する上でのルールやガイド)
ソフトウェアアーキテクチャというと例えばAWSアイコンがプロットされたシステム構成図のようなものをイメージする方も多いと思います。しかし、ソフトウェアアーキテクチャを考える上では、それはアーキテクチャの一部(構造になったもの)であり、他の構成要素についてもしっかりと考える必要があるということをメッセージングしていただきました。
(ソフトウェアアーキテクチャとは)
ソフトウェアアーキテクチャが難しい理由については本当に様々な要因がありますが、本セミナーの中では特に主要因となり得る次の点について解説していただきました。
● さまざまなものに影響を受ける/与える
● すべてを事前には把握できない
● 個々の判断が相互に影響し合う
● 絶対的な正解が存在しない
この解説では、思わず「はっ」とする気づきが沢山ありましたが、その中でも特に私の心に刺さったのは次の点でした。
(絶対的な正解が存在しない「ソフトウェアアーキテクチャはトレードオフがすべて」)
■セミナー終了後のQ&Aも大盛況でした。
セミナー終了後にQ&Aの時間を用意していたのですが、若手からベテランまで積極的に質問が飛び交いオンライン開催にもかかわらず非常に活気のある研修となりました。島田さんには、ひとつひとつの質問にしっかりと丁寧に回答していただきました。本当にどうもありがとうございました。
■講師情報
島田浩二(しまだこうじ)
https://www.snoozer05.org/
1978年神奈川県生まれ。電気通信大学電気通信学部情報工学科卒。
2009年に株式会社えにしテックを設立。
https://www.enishi-tech.com/
2011年からは一般社団法人日本Rubyの会の理事も務める。
https://ruby-no-kai.org/
近著に
『ソフトウェアアーキテクチャ・ハードパーツ』(オライリージャパン、翻訳)
https://www.amazon.co.jp/dp/4814400063/
『ソフトウェアアーキテクチャの基礎』(オライリージャパン、翻訳)
https://www.amazon.co.jp/dp/4873119820/
『ユニコーン企業のひみつ』(オライリージャパン、共訳)
https://www.amazon.co.jp/gp/product/4873119464/
『モノリスからマイクロサービスへ』(オライリージャパン、翻訳)
https://www.amazon.co.jp/gp/product/4873119316/
など他多数。
(上記リンクは全て外部サイトとなります。)
筆者 砂田 文宏(DX事業部 兼 アジリティCoE)