2/15〜2/16に羽田で開催された「Developers Summit 2024」に行ってきました。
Developers Summitは「デブサミ」の愛称で呼ばれる2003年から続くデベロッパーのための祭典で、COVID-19によるオンライン開催を経て今年は4年ぶりにオンサイトで開催されました(主催:株式会社翔泳社)。「人と技術のターミナル」というテーマで、生成AIをはじめとする革新的技術にふれるセッションが、2日間で81セッションも用意されていました。私が申し込みした時点ですでに満員で申し込みできないセッションも多かったので、次回参加される方は早めの申し込みをお勧めします。
私が参加したセッションの中から、以下3つのセッションについてざっくりですがレポートします。
- Google Cloudで始める生成AIアプリ開発入門
- ゼロから大規模アジャイル組織への進化~推進者が語る立ち上げ背景と開発生産性~
- AI時代のDevOpsエンジニアのスキルアップに役立つ3つのポイント
Google Cloudで始める生成AIアプリ開発入門
登壇者:グーグル・クラウド・ジャパン合同会社 中井 悦司 氏
セッション概要など
Google Cloudが提供する主要な生成AIサービスの紹介と、それらを活用して「実際に動くWebアプリ」を開発する流れを解説するセッション。ソースコードやテストコードの作成を自動化するDuet AI for Developersの紹介もありました。
実際に動くWebアプリについて
概要
- 人の写真をアップロードすると、ファッションの観点でコメントしてくれる(褒めてくれる)Webアプリ。
- AIの専門知識がなくても2〜3時間で開発可能。
使うソリューション
- Vertex AI Visual Captioningで、画像の説明をテキストで取得する。
- Vertex AI Visual QAで、画像の中から特定の情報を取得する(今回の場合はファッションの情報)。
- 取得した情報をもとに、大規模LLMであるPaLM2に情報を与えて、ファッションを褒めるメッセージを生成する。
- フロントはFirebase Hostingにフロントをデプロイする。
- バックエンドはCloud Runにデプロイする。
実装
- Jupyter Notebookを使って対話的に開発する。
- Vertex AI Workbenchが便利。
- SDKインストール済みなので、モジュールのImportするだけ。
- API呼び出しの認証設定が不要。
- 対話的に実行を繰り返して、適切なプロンプトを発見できる。
Duet AI for developers
- コーディング作業をLLMが支援してくれる。
- 自分の使っているIDEにプラグインとして使用できる。
- コードを読み取ってコードの内容を説明してくれる。
- コードの自動補完をしてくれる。コーディング中にコンテキストを理解し、この後のコードを提案してくれる。
- コメントからコードを作成してくれる。
- ソースコードに詳細なコメントを追加してくれる。
- コードをより読みやすい形に(リーダブルに)書き換えてくれる(コードのリファクタリング)。
- テストコードを作成してくれる。
- 関数の仕様書を作成してくれる。
Google Cloud が提供する生成 AI ソリューションの全体像
- 「業界特化ソリューション」「Duet AI」
- 「Vertex AI Search and Conversation」
- 「Vertex AI(基盤モデル)」
- 「Google Cloudのデータ処理インフラストラクチャ(GPUs/TPUs、BigQuery、Vector Search)」
※上記4行は、上位行が生成AIを使うためのソリューションで、下位行へいくほど生成AIを作るためのソリューションとなる。
感想
デモを交えた非常にわかりやすい内容で、AIの専門知識がなくても容易に開発できる、開発の生産性もAIが向上してくれる、ということを体感できたセッションでした。私の所属するチーム(MSP開発セクション)で、ちょうど生成AIを活用した社内向けアプリの開発に着手したところだったので、このセッションで得た知見を活用した機能を次のステップで開発することに決めました。
ゼロから大規模アジャイル組織への進化
~推進者が語る立ち上げ背景と開発生産性~
登壇者:KDDIアジャイル開発センター株式会社 岡澤 克暢 氏、ファインディ株式会社 佐藤 将高 氏
セッション概要
- 大企業におけるアジャイル組織の立ち上げ方から、組織を広げるプロセス、チームの成長を支えるための開発生産性への着目点にフォーカスしたセッション。
- 大規模アジャイル組織への進化を推進されたKDDIアジャイル開発センター 岡澤氏のお話がメインでした。
- ファインディ社の「Findy Team+」は、KDDIアジャイル開発センター社が導入した、アジャイル開発の生産性を向上するためのツール。
KDDIアジャイル開発センター株式会社
- もともとはKDDI社内の部門として発足し、その後2022年に株式会社を設立
- 組織人数515名(社員165名、パートナー350名)
- エンジニア8割、デザイナー1割
- 地方拠点は複数
- スクラムチームが約50チーム稼働している
初期フェーズ
- 2つのスモールチームでトライを開始
- 開発プロセス整備(育成、専任化、ツールやDevOpsの整備、ガイドライン調整、など)
アジャイル化への壁とソリューション
上手くいかなかったこと
- チーム教育(勉強会による情報共有、研修、など)
- チームの運用(メンバーローテーション、ツール統一、オフショアチーム+アジャイルチーム)
- 採用(既存の採用を活用)
ソリューション
- チーム教育(コミュニティ活動推進、個別部門・グループごとレイヤーごとのカスタマイズセミナーや研修)
- チームの運用(チーム維持期間の調整、エンジニア主導でのツール選定、オフショアチームをアジャイルチームの中へ)
- 採用(開発部門から、人事部・マーケ部門へ積極的に協力を依頼)
アジャイル開発を推進する上での課題
- 組織体制(プロセスごと縦割り、複数案件対応、人材不足、UIスキル不足、階層的な承認フロー、など)→ スクラムの導入で働き方を変える
- マインドセット(自律的行動、当事者/プロ意識、ビジネスマインド比率、ゴールの共通意識、フラット・並走、心理的安全性、など)→ リーダー層の考え方の共有、コミュニティでの共有・学び
推進するにあたって必要な役割
- スクラムマスターに似た感覚を常に持つ(オープンマインド、ビジネスマインド、視点視座を変え続ける、どう貢献すべきか)
- そもそもアジャイル組織とは(自律性、改善の継続、心理的安全性・HRTが前提、透明性、チームで成し得る状態、ユーザーファースト)
アジャイルな組織づくりにおける開発生産性の重要性
そもそも、なぜ生産性の向上に着目したか
- 生産性は常に関心があった(メトリックスは重要、価値のベースは前提、Copilotなどの生成AIの活用加速)
- 自発的に組織を良くする動きを加速させる文化づくり(気づきを促すための見える化促進、社内プラクティスコミュニティ
開発生産性を向上するためのアクション
- Findy Team+ の導入(導入による気づき → 透明性の向上、1on1のフォロー、など)
- チェックしている指標について(全体を俯瞰 → サイクルタイム、レビューリードタイム、など)
今後の組織づくりにおける取り組みやトライ
- 個々の強みをもっと活かせる組織
- 成長速度を加速する仕組み作り
- Reteamingのベストサイクル
- 楽しいの追求
感想
- KDDIアジャイル開発センター社では、現在約50ものスクラムチームが稼働していることに驚きましたが、そこに到達するまでの課題や取り組みが盛りだくさんで、たいへん勉強になりました。
- 心理的安全性の会話の時に、メンバーへ言いにくいことがあるかという質問に対して岡澤氏が「私の言った言葉を、自分の手前に落ちているものと思ってもらって、そこから自分にとって良いと思うものを拾ってもらう」とコメントされていたのが印象的でした。
- セッションの中で「HRT」という知らないキーワードが出てきたので調べると「Humility(謙虚)」「Respect(尊敬)」「Trust(信頼)」の頭文字を取ったもので、HRTがステークホルダー間で共有されているチームは心理的安全性が確保されているそうです。
- Reteamingというキーワードも聞き覚えがなかったのですが、チームビルディングの新技法で、問題追及ではなく解決志向をベースとして、理想と実現可能な第一歩に焦点を当てるものだそうです。
AI時代のDevOpsエンジニアのスキルアップに役立つ3つのポイント
登壇者:Datadog Japan合同会社 山田 晃嗣 氏
セッション概要
Datadogのテクニカルアカウントマネージャである山田氏が、日々接しているDevOpsの現場の声を元にDevOpsエンジニアのスキルアップに役立つ3つのポイントを解説するセッション。
AI時代に求められるエンジニアスキル
- 生成AI「ChatGPT」の衝撃(プログラムコードまで生成、今も凄まじく進化、30年後の仕事はどうなってる?)
- 「30年後」を考えるために「30年前」を振り返る(プログラミングは計算機室の端末、PCはごく一部のマニアのもの)
- この30年間に登場しその後に大きな影響を与えたもの
- 一般の人視点:インターネット、電子メール、Google検索、通販サイト、スマートフォン、SNS、テレワーク、など
- エンジニア視点:オブジェクト指向、フレームワーク、仮想化、クラウド、サーバレス、マイクロサービス、コンテナ、アジャイル、DevOps、など
- これまでの変化から、この先何十年かで予測されること
- デジタル化されていない分野は多数あり、エンジニアの需要は高まり続ける
- 要求仕様をコード化するだけの作業はAIがやるので、エンジニアに要求されるスキルは高度化する
- 新たな開発手法やツールの登場も続き、旬のテクノロジーも変化する一方で、過去も未来も普遍的に求められるエンジニアの基盤となるスキルは存在し続ける
- 旬のテクノロジーと普遍的な基盤スキル
- 旬のテクノロジー:DevOps、マイクロサービス、クラウドネイティブ、AIツール、etc → エンジニアに求められるスキル
- 普遍的な基盤スキル:全体俯瞰、ビジネス思考、コミュニケーション
- オブザーバビリティ:旬のテクノロジーと普遍的な基盤スキルの双方と密接に関連
オブサーバビリティとは?
- 可観測性
- 元々制御工学用語で、外部出力により複雑なシステムの内部状態を理解できること。
- ITの世界では、取得したデータをもとにシステムの状態を推測・把握する手法として最近使われるようになり、「監視」と対比して語られることが多い
- マイクロサービスとともにオブザーバビリティの必要性が高まっている(OpsだけでなくDevでの必要性など)
- 旧来の監視 vs. オブザーバビリティ
- 旧来の監視:固定された監視対象、対象ごとの個別の警告閾値、警告の影響・原因・対策は人が判断
- オブザーバビリティ:監視対象の柔軟な選択、複数情報から問題の重要度を把握、問題の影響や原因・対策の情報も提供
- 背景にあるマイクロサービスアーキテクチャのメリット/デメリット
- メリット:柔軟性、拡張性(変更やデプロイが容易、コード再利用しやすい、開発期間短縮、高負荷機能に絞った拡張でリソース有効活用)
- デメリット:複雑化(全体設計や管理の難易度高、問題箇所の特定・デバッグ・総合テストが困難、変更の影響範囲の把握が困難)
- 複雑化しすぎた「デス・スターアーキテクチャ」
出典:InfoQ クラウドネイティブアーキテクチャの採用、Part2:安定化のギャップとアンチパターン
- マイクロサービスのデメリットを低減するオブザーバビリティ
- 複雑なマイクロサービス間の依存関係を可視化
- リクエストに対して実行された処理を追跡(どの処理に時間がかかっているか、どこでエラーが発生したか)
- エンジニアに求められる「普遍的な基盤スキル」をもう一度
- 全体俯瞰、ビジネス思考、コミュニケーション → オブザーバビリティはこの3つのスキルと密接に関連する
- 様々な視点からシステム全体を俯瞰:インフラ視点、マイクロサービス視点、大量ログの分析
- システムの最終目的であるビジネスの状況も可視化:実際のユーザーの利用傾向、コンバージョン率、ドロップ率
- システム状況の可視化は、人と人とのコミュニケーションのツール:適切に可視化された情報はチームで認識を共有する手助けとなる
Datadogで分かるオブザーバビリティ
- Datadog とは:SaaSベースのオブサーバビリティツール
- 全体俯瞰ができる:クラウドごとのVMの状況把握、AZ間ネットワークトラフィック、マイクロサービスの依存関係
- 詳細分析もできる:各マイクロサービスの、処理時間、呼び出したマイクロサービス、発生したエラー
- ビジネス状況の把握ができる:Web画面のクリック状況、ユーザージャーニーの可視化(Webページの遷移傾向、など)
- コミュニケーションの円滑化ができる:様々な可視化方法でダッシュボードを表示し、情報・状況を共有
- チーム間で常に「同じ目標」「同じ問題意識」を共有できる
- 旬のテクノロジーも充実:機械学習による異常動作の自動検知、生成AIによる質問回答
オブザーバビリティとDatadogに興味を持った方へ、Datadog Learning Centerの紹介
- 全42コースの無料学習コース(ハンズオン実習付き)
- 2週間のDatadog評価環境を「何度でも」利用可能(設定自体は2週間でリセットされる)
- Datadogだけでなく、オブザーバビリティやクラウドネイティブ、マイクロサービス全般を学習することができる。
感想
AIの推進が加速化する中でもデジタル化されていない分野は多数ありエンジニアの需要は今後も高まり続ける、というお話を聞きホッとした反面、要求仕様をコード化するだけの作業はAIがやるのでエンジニアに要求されるスキルは高度化する、というお話で身が引き締まりました。高度&普遍的なスキルや旬のテクノロジーを活用してDXを推進するためには、DevOpsの実践とオブザーバビリティの導入は必須であるとあらためて感じました。
最後に
セッション数が多く盛り沢山でたいへん貴重な2日間でした。アイレットはこういったイベントに積極的に参加させてもらえるのでとてもありがたいです。来年のデブサミも是非参加したいと思います。