Slide 1

Slide 1 text

Backstageでつくるセルフサービスな 社内開発基盤

Slide 2

Slide 2 text

自己紹介 坂﨑 菊之介(Kikunosuke Sakazaki) 所属: ソフトバンク株式会社 法人事業統括 AI・クラウドプラットフォーム本部 経歴: 2025年 ソフトバンク入社 「クラウドネイティブ・アプリケーション・プラットフォーム(CNAP)」の開発 出身: 熊本 趣味: フットサルとボウリング

Slide 3

Slide 3 text

アジェンダ 話すこと 01 | AIで変わる開発と新たな課題 02 | 03 | 04 | AI時代に私たちの組織が直面した課題 Backstageによるアプローチ Backstageを活用してどのように課題を解決しようとしたのか 取り組みと成果 Backstageによる取り組みと成果 まとめ AI時代のセルフサービス開発におけるBackstageの役割 本日のゴール Backstageの役割を理解いただき、自社での活用アイディアとしていただく

Slide 4

Slide 4 text

Backstageについて Backstage 4つの基本機能 01 | Software Catalog 情報の一元管理 02 | Software Templates 開発作業の標準化 03 | TechDocs ドキュメント管理 04 | Plugins 外部ツールの統合 Backstageとは? 開発者の入口を1つにし、 既存ツールをまとめるポータル

Slide 5

Slide 5 text

これまでのBackstage利用状況 活用内容 ・プロダクトのテクニカルドキュメント集約 ・カタログ登録 ・アカウントの登録の自動化 部署横断でBackstageを利用し業務改善に役立ててきた MSPチーム MSP事業:顧客のクラウド導入・移行から環境構築、その後の運用までを一気通貫で支援する (MSP : Managed Service Providerの略称) サービス企画 サービス開発 MSPチームの戦略 を考案 顧客や、組織を支援 するプロダクトの開発 デリバリー MSPサービス全般の 導入等案件対応 運用 顧客のクラウド環境の 運用・保守を代行

Slide 6

Slide 6 text

01 | AIで変わる開発と新たな課題

Slide 7

Slide 7 text

AI時代以前の組織の課題 MSPチーム MSP事業:顧客のクラウド導入・移行から環境構築、その後の運用までを一気通貫で支援する サービス企画 サービス開発 MSPチームの戦略 を考案 顧客や、組織を支援 するプロダクトの開発 デリバリー 運用 MSPサービス全般の 導入等案件対応 顧客のクラウド環境の 運用・保守を代行 小さな改善でもエンジニアへの依頼が必要だった

Slide 8

Slide 8 text

AIで変わる開発の前提 バイブコーディングの実用性が高まり、AIを活用することで開発のハードルが下がっている Before After 専門知識がないと コードを書けない AIを活用すれば 業務担当者自身 がコードを書ける AI活用で「誰でもコードを書ける」ようになってきた

Slide 9

Slide 9 text

AI時代に直面した課題 01 | 実用化までのハードルの高さ コードは書ける・動けるものは作れるが、業務利用するにあたって、保守性を 意識したり、実行環境を構築までするのは難易度が高い 02 | ガバナンスの維持 開発のハードル低下によって皆が自由に開発を進めるとガバナンスが効かなく なり、管理コストが増大 AIで「誰でもコードを書ける」だけでは、セルフサービス開発は成立しない

Slide 10

Slide 10 text

02 | Backstageによるアプローチ

Slide 11

Slide 11 text

Backstageの活用 開発に必要なハーネスを整った環境を用意すれば一定のルールに沿って開発できる ドキュメント ひな形 ルール Backstageから標準化された開発環境を払い出す

Slide 12

Slide 12 text

実現した仕組み 全チームが利用するBackstageから、ハーネスを組み込んだSWTを払い出す 自動化したい Gitrepo払い出し SWTの選択 開発用Gitrepo Backstage ユーザー カタログによる管理 SWT A SWT B SWT C カタログ登録 Skeleton コードのテンプレート 使用方法を記載したDocs 誰でも“一定のルールのもと”作れる仕組みを提供する SWT : Software Templates

Slide 13

Slide 13 text

デモ

Slide 14

Slide 14 text

03 | 取り組みと成果

Slide 15

Slide 15 text

セルフサービス開発に向けた2つの取り組み GAS開発のセルフサービス化 MCPサーバー開発のセルフサービス化 企画チームの使用する GoogleAppScriptを誰でも簡単 に開発・実行するためのテンプレート を開発 AI利用増加でニーズが高まっている MCPサーバを誰でも簡単に開発・デ プロイするためのテンプレートを開発

Slide 16

Slide 16 text

セルフサービス開発に向けた2つの取り組み GAS開発のセルフサービス化 MCPサーバー開発のセルフサービス化 企画チームの使用する GoogleAppScriptを誰でも簡単 に開発・実行するためのテンプレート を開発 AI利用増加でニーズが高まっている MCPサーバを誰でも簡単に開発・デ プロイするためのテンプレートを開発

Slide 17

Slide 17 text

GAS開発のセルフサービス化 Gitrepo払い出し SWTの選択 開発用Gitrepo Backstage ユーザー カタログによる管理 SWT A SWT B SWT C カタログ登録 Skeleton コードのテンプレート 使用方法を記載したDocs リポジトリの構造と開発の流れについて説明 GAS : Google App Script

Slide 18

Slide 18 text

GAS開発を行うリポジトリの構造 払い出されるリポジトリ(テンプレート)の中身 • docs/requirements/ : 実装したい内容を整理した要件ファイル • docs/plans/ : 要件をもとに作成した開発計画ファイル ①設計・計画 • src/ : TypeScript のソースコード • dist/ : ビルド後の出力先clasp が push する対象 • dist/appsscript.jsonApps : Script の設定ファイル ② 実装・ビルド ③ 開発支援設定 • .github/copilot-instructions.md : repository 共通ルール • .github/prompts/ (plan , implement , review ): Copilot prompt • .clasp-example.json : .clasp.json を作るためのサンプル

Slide 19

Slide 19 text

リポジトリを活用したGAS開発フロー …手動作業 …AIが実装 要件を書く docs/requirementsを更新 開発計画作成 docs/plansを更新 計画に沿った実装 src/を更新 サービス情報ファイル生成・更新 catalog-infoを生成・更新 実装内容レビュー docs/plansを基にレビュー 使い方ドキュメント生成 docs/usage/index.mdを生成 GASに反映 動作確認後GASに反映 commit/push Catalog・ドキュメントの登録・更新

Slide 20

Slide 20 text

GAS開発のセルフサービス化 派遣管理表の月次確認業務を題材にGASアプリケーションを作成 非エンジニアの自走化 標準化された管理 月30分のタスクを5分に短縮 ポータル上で成果物を自動的 にカタログ管理 横展開による業務効率化 ルールに則った開発の実施 他のGAS自動化可能な 企画タスク6件への横展開 AIを使ったコーディングができる環境を整え、誰でも標準的にGASを作れる状態へ 20

Slide 21

Slide 21 text

セルフサービス開発に向けた2つの取り組み GAS開発のセルフサービス化 MCPサーバー開発のセルフサービス化 企画チームの使用する GoogleAppScriptを誰でも簡単 に開発・実行するためのテンプレート を開発 AI利用増加でニーズが高まっている MCPサーバを誰でも簡単に開発・デ プロイするためのテンプレートを開発

Slide 22

Slide 22 text

MCPサーバー開発のセルフサービス化 Backstageからリポジトリを払い出してAIでコーディングという流れは変わらない SWTの選択 ユーザー Gitrepo払い出し 開発用Gitrepo Backstage MCPサーバを実際に 動かすための実行基盤 MCPサーバーを稼働させるためにインフラの構築が必要 GitOps連携 Kubernetes クラスター

Slide 23

Slide 23 text

MCPサーバー開発のセルフサービス化 Backstageからリポジトリを払い出してAIでコーディングという流れは変わらない SWTの選択 ユーザー Gitrepo払い出し Backstage 開発用Gitrepo MCPサーバー をデプロイ リポジトリの構造、開発したMCPサーバーのデプロイ方針を説明 Kubernetes クラスター

Slide 24

Slide 24 text

MCPサーバー開発を行うリポジトリの構造 払い出されるリポジトリ(テンプレート)の中身 ① ビルド・起動設定 • src/main.py : MCPサーバ本体の初期化・起動 • src /pyproject.toml : Python環境・依存関係の定義 • src /Dockerfile : コンテナ化・実行方法の定義 • deploy/app/ : CNAP上にMCPサーバを自動デプロイするためのテンプレート • deploy/clusters/ : クラウドベンダー毎の差分を管理 ② デプロイ定義 ③ AI開発支援設定 • skills-lock.json : アプリ本体・依存関係・コンテナ化 • agents/skills/fastmcp-client-cli : skill 本体の定義

Slide 25

Slide 25 text

MCPサーバーのデプロイ方針 MCPサーバのを動かす仕組み GitOps設定 リソース定義 MCP本体の イメージをpull リソース定義に沿って 実行環境を構築 Container registry インフラ構築も意識しない開発体験を目指す

Slide 26

Slide 26 text

04 | まとめ

Slide 27

Slide 27 text

まとめ 01 | 「AIで標準的に開発できるGolden Path」を 組織へ配布する起点になる 単にAIにコードを書かせるだけではなく、決められた流れに沿ってAIを活用しながら 開発の実施が出来る 02 | 「誰でもコードを書けるだけ」の状態から脱却 何も意識せずとも、一定のルールのもとでAIを駆使して開発を実施することができ る仕組みを確立 Backstageを起点に、真の「セルフサービス開発」を実現