概要
JJUG CCC 2026 Spring で聴いた増田亨さんのセッション「AI時代のソフトウェア設計の学び方」の聴講メモと、そこから考えたことを書く。
セッションの内容そのものも価値が高かったが、この記事で書きたいのはそこではない。「問いの整理に十分な時間をかけ、もやもやを最後に具体で着地させる」という講演スタイルに感動した、という話だ。
セッションの構造を振り返る
セッションのタイトルは「AI時代のソフトウェア設計の学び方」だ。これは、今まさに多くのエンジニアが「で、結局何を勉強すればいいの?」と感じている問いそのものを掲げたタイトルである。
しかし増田さんは、すぐに答えを出さなかった。
前半の相当な時間を、問いの整理に費やした。
- AI技術の活用方向性:自動化(無人化)vs. 人の活動支援
- 設計スタイル:大きな事前設計(BDUF)vs. 小さな設計の反復
- この2軸で作った4象限のどこを目指すか
そしてVUCAという概念(変動性・不確実性・複雑性・多義性)を使って、事業開発・組織開発・ソフトウェア開発の三つが一体化しつつある現代の事業環境を丁寧に描いた。
注意: 増田さんは「小さな設計の反復 × 人の活動支援」を断言した訳ではない。4象限のどこが正解かを決めたのではなく、「VUCA環境下では、この方向性との整合性を強く意識することになる」というニュアンスだった。大規模な事前設計が向いている分野もあるし、完全自動化が有効な領域もある。しかし、多くの事業現場においては、という文脈だ。この微妙さは、正直に伝えておきたい。
感動した理由①:問いに正直に向き合っていた
ここまでが前半の「問いの整理」パートだ。
多くの講演では、この段階で「だからこのツールを使おう」「このフレームワークが正解だ」という答えの提示が来る。あるいは逆に、問いを整理したまま「一緒に考えましょう」で終わるモヤモヤ系講演になる。
増田さんはどちらでもなかった。
「あらかじめ用意された答えはない世界」と正面から言い切り、そのうえで「では、どう学ぶか」という問いに向かって進んだ。この問いから逃げない姿勢が、キャリアの長い技術者にしか出せない誠実さだと感じた。
感動した理由②:最後に具体で着地した
そして後半、答えが来た。
初級から中級に向かうための具体的な入口として提示されたのが、区分まわりのコードだ。
if/switch(名前のない暗黙の区分)
enum(名前を付けて明示された区分)
区分マスタテーブルを参照している場所
この3つに注目せよ、という話だ。なぜ区分か。区分を判定し区分ごとにルールを切り替えるロジックは、「利益 = 売上 − 費用」を持続的に達成するための差別化戦略の実装箇所と強くつながっているからだ。
つまり、区分まわりのリファクタリングは、設計改善の練習であると同時に、事業目的適合性を学ぶ入口でもある、という論立てだ。
これは説得力があった。「設計を学べ」という一般論ではなく、「コードのここを見ろ、なぜならそこが事業ロジックと直結しているから」という具体性がある。
感動した理由③:経営の本質を3行で言い切った
もう一つ、僭越ながら付け加えたい。
増田さんはセッションの中で、事業目的をざっくり理解するための「3つの公式」を示した。
① 利益 = 売上 − 費用
② 安定した利益 = 競争優位
③ 競争優位 = 差別化戦略の実行結果
経営やビジネスを学んできた立場から言うと、これは相当な蒸留だ。ポーターの競争戦略理論をはじめ、厚い本棚一段分の経営論が、この3行に収まっている。エンジニアが事業目的を理解するための入口として、これ以上シンプルな提示はなかなかできない。そのシンプルさ自体が、深い理解の産物だ。
ただ、一つだけ問いを置いておきたい
この3つの公式は普遍的だ。おそらく今後も長く使える。
しかし——。
「利益を上げ続けること」が持続性の定義ではなくなりつつある企業が出てきた。
「競争に勝つこと」が目標ですらなくなりつつある事業領域が生まれてきた。
プラットフォーマーは長期間赤字を積みながらポジションを取りに行く。AIは競争の土俵ごと書き換える。差別化の模倣速度が人間の戦略サイクルを超えたとき、「差別化を実行する」より「差別化し続ける速度そのものが競争優位」という構造に変わる。
そしてもう一歩踏み込むと——持続性の正体が、「勝ち続けること」から「問い続けること」に変わってきているのかもしれない。
競争相手と戦う場を前提にした戦略論ではなく、競争の場そのものを問い直し続ける能力。それが、変化の速度が戦略を追い越した時代における「持続性」の新しい姿なのかもしれない。
これはまだ答えのない問いだ。増田さんの講演が「問いを丁寧に扱う」スタイルだったことへのオマージュとして、この記事もあえて問いで終わらせたい。
まとめ
セッション「AI時代のソフトウェア設計の学び方」から学んだこと
① 問いに正直に向き合う
└─ 「用意された答えはない」と言い切る誠実さ
② 問いの積み上げが答えの深さを決める
└─ 区分まわりのコード、という具体の重みは文脈があってこそ
③ 経営の本質を3行で言い切るシンプルさはリスペクトに値する
└─ しかし、その3行の前提すら問い直される時代が来ているかもしれない
セッション資料は増田さんの公開資料を参照してほしい。
タグ案: 設計 ソフトウェア設計 DDD リファクタリング JJUGCCC