Upgrade to Pro — share decks privately, control downloads, hide ads and more …

APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform

APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform

Postman API Night Tokyo 2024 Springで登壇した際の資料になります。

https://postman.connpass.com/event/309418/

Yuki.Ozasa

April 18, 2024
Tweet

More Decks by Yuki.Ozasa

Other Decks in Technology

Transcript

  1. © 2024 Anti-Pattern Inc. All rights reserved. 自己紹介 ソフトウェアエンジニア 兼

    CEO 兼 VPoE 小笹 佑京(Ozasa Yuki) 株式会社アンチパターン 代表取締役 日本 CTO 協会 Contributor 立教大学卒業後、2014年に株式会社イノベーションに入社。 マーケティングオートメーション SaaS開発業務に従事。 2016年には同社でマザーズ上場を経験。 2018年より開発本部長を歴任。 2019年7月株式会社アンチパターンを創業。 ▪主な登壇暦 ・Regional Scrum Gathering Tokyo 2022 ・AWS DevDay Online Japan 2022 ・GitHub dockyardコミュニティ 竣工イベント
  2. © 2024 Anti-Pattern Inc. All rights reserved. { "name": "小笹

    佑京", "romanizedName": "Ozasa Yuki", "positions": [ { "company": "株式会社アンチパターン", "title": "代表取締役" }, { "organization": "日本 CTO 協会", "role": "Contributor" } ], "education": { "university": "立教大学", "graduationYear": 2014 }, "career": [ { "company": "株式会社イノベーション", "startYear": 2014, "notes": [ "マーケティングオートメーションSaaS開発業務に従事", "2016年には同社でマザーズ上場を経験", "2018年より開発本部長を歴任" ] }, { "company": "株式会社アンチパターン", "startYear": 2019, "foundYear": 2019, "monthFounded": "July", "notes": "創業" } ], "speakingEngagements": [ { "event": "Regional Scrum Gathering Tokyo", "year": 2022 }, { "event": "AWS DevDay Online Japan", "year": 2022 }, { "event": "GitHub dockyardコミュニティ 竣工イベント", "year": "unspecified" } ] }
  3. © 2024 Anti-Pattern Inc. All rights reserved. 今回のテーマとアジェンダ APIファーストなプロダクトマネジメントの実践 〜SaaSus

    Platformでの例〜 • 我々がなぜ、SaaSus Platformをやるのか? • プロダクト開発の潮流 • 当社での事例 • さいごに
  4. © 2024 Anti-Pattern Inc. All rights reserved. 解決すべき日本の課題 - 日本の現状

    日本においては95%の企業がDXを推進できていない。 経済産業省デジタルトランスフォーメーションの加速に向けた研究会の中間報告書『DXレポート2(中間取りまとめ)』より抜粋 https://www.meti.go.jp/press/2020/12/20201228004/20201228004.html
  5. © 2024 Anti-Pattern Inc. All rights reserved. 課題の解決方法 - SaaSの活用

    SaaSに合わせて業務プロセスを変革することでDXを促進する。 ユーザー SaaS ベンダー ナレッジの提供 活用データの提供 活用データの分析 ナレッジを活かした機 能開発 最適な業務プロセスを 構築するために 必要なナレッジの集合。
  6. © 2024 Anti-Pattern Inc. All rights reserved. SaaS の活用メリット 営業管理ソフト

    会計ソフト 労務ソフト 営業管理 SaaS 会計 SaaS 労務 SaaS コスト & リスク コスト & リスク => 割り勘効果を得ている 自社開発 & パッケージソフト SaaS 利用
  7. © 2024 Anti-Pattern Inc. All rights reserved. SaaS提供事業者 SaaSを提供する難易度 従来型パッケージと比較して、SaaSの提供はカバー範囲が広い。

    アプリケーション開発者 作成 従来型パッケージ提供事業者 顧客企業 システム 構築担当者 システム 運用担当者 利用者 利用者 利用者 アプリケーション開発者 カスタマーサクセス SRE 利用者 顧客企業 利用者 顧客企業 利用者 顧客企業 ・・・・・・・・ アプリ開発 システム 構築・運用 利用 SaaS事業者は契約企業分全てのシステム構築・運用の責務を持つ。 そのためマルチテナントの構成を検討し実装 /運用する必要がある。 従来型ソフトウェアは 各社でシステムを構築運用していた。 アプリ開発 システム 構築・運用 利用
  8. © 2024 Anti-Pattern Inc. All rights reserved. テクノロジー活用方針 一般にプロダクト開発において何を自前で作るべきかについて検討が必要 技術的競争領域

    技術的非競争領域 事業的 競争領域 事業的 非競争領域 経済産業省「DX 実践手引書」より https://www.ipa.go.jp/files/000094497.pdf 名刺管理など紙を扱うプロダクトであれば、 OCRのような特許を申請できるような領域
  9. © 2024 Anti-Pattern Inc. All rights reserved. テクノロジー活用方針 一般にプロダクト開発において何を自前で作るべきかについて検討が必要 全領域をカバーするのは難しい

    技術的競争領域 技術的非競争領域 事業的 競争領域 事業的 非競争領域 経済産業省「DX 実践手引書」より https://www.ipa.go.jp/files/000094497.pdf
  10. © 2024 Anti-Pattern Inc. All rights reserved. テクノロジー活用方針 一般にプロダクト開発において何を自前で作るべきかについて検討が必要 フォーカスする領域を定めた技術戦略が重要

    技術的競争領域 技術的非競争領域 事業的 競争領域 事業的 非競争領域 ここを自前で作ることに フォーカスすべき 技術コンポーネントの導入 共通プラットフォーム化 場合によってはサービス化 SaaS 利用で最適化 経済産業省「DX 実践手引書」より https://www.ipa.go.jp/files/000094497.pdf
  11. © 2024 Anti-Pattern Inc. All rights reserved. SaaS を取り巻く環境 -

    SaaS ジャーニー 立ち上げを中心に見た SaaS ジャーニー例
  12. © 2024 Anti-Pattern Inc. All rights reserved. SaaS を取り巻く環境 -

    SaaS ジャーニー 立ち上げを中心に見た SaaS ジャーニー例 お客様
  13. © 2024 Anti-Pattern Inc. All rights reserved. SaaS を取り巻く環境 -

    SaaS ジャーニー 立ち上げを中心に見た SaaS ジャーニー例 お客様 法律 エコシステム 好むと好まざるとに関わらず変化を求められるので 将来の「運用」まで考慮する
  14. © 2024 Anti-Pattern Inc. All rights reserved. SaaS を取り巻く環境 -

    SaaS ジャーニー 開発時点での要求を満たせれば良いというものではないので注意が必要 認証 請求 生成AI 変化を求められる例 • 新しいデバイスの登場 • 新しいセキュリティポリシーと認証機構の登場 • 税制の改訂 ◦ 各国や州ごとで違うものを追随 • 新しいモデルの登場 • AI規制の法案の登場
  15. © 2024 Anti-Pattern Inc. All rights reserved. SaaSの社会的意義 SaaSも、外部のテクノロジーを活用しながら、ベストプラクティスを、 洗練された開発運用体制で提供することで、より大きな社会的価値となる

    単純なサービス提供型へ 顧客の環境で動いていたサービスを そのままの形でSaaS提供事業者が 保有してもそれはBPOサービスと同等になる 付加価値の高いSaaSへ あらゆるモダンな技術を活用 しながら、利用 者全員でその恩恵を受ける ことで、社会的 価値は高くなる そのまま移行
  16. © 2024 Anti-Pattern Inc. All rights reserved. SaaSの社会的意義 SaaSはインターネット経由でサービスを提供するだけではない 業界の

    ベストプラクティスを 共有効果の高い アーキテクチャを 継続的に顧客価値を高 められる体制を アプリケーション アーキテクチャ 体制 モダンなアーキテクチャを活用したSaaS化を目指すことで 顧客への価値が最大化される
  17. © 2024 Anti-Pattern Inc. All rights reserved. 自社で作るスコープを絞る モダンアプリケーション開発の潮流 SaaS提供に必要な機能群は多岐に渡るため

    API Firstでなるべくすでにある機能は外部サービスを活用し コア機能に集中する 各SaaS固有のコア機能群 (顧客提供価値の中心) テナント管理 インフラ 認証/認可 管理画面 監視 分析 請求/計測 デプロイ SaaSで必要な機能群 自社エンジニアは コア機能にフォーカス ※ここに記載した外部APIサービスはあくまでも一例となります
  18. © 2024 Anti-Pattern Inc. All rights reserved. APIを公開していく意義 SaaS利用者もワークフローに合わせて複数の SaaS(API)を組み合わせていくことが考えられる。

    APIを公開することでエコシステムに加入することが可能となる。 SaaS① SaaS② SaaS③ ワークフロー iPaaS
  19. © 2024 Anti-Pattern Inc. All rights reserved. SaaSus Platformのご紹介 弊社がもつ

    SaaS 開発のナレッジを集約し、 SaaS 開発 / 運用 / 販売を支援する SaaS を開発 / 提供
  20. © 2024 Anti-Pattern Inc. All rights reserved. SaaSを利用 顧客に直接価値提供する機能群 競争力高いSaaSであるために

    必要な機能群 SaaS特有の ナレッジ テナント管理 認証・認可 稼働状況分析 請求・利用料 開発計画 プランニング 事業 モニタリング 外部サービス 連携 BizDevOps 関連ツール 内製開発 業務ナレッジ 請求書作成 送信 入金消し込み 見積書作成 ※機能名は一例 SaaS 提供事業者 ※機能名は一例 SaaSus Platformを活用することで、業務ナレッジにフォーカスした機能開発を実現 SaaSus Platformのご紹介
  21. © 2024 Anti-Pattern Inc. All rights reserved. SaaSアプリケーションのスプリットプレーンアーキテクチャ DevOps Silo

    Model Architecture Pool Model Architecture Bridge Model Architecture Hybrid Model Architecture SaaS provider admin application Onboarding Identity Tenant Management User Management Billing Analytics Tier Management Monitoring Application plane(コア機能) Control plane(SaaS特有機能)
  22. © 2024 Anti-Pattern Inc. All rights reserved. SaaSus Platform活用イメージ SaaSの開発において、SaaSで共通的に必要な機能は

    SaaSus Platform側と連携 企業A 企業B 企業C 自社SaaS環境 SaaS基本 情報管理 役割管理 ユーザー管理 連携機能 料金プラン 管理 請求金額 管理 認証機能 ログイン画面 管理 SaaSus Platform SDK 運用担当者 機能1 機能2 機能3 機能4 事業責任者 エンジニア 1. コア機能は自社環境に開発 2. SDKやAPIで連携部分を実装 3. 画面から必要な情報は設定 1. 料金プランを設定 2. セキュリティレベルを定義 3. 必要な役割を定義 契約企業 管理 1. ユーザーの管理 2. 契約企業の管理 SaaS開発コンソール SaaS運用コンソール SaaSログイン画面 • Amazon EventBridge連携 • AWS Marketplace連携 • Amazon App Stream2.0連携(予定)
  23. © 2024 Anti-Pattern Inc. All rights reserved. 当社での事例 API ではモジュラモノリスを採用

    モノリスアプリケーション内で、ドメインモデル等を単位として 独立性を担保したモジュールに分解したもの。 Clean Architecture で実装。 ▪採択理由 • SaaS 開発における一定のドメイン知識を有しており、 モジュールの分割イメージがあったため • 将来的にマイクロサービスに移行しやすい状態にするため • 現時点においては一定の Agility を担保したいため
  24. © 2024 Anti-Pattern Inc. All rights reserved. 当社での事例 ソフトウェアアーキテクチャ(アプリケーション視点) クライアント


    Backends For Frontends Auth Module User Module Tenant Module Billing Module ・・・
 APIs Internal API Public API
  25. © 2024 Anti-Pattern Inc. All rights reserved. 当社での事例 PublicなAPIに関してはドキュメントも公開して円滑な利用が可能な状態に https://docs.saasus.io/ja/docs/saasus-platform-document/

    「開発者に受け入れられる SaaSとは?」 をチームで考えた時に、 ドキュメントが充実していること が重要となったので、投資をし ています。
  26. © 2024 Anti-Pattern Inc. All rights reserved. SaaSus Platform機能一覧 マルチテナント

    SaaS の認証 ユーザ管理 テナント管理 役割(ロール)管理 料金プラン管理機能 請求処理 (Stripe 連携機能) PHP、 TypeScript、Go、Python の SDKを公開 Amazon EventBridge 連携機能 AWS Marketplace 連携機能
  27. © 2024 Anti-Pattern Inc. All rights reserved. Stripe連携機能 Stripeから顧客に 自動で請求書が発行される

    ベーシックプラン ベーシックプラン ライトプラン 企 業 A [email protected] ライトプラン APIで自動連携 SaaSus Platform自体で決済代行機能は持たず、Stripeと連携できる機能を提供
  28. © 2024 Anti-Pattern Inc. All rights reserved. なぜ自社開発せずにStripeを使うのか? サービス開発において、コア以外の機能が必要な部分はとても多い APIで外部サービスを活用することで、全てのエンジニアが強みにフォーカスした開発ができる

    SaaS SaaS提供事業者 株式会社アンチパターン Stripe, inc. 例えば、人事系、会計系、マーケ ティング系などSaaSが カバーする領域こそが強み BtoB SaaSの共通機能を 一元管理できることが強み 金融サービス全般が強み 活用 活用
  29. © 2024 Anti-Pattern Inc. All rights reserved. 利用者(SaaS提供事業者)の視点 SaaSの恩恵を受けてベ ストプラクティスを活用し

    たい 使っているSaaS自体が 勝手に成長してくれるとい い 自前では専門知識レベル、開発スピード、既存アセットの観点で到底 Stripeよりいいものは作れない。 Stripe の劣化版を提供するのではなく、自分達の価値提供領域にフォーカスした。 なぜ自社開発せずにStripeを使うのか? 作り手(弊社)の視点 開発すべき機能が 山盛り・・・ 国の制度などの変更に追 随し続けなきゃ 決済領域は 考慮点が多いなぁ
  30. © 2024 Anti-Pattern Inc. All rights reserved. Stripeと連携すること自体をある種の強みにする テクノロジー活用方針 自社でも「何を自前で作るべきか」について検討した結果、Stripeとの連携を採択

    技術的競争領域 技術的非競争領域 事業的 競争領域 事業的 非競争領域 BtoB SaaS特有の ナレッジのSaaS化に フォーカス 技術コンポーネントの導入 共通プラットフォーム化 場合によってはサービス化 SaaS 利用で最適化 経済産業省「DX 実践手引書」より https://www.ipa.go.jp/files/000094497.pdf
  31. © 2024 Anti-Pattern Inc. All rights reserved. 自社で作るスコープを絞る モダンアプリケーション開発の潮流 SaaS提供に必要な機能群は多岐に渡るため

    API Firstでなるべくすでにある機能は外部サービスを活用し コア機能に集中する 各SaaS固有のコア機能群 (顧客提供価値の中心) テナント管理 インフラ 認証/認可 管理画面 監視 分析 請求/計測 デプロイ SaaSで必要な機能群 自社エンジニアは コア機能にフォーカス ※ここに記載した外部APIサービスはあくまでも一例となります 再 掲
  32. © 2024 Anti-Pattern Inc. All rights reserved. モダンアプリケーション開発の潮流に乗るために Postman API

    ネットワークに公開することを計画しています。 パブリック API ネットワーク • 多くの利用者・開発者に知ってもらう • 利用者の Time To First Call の短縮 • 利用者からのフィードバックと改善
  33. © 2024 Anti-Pattern Inc. All rights reserved. SaaS開発ガイド -テナント編- のご紹介

     SaaS開発ガイドダウンロードページ URL: https://saasus.io/resource/e-book/saas-dev-guide-tenant