Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
バクラクの組織とアーキテクチャ(要約)2025/01版
Search
shkomine
January 30, 2025
Technology
12k
17
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
バクラクの組織とアーキテクチャ(要約)2025/01版
https://findy.connpass.com/event/340323/
でお話したスライドです。
shkomine
January 30, 2025
More Decks by shkomine
See All by shkomine
バクラクの爆速開発を支える開発文化
shkomine
0
2.1k
成果の最大化と向き合うEM思考
shkomine
28
21k
2年弱で5つのプロダクトが立ち上がる中での組織の変化と現場が向き合うハードシングス
shkomine
4
4.7k
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
130
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
220
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
1.3k
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
130
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
260
Webとヘルスデータ
yukukotani
1
200
AI時代のAPI品質を支えるガードレール / API Guardrails for API quality in the AI era
yokawasa
1
170
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
110
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
240
推論の観測、できていますか? 〜 Google Cloud Gemini Enterprise Agent Platformで 3つの Gemini モデルを実測して踏んだ、評価の罠 〜
shukob
PRO
0
180
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
120
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
4
920
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
30 Presentation Tips
portentint
PRO
1
390
Unsuck your backbone
ammeep
672
58k
Between Models and Reality
mayunak
4
450
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
840
Darren the Foodie - Storyboard
khoart
PRO
3
3.9k
Designing Experiences People Love
moore
143
24k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
Into the Great Unknown - MozCon
thekraken
41
2.7k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
340
Transcript
© LayerX Inc. LayerXのアーキテクチャと組織について Shohei Komine @sh_komine 2024/01/30 アーキテクチャ選択で組織はどう変わる?
目次 Agenda 自己紹介 1. バクラクのご紹介 2. コンパウンドを実現するバクラクの組織 3. コンパウンドを実現するバクラクのアーキテクチャ
© LayerX Inc. 3 LayerX • 2021/08/16 入社 => TechLead
=> Engineering Manager => 部長 • 元々プレイングマネージャー • 担当プロダクトのメンバー 2名 => 約10名 => 複数のプロダクトチームの担当部長 経歴・スキルなど • 社歴: Yahoo! JAPAN => Candee => 友人と共同創業 => LayerX • スキル: Go, Typescript, Nuxt.js, AWS, Android, ベトナム駐在, iOS, Elixir, GCP, etc… • 趣味: 登山、お酒(クラフトビール・日本酒・ワイン)、サウナ、筋トレ 書いた記事 • 【GraphQL × Go】gqlgenの基本構成とオーバーフェッチを防ぐmodel resolverの実装 • 開発チームのマネージャーとして意識しているチームのCapability • 成果の最大化と向き合うEM思考 バクラク プロダクト開発部 部長 小峯 祥平 自己紹介
© LayerX Inc. 4 事業概要
© LayerX Inc. 5 バクラク事業
© LayerX Inc. 6 仕訳データ 振込データ ⼊⾦データ 発注 請求 発注
請求 バクラクシリーズの全体像 バクラクは、企業取引の前段となる 稟議の統⼀ と 債権‧債務の⼀元管理が可能。 従業員‧経理のそれぞれが係る業務領域において、なめらかな業務連携により企業経営を加速させます。 取引先 債権管理 債務管理(⽀出管理) 銀⾏ 会計ソフト 請求書 処理 経費 精算 振込 稟議 法⼈ カード 請求書 発⾏ 仕訳 (※12⽉より 順次リリース) ⼊⾦消込 (※) 仕訳 従業員 経理 (※) 開発予定 (※) 開発予定の機能を含む
© LayerX Inc. 7 バクラクのプロダクトの考え方 バクラク立ち上げ時から単一プロダクトではなく、 複数のプロダクトでビジネスドメインを拡大していき、 企業の全部門、業務を支えるSaaS となることを目指す。 •
部署でサービスを区切るのではなく、 データを中心にサービスを統合する • プロダクト間の連携の良さそのものが プロダクトである。 単純なマルチプロダクトではない。 • 組織として、複数のプロダクトを管理、 ローンチするケイパビリティを持つ バクラクはコンパウンドスタートアップを志向する from: コンパウンドスタートアップというLayerXの挑戦 | 福島良典
© LayerX Inc. 8 バクラクのプロダクトの考え方
© LayerX Inc. 9 プロダクトリリースの変遷 2021年1月 2021年4月 2021年12月 2022年5月 2022年8月
バクラクビジネス カード バクラク 請求書 バクラク 申請 バクラク 経費精算 バクラク 電子帳簿保存 Invoice/AP Workflow Box Expense Card 2023年3月 Card SaaS 経費精算+ バクラクカー ド連動 2023年8月 Invoice/AR バクラク 請求書発行 サービス開始4年で7+のサービスを展開 2025年1月 HR バクラク 勤怠
コンパウンドを実現する バクラクの組織
© LayerX Inc. 11 コンパウンドを実現するバクラクの組織とアーキテクチャ 新規プロダクト立ち上げ方 お客様にWowを届けるためには、以下の3つの要素のかけ合わせが重要 • ドメインにディープダイブする力 •
エンジニアリング力 • デザイン力 「何を作るか」も決まりきっていない新規プロダクトの立ち上げでは、 上記の3つの要素が揃う、なるべく少ない人数(PdM・デザイナー・エンジニアの3〜5名の少人数のチーム)の コミュニケーションコストを極力まで下げたチームで、 「ヒアリング・仕様策定・デザイン・バックエンド開発・フロントエンド開発」 といった開発プロセスを行ったり来 たりしながら高速にループを回す事で、良いプロダクトを早く届ける事を実現しています。 from: CPOが開発する覚悟 ドメインに ディープダイブ する力 エンジニア リング力 デザイン力
© LayerX Inc. 12 コンパウンドを実現するバクラクの組織とアーキテクチャ バクラクの組織の考え方 「プロダクト開発チームがお客様の課題・ドメインに徹底的に向き合い、プロダクトをフルサイクルに開発する事で 爆速開発を実現する。」 という事が新規プロダクトを立ち上げ続けるコンパウンドなバクラクにおいて、昔からベースとなる考え方。 その上で、チームトポロジーを参考に、プロダクト開発チーム(Stream
Aligned Team) を 以下のチームがサポートし、全体の生産性・成果を最大化する体制へと徐々に変化してきた。 - Enabling Team: プロダクト開発チームとコラボレートし、技術的な障害を取り除き、 必要に応じて再利用できるツールやシステムに落とし込む - Platform Team: X-as-a-Serviceとして、認証・認可サービスや外部向けAPI基盤等を提供 - Complicated Subsystem Team: 専門性の高いシステムとして、AI-OCRや証憑突合サービス等を提供
© LayerX Inc. 13 コンパウンドを実現するバクラクの組織とアーキテクチャ プロダクト開発チーム - 各プロダクトにPdM、EM、TLをアサイン、 各プロダクトの意思決定はプロダクト内で完結する自律的な チーム群
- 各プロダクトは3〜5名のエンジニアで+デザイナー, QA、少人数の職能横断チームを構成 - プロダクトのフェーズは様々(0->1 〜 10->100) - ユーザー規模の大きいサービスほど、よりドメインは複雑になり、品質が重要視される - チームでの意思決定の幅は広い - プロダクトやチームの目標設定 - ex. インセプションデッキ、四半期のOKRやロードマップ - 日頃の開発サイクル - ex. 要望、プロダクトバックログ、 顧客へのヒアリング、 スクラムの会議体の管理 プロダクト開発チーム 申請・経費精算 Web 請求書受取 電子帳簿保存 ビジネスカード 請求書発行 勤怠 申請・経費精算 App
© LayerX Inc. 14 各プロダクトチームを様々な横断チームがサポートする体制を構築 コンパウンドを実現するバクラクの組織とアーキテクチャ 様々な横断チーム 共通管理 DevOps Enabling
機械学習 QA Data デザイン AI-UX Engneering Office サポート カスタマー サポート プロダクト組織を支える横断チーム 遊撃 プロダクト開発チーム 申請・経費精算 Web 請求書受取 電子帳簿保存 ビジネスカード 請求書発行 勤怠 申請・経費精算 App AI-OCR
コンパウンドを実現する バクラクのアーキテクチャ
© LayerX Inc. 16 最初からコンパウンドを志向していたので、 - 独立したチームが動きやすい用に、プロダクト毎にサービス・DBを独立 - 共通管理はサービスとしては切り出すが、みんなで面倒 -
新しいプロダクトの立ち上げ時に少しずつ新しい技術を試す方針 (GraphQL, React, etc...) コンパウンドを実現するバクラクの組織とアーキテクチャ 立ち上げ期(2021, 22年頃)のアーキテクチャ
© LayerX Inc. 17 プロダクトが増えるにつれ、課題が増える - 連携したデータを見せるため、フロントから各プロダクトへの大量の呼び出し - プロダクト間連携における様々な問題が発生 -
Service間のIFの互換性、依存関係が複雑. 循環参照なども発生. etc… コンパウンドを実現するバクラクの組織とアーキテクチャ 立ち上げ期(2021, 22年頃)のアーキテクチャの課題
© LayerX Inc. 18 Enabling, DevOpsチームを中心に、Working Groupも組成し、新アーキテクチャへ 課題: 連携したデータを見せるため、フロントから各プロダクトへの大量の呼び出し 👉
全プロダクト共通のEntry Point = GraphQL Gateway • 複数のサービスのリソースを FrontEndにまとめて返す仕組み • GraphQLの特性でアンダーフェッチ、 オーバーフェッチなども防げる • 認証情報の処理もここで一元管理 コンパウンドを実現するバクラクの組織とアーキテクチャ サービス間連携を強化したアーキテクチャへ(2023, 24年頃)
© LayerX Inc. 19 コンパウンドを実現するバクラクの組織とアーキテクチャ 課題: プロダクト間連携における様々な問題(IFの互換性、依存関係が複雑. 循環参照など) 👉 マイクロサービスの作成コストとその連携コストを極力下げて、サービスの立ち上げ・連携をより手軽に
マイクロサービスを自動生成 • Protobufと構成ファイル(jsonnet)からマイクロサービスのスケルトン実装を自動生成する仕組み • infraもterraformをCI/CDで生成し、デプロイまで実行できる サービス間通信は Protobuf(connect-go)で標準化、 Handler, Clientも自動生成 • GraphQL Gateway -> Microservices • Microservice -> Microservice ◦ 同期(API通信) ◦ 非同期(PubSub/Queue+Worker/Batch) localで各serviceを一斉に立ち上げられるプロセスマネージャーツール • マイクロサービスはlocalがつらい. 増えてもlocalでのdebugコストを上げない工夫 from: ビジネスドメインの拡大を実現するバクラクシリーズでのモノレポ開発 サービス間連携を強化したアーキテクチャへ(2023, 24年頃)
© LayerX Inc. 20 AWS Cloud data store api FrontEnd
OpenSearch Fargate (ECS) SQS TypeScript MySQL Aurora DynamoDB React Next.js Go 使用技術 S3 worker Fargate (ECS) Go GraphQL another systems バクラク 共通管理 バクラク 仕訳 and more micro services… Gateway Fargate (ECS) GraphQLTypeScript EventBridge Backend connect-go (Protocol Buffers) プロダクト開発チームの一例です。 connect-go (Protocol Buffers) Mobile Flutter Dart
© LayerX Inc. 21 コンパウンドを実現するバクラクの組織とアーキテクチャ 今回話せなかったですが、Enablingと同じような横断な取り組みは他にも色々動いています。 - Data: Snowflakeに移行し、Productデータ(DB, Datadog,
etc...)、Bisuinessデータ (Salesforce, etc...)を一元で取得可能に - 機械学習: テナントごとに学習できる 「パーソナライズドAI-OCR」が誕生 - QA: Playwrightを利用した、E2Eテスト基盤を整備 - デザイン & フロントエンド: デザインシステムガイドラインを策定、コンポーネント群を作成中 - etc... 話せなかったこと
© LayerX Inc. 22 まとめ ここまでバクラクの組織とアーキテクチャの変遷をざっとお話しました。 そしてなにかすごく上手く行っている風に聞こえたかもしれませんが、まだまだ課題は山積みです。 • これからもまだまだプロダクトは増え続ける =>
果てないドメイン・データ連携との戦い • お客様のデータも増え続ける => パフォーマンスとの戦い • 社外とのデータ連携も増え続ける => 基盤の更なる進化が必要? • 初期のプロダクトはまだ新しい基盤に乗せきれていないものも多くある • フロントエンド開発の基盤もまだまだこれから • 生成AIの登場で変わるユーザー体験・開発者体験 まとめ
© LayerX Inc. 23 課題を一緒に問いてくれる方、 懇親会で是非お話しましょう! - プロダクトにオーナーシップをもって開発したい方! - フルスタックに開発したい方!
- ドメインにDeepDiveしてお客様への価値提供をしたい方! - Enabling Teamでプロダクトを技術でリードしたい方 - LLMやMLを活用して新しい体験を作りたい方 - チームを束ねて成果を出したいEMの方 - PdM、デザイナー、QA、etc... バクラクは全方位採用中 さいごに 採用情報 https://jobs.layerx.co.jp/
Fin.