Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
BASE BANKチームの 技術選定と歴史/ how to decide technology...
Search
KEITA YANAGAWA
June 28, 2022
Technology
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BASE BANKチームの 技術選定と歴史/ how to decide technology selection for startup
KEITA YANAGAWA
June 28, 2022
More Decks by KEITA YANAGAWA
See All by KEITA YANAGAWA
エンジニアリングは、 どこまで拡大解釈できるか 「一人でもプロダクトが作れるこの時代に、 私は、あなたとプロダクトを作りたいのです」 と言われるために心技体を繋いでいく
gimupop
9
5.6k
AIもくもく会 #1
gimupop
1
450
fukugan-dojo-adv
gimupop
0
300
エンジニアの思考法はこの先も技術の外でも 通用するのか
gimupop
0
1k
Dev x PM x PL エンジニアはビジネス構造を作れる
gimupop
0
100
プロダクトと事業、その境界線はどこにあるのか 登壇資料
gimupop
0
160
エニアグラム✖️インテグラル✖️AI 15分版
gimupop
0
420
「その気にさせる」エンジニアが 最強のリーダーになる理由
gimupop
4
2.5k
PdMと事業責任者をわける アカウンタビリティというスキルについて ROSCAFE ぴーえむないと
gimupop
1
2.5k
Other Decks in Technology
See All in Technology
ScotSecure West 2026 - Glasgow
raybugg
0
150
AI時代、データエンジニアが一番おもろい
genshun9
0
680
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
3
1.1k
Goodbye ShellScript, Hello File-based App
shunsock
0
640
事業課題から技術的負債に向き合う
sansantech
PRO
2
2.2k
2026-09-08 そのJavaモダナイゼーション、AIに丸投げで大丈夫?IBM Bobで変わる品質と効率
yutanonaka
1
130
サーバーレスをどこまで使う? WebRTC対戦ゲームで選んだVPSとの共存設計
kaidouji85
0
310
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
120
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
170
Why Agent Cost Needs Observability
nttcom
0
120
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
10
5k
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.9k
Featured
See All Featured
Design in an AI World
tapps
1
330
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Balancing Empowerment & Direction
lara
6
1.3k
Amusing Abliteration
ianozsvald
1
310
Thoughts on Productivity
jonyablonski
76
5.4k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
730
BBQ
matthewcrist
89
10k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
Transcript
© 2012-2022 BASE, Inc. 1 #TechKKHS BASE BANKチームの 技術選定と歴史 新規事業プロダクト開発時の技術選定どうやった?
-カケハシ×LINE×BASEの開発者が振り返る技術選定プロセスと内省- BASE株式会社 柳川 慶太 /清水 陽一郎
© 2012-2022 BASE, Inc. 2 #TechKKHS 自己紹介 所属 BASE 株式会社
BASE BANKチーム PdM 事業責任者 経歴 SIer→広告配信システム→BASEエンジニア→BASE BANK PdM キーワード 新規事業 プロダクト開発 組織開発 とにかくやってみる 趣味 アクアリウム ファッション 音楽 SNS Twitter : @gimupop 柳川慶太 (やながわ けいた)
© 2012-2022 BASE, Inc. 3 #TechKKHS 自己紹介 所属 BASE 株式会社
BASE BANKチーム Tech Lead Go、New Relicや自動化など。 趣味 ブログ: https://budougumi0617.github.io/ SNS Twitter : @budougumi0617 Github : https://github.com/budougumi0617 7/22 「詳解Go言語Webアプリケーション開発」出版予定 清水 陽一郎 (しみず よういちろう)
© 2012-2022 BASE, Inc. 4 1 2 3 #TechKKHS 何を考えて技術選定したか
3年間チームで開発しつづけて思ったこと 新規事業を開発しつづけるチームに必要なこと 今日伝えたいこと
© 2012-2022 BASE, Inc. 5 技術選定をした時にいた人の話
© 2012-2022 BASE, Inc. 6 #TechKKHS 今日は導入時のおきもちの話と リリース後チーム拡大期の話をします
© 2012-2022 BASE, Inc. 7 #TechKKHS なので初期フェーズ検討の詳細は こちらの資料をチェックしてください! Speaker Deck
知見のない技術スタックをプロダクション導入するエンジニアの導入戦略
© 2012-2022 BASE, Inc. 8 #TechKKHS 2018年夏 渋谷
© 2012-2022 BASE, Inc. 9 #TechKKHS 新しく金融系のプロダクト作りたい! ショップさんのキャッシュフローをなめらかにしたい! 作り方は任せます!
© 2012-2022 BASE, Inc. 10 #TechKKHS メンバーは 初期専任メンバーは • PO1名
• エンジニア2名(@hgsgtk @yanagawa)
© 2012-2022 BASE, Inc. 11 #TechKKHS リリース目標は まぁ年内行きたいよね
© 2012-2022 BASE, Inc. 12 #TechKKHS ドメインも複雑だし、納期も厳し目だし、リソースも限られている のりと勢いで乗り越えるしかないな 楽しもう
© 2012-2022 BASE, Inc. 13 #TechKKHS 僕が考えていたこと 新規事業に必要な技術選定ってなんだろう? 要件も決まりきっていないし、リリースしても、すぐにそのまま使われるかわからない。 とにかく不確実性が高いプロジェクト。
1. とにかく早く出すこと 2. 素早く改善サイクルを回し続けられること • 自分たちでコントロールできる範囲が広いほうが良さそう • 既存システムからは切り離したほうが良さそう • 最低限APIとして切り出したい • あえて既存と違う言語、アーキテクチャ、インフラでやるが良さそう
© 2012-2022 BASE, Inc. 14 #TechKKHS 僕が考えていたこと ここまでは考えたが、個人的には言語とか細かいアーキテクチャはそこまでこだわりはない それより早く要件ヒアリングと詳細設計がしたい!逸る気持ちが抑えられない! @hgsgtkに基盤周りは任せて要件定義とアプリケーション設計に集中する形に役割分担
そのパートは任せるので1番いいやつを頼む! これがうまくハマってスピードが出た
© 2012-2022 BASE, Inc. 15 #TechKKHS そんなこんなを乗り越え 生まれた 2018年12月 六本木
© 2012-2022 BASE, Inc. 16 #TechKKHS こういう感じになった 「YELL BANK」のシステムアーキテクチャ図 •
「BASE」加盟店にサービス提供 ◦ BASE BANKで開発するサービス・機能は 「BASE」のユーザーに提供しています • 独立したシステム構成 ◦ 「YELL BANK」サービスはBASEのシステムと 疎結合とし、AWS環境も別アカウントで 運用しています ネットショップ作成 サービス 「BASE」 分析データ データ分析基盤 認証・認可、ビジネス ロジックなどシステム処理 ショップ情報提供 サービス提供 ショップのデータ提供 サーバー構成はECS Fargate バッチ処理 (ECS Scheduled Task) APIサーバ群 BASE BANK
© 2012-2022 BASE, Inc. 17 #TechKKHS まとめると • 既存システムと切り離したAPI •
インフラレイヤーも思い切って切り離す • とにかく自分たちで素早く決めて実行できる状態を作る • 新規事業においては実は技術選定も大事だけどチーム内の役割分担も大事 • 特に最初の立ち上がりが大切な新規事業にとって、乗りと勢いは大事 • 新規事業は現実人依存 • 迷ったら気分が乗る方 • 迷ったらオーナーシップがもてる方をやる • 考えて選定した技術には支持者が絶対付く
© 2012-2022 BASE, Inc. 18 #TechKKHS まとめると 私個人はこのあと、新規プロダクト開発を行う組織に興味がでたので、組織設計 から行うPdMにジョブチェンジしました。 どうしたらアジリティを落とさずにプロダクト成長させ続けられるかという課題
に取り組みながら、新規プロダクト開発とグロースをしています。 どうしたらプロダクト開発組織はより強くなれるのか、再現性を持って再生産で きるかということを日々課題に向き合いながらやっていっています。
© 2012-2022 BASE, Inc. 19 技術選定後に入った人の話 4年後の今の話
© 2012-2022 BASE, Inc. 20 #TechKKHS プロダクトの現在 • グロースしつづけている
© 2012-2022 BASE, Inc. 21 #TechKKHS チームの現在 • エンジニア 8名
◦ チーム拡大中のため採用も強化中 • チームが開発しているプロダクト ◦ YELL BANKの拡張 ◦ 本人確認機能(eKYC) ◦ BASEカード(売上残高を使ったカード決済機能) ◦ 振込申請(売上残高の銀行振込)
© 2012-2022 BASE, Inc. 22 何が良かったか
© 2012-2022 BASE, Inc. 23 #TechKKHS 何が良かったか • アジャイルであること •
フルスタックであること • フルサイクルであること • プロダクトに集中できる技術
© 2012-2022 BASE, Inc. 24 #TechKKHS アジャイルであること • 仮説検証を高速でフィードバックすること ◦
当然のようにXPやアジャイルのテクニックにたどり着く ◦ アーキテクチャ・コードとしての正解 ◦ プロダクトとしての正解
© 2012-2022 BASE, Inc. 25 #TechKKHS フルスタックであること • 仮説検証を繰り返すならばチーム内で作業が完結するほうがよい •
選択肢が絞られてはいけない ◦ ex: AWSリソースの変更を含めたリファクタリング • 反面、求められるスキルは多い ◦ Vue/CSS/PHP/Go/Python/Terraform/AWS/Docker CircleCI/GitHub Actions etc
© 2012-2022 BASE, Inc. 26 #TechKKHS フルサイクルであること • Full Cycle
Developers at Netflix — Operate What You Build • 運用しつづけることで得られる気付き • フィードバックループを高速で回すには自分たちで加速させる必要がある 要件定義 設計 企画 開発 テスト 問い合わせ 対応 デプロイ 運用 Software Developers
© 2012-2022 BASE, Inc. 27 #TechKKHS プロダクトに集中できる技術 • その課題・複雑さはプロダクトに依存するものか? ◦
ユーザーの悩み事を解決している?技術的な悩み事を解決している? ◦ トレードオフはある • プロダクト志向だからこそ技術にとらわれない • 技術志向だからこそプロダクトのためにどんな技術も実践できる
© 2012-2022 BASE, Inc. 28 プロダクトに集中できる 技術選定
© 2012-2022 BASE, Inc. 29 #TechKKHS 独立したアーキテクチャ ネットショップ作成サービ ス 「BASE」
認証・認可、ビジネス ロジックなどシステム処理 ショップ情報提供 サービス提供 APIサーバ群 BASE BANK • デプロイ/ロールバックを任意に実施できる • 構成やシーケンスの変更も容易 ◦ Lambdaに切り出して非同期化
© 2012-2022 BASE, Inc. 30 #TechKKHS Go • 「プロダクト」以外の問題が少ない ◦
開発環境構築が容易 ▪ 最新のGoがあればパッケージ管理、テストが実行可能 ◦ バージョンアップ ▪ Go1.Xの間は後方互換性が保証されている
© 2012-2022 BASE, Inc. 31 #TechKKHS Go • 「プロダクト」以外の問題が少ない ◦
コードフォーマットが固定 ▪ 設定やスタイルの良し悪しの議論が発生しない ◦ 静的解析が充実している ▪ 自動化(CIによる指摘)がしやすい ◦ 学習コストが低い ▪ 言語仕様がミニマム
© 2012-2022 BASE, Inc. 32 #TechKKHS Python • 機械学習エンジニアがAPIサーバをメンテできる •
容易に機械学習系のライブラリを利用できる
© 2012-2022 BASE, Inc. 33 #TechKKHS Amazon ECS on Fargate
• コンテナ ◦ Goと合わせるとAnsibleやChefなどは不要 • アプリエンジニアでもメンテが容易 ◦ キャッチアップ可能な量の設定群 ◦ 現状のメンバー数ではKubernetesはオーバースペック
© 2012-2022 BASE, Inc. 34 #TechKKHS Terraform • 専門家でないからこそコード化する ◦
AWSリソースの可視化 ◦ Unkown Unkownの軽減 ▪ 今存在するリソースすべてをAWS Consoleから把握するのは不可能
© 2012-2022 BASE, Inc. 35 #TechKKHS 基盤化 • 共通ライブラリ ◦
DB操作、HTTPサーバとしての基本機能、運用で必要な仕組み ▪ 全社的なSaaS移行やAPM導入にも柔軟に対応できた • CI/CDの整備 ◦ デプロイの容易さ
© 2012-2022 BASE, Inc. 36 次の一手
© 2012-2022 BASE, Inc. 37 #TechKKHS 未来 • より定量的に仮説検証を繰り返したい •
データ駆動開発の本格化 ◦ PMMのJOIN ▪ Product Marketing Manager ◦ Looker導入 ◦ GA/GTM本格化
© 2012-2022 BASE, Inc. 38 まとめ
© 2012-2022 BASE, Inc. 39 #TechKKHS 柳川まとめ 自分たちで決めて決めて決め続ける 4年間を振り返ると、新規事業チームが推進力を持って 改善しながら進むためのキーワードはこれだと実感しています
この歴史のスタートは振り返ってみると技術選定だったのかもしれません 技術選定でオーナーシップを持てたことが今まで事業が続いてきた秘訣のように思います 新規事業はリリースして終わりではなくてグロースが待っています グロースする前に死ぬこともあるし、グロースできないと死にます とにかく出してチームで改善を回し続ける そのためには何ができるか 技術選定が偉大なチームの第一歩になることを願って 神になってクリエイションしましょう
© 2012-2022 BASE, Inc. 40 #TechKKHS 清水まとめ - 新規事業開発と技術選定 •
チームがプロダクトに向き合う時間を最大化できるか • チームが学習できるか ◦ 裁量をもって決断できる ◦ 試行と反省の回数と速度を最大化する ◦ 小さく失敗できる • 一緒にフルサイクル開発に挑戦するメンバーを募集中です!