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
事業フェーズの変化に対応する 開発生産性向上のゼロイチ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masato Inoue
September 06, 2024
Programming
0
650
事業フェーズの変化に対応する 開発生産性向上のゼロイチ
Masato Inoue
September 06, 2024
Tweet
Share
More Decks by Masato Inoue
See All by Masato Inoue
10,000店舗の飲食店を支えるGoと バックエンドアーキテクチャの変遷 🌮
masaygggg
3
740
GoでTCPサーバーの GracefulShutdownをシンプルにやる
masaygggg
0
69
CTOとしてどのように役割を変えてきたか / 4年間を振り返ってみた
masaygggg
0
4.2k
Startup CTO of The Year 2023 株式会社tacoms井上将斗
masaygggg
0
180
Other Decks in Programming
See All in Programming
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
560
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
230
登壇資料を作る時に意識していること #登壇資料_findy
konifar
1
660
AIエージェントの設計で注意するべきポイント6選
har1101
7
3.4k
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
880
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
210
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.7k
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
240
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
290
CSC307 Lecture 06
javiergs
PRO
0
680
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
970
CSC307 Lecture 04
javiergs
PRO
0
650
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
52
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
190
Why Our Code Smells
bkeepers
PRO
340
58k
The Curse of the Amulet
leimatthew05
1
8.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The agentic SEO stack - context over prompts
schlessera
0
630
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
920
For a Future-Friendly Web
brad_frost
182
10k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
280
So, you think you're a good person
axbom
PRO
2
1.9k
Thoughts on Productivity
jonyablonski
74
5k
Transcript
2024/09/11 成⻑フェーズスタートアップでの開発⽣産性向上の取組み 株式会社tacoms CTO 井上将⽃ 事業フェーズの変化に対応する 開発⽣産性向上のゼロイチ
井上将⽃ ⼤学在学中からスタートアップに興味 複数社でビジネス&エンジニアインターン ⼤学4年の春にtacomsへ⼀⼈⽬エンジニアで参画しCTO 野球/スターウォーズ/お笑いが好き☺ @masa1934yg ⾃⼰紹介
tacomsについて ⼤学⽣向けデリバリーサービスの開発→失敗 学⽣起業‧シードラウンド資⾦調達 プレシリーズA資⾦調達調達 シリーズA資⾦調達 Camel正式リリース デリバリー注⽂⼀元管理サービス β版リリース 2019年 2020年
2021年 2022年 2023年 創業者の3名がForbes 30 Under 30 Asiaに選出 すごいベンチャー100に選出
会社概要 飲⾷業界向けSaaS 「Camel シリーズ」の提供 ⾃社店舗/ブランドオリジナルの テイクアウトデリバリーサイト ⽴ち上げ 受け渡し⽇時指定〜商品選択〜 決済‧購⼊まで対応 複数デリバリーサービスの
受注⼀元化 店舗営業状況などのサイト側 反映 POSや本部システムとの連携 BtoB プロダクト BtoC プロダクト
全国8000店舗以上の飲⾷店で導⼊ 🎉 実際のお客様マップ!!
今⽇お伝えしたいこと スタートアップにおいて開発⽣産性が 課題になったタイミングの事例 ⽣産性を改善するプロジェクトの ゼロイチについて
事業成⻑に伴う開発⽣産性の課題 ⽬次 ⽣産性指標を可視化し改善の運⽤を始める まとめ‧今後へ向けて
事業成⻑に伴う開発⽣産性の課題
Uberや出前館など複数サービスを ⼀元管理するためデータ量が多い 飲⾷店向けということもあり 24時間365⽇稼働が求められるシステム デリバリーという特性上から リアルタイム性が重要 外部連携に依存してる機能が多く 不確実性⾼い フードデリバリー各社 前提‧tacomsが向き合う事業特性
2023年7⽉時点 2チーム 計7名 SREチーム 2024年7⽉時点 3チーム計15名 昨年⽐ 2倍 事業成⻑〜組織規模の拡⼤〜 Camel
Order チーム Camel チーム SREチーム Camel チーム
2023年7⽉時点 デプロイ回数 4〜7 / weekly 減少😭 事業成⻑に伴いデプロイ頻度が低下 2024年7⽉時点 デプロイ回数 2〜3
/ weekly
2023年7⽉時点 デプロイ回数 4〜6 / weekly 減少😭 事業成⻑に伴いデプロイ頻度が低下 2024年7⽉時点 デプロイ回数 2〜3
/ weekly WHY!?
リリースの負担が増えデプロイ頻度が減少傾向に ‧事業成⻑に伴い⼤⼿企業のクライアントも増加しリリース作業失敗時の影響範囲も拡⼤ ‧リリース作業失敗時の影響範囲が拡⼤するにつれてリリース作業前の確認フローが増加 ‧E2Eテストは⼿動で⾏っているためメンバーの⼯数が圧迫 ‧結果としてリリース頻度が減少傾向に リリース作業 失敗時の 影響範囲 リリース プロセス時間
QA/CI/CD..etc リリース頻度 が減少傾向に リリース担当 エンジニアの 作業⼯数
リリースの負担が増えデプロイ頻度が減少傾向に ‧事業成⻑に伴い⼤⼿企業のクライアントも増加しリリース作業失敗時の影響範囲も拡⼤ ‧リリース作業失敗時の影響範囲が拡⼤するにつれてリリース作業前の確認フローが増加 ‧E2Eテストは⼿動で⾏っているためメンバーの⼯数が圧迫 ‧結果としてリリース頻度が減少傾向に リリース作業 失敗時の 影響範囲 リリース プロセス時間
QA/CI/CD..etc リリース頻度 が減少傾向に リリース担当 エンジニアの 作業⼯数 このままだと事業成⻑とデプロイ頻度が反⽐例に 事業規模が⼩さかった時のアジリティを取り戻し 最速で顧客価値を届けたい
⽣産性指標を可視化し改善の運⽤を始める
改善へ踏み出す前にまず⽬的を明確にする 確実に‧効率良く‧⾼速に 顧客価値を届け続ける 開発チームであるため ⽣産性向上 の ⽬的 ‧経営管理‧評価制度‧エンジニアチームのオンボーディングなど様々な⽤途は考えられるが、 マネジメントにおいて活⽤することはスコープに含めない ‧開発⽣産性を改善する⽬的はあくまで顧客価値を最速で届けるチームになるためと定義する
課題理解を深めるために指標を可視化する ‧SPACEなどメトリクスの種類は様々あるがまずは愚直にFourKeysを採⽤ ‧変更失敗率と変更復旧時間については課題感がないため⼀旦やらない⽅針 スループット指標の2つをスコープに 変更時の 障害率 デプロイ 失敗時の 復旧まで の時間
デプロイ 頻度 変更の リードタ イム
変更のリードタイムは内訳をきちんと可視化する ファーストコミットからデプロイまでのプロセスを細分化 どのプロセス時間がボトルネックなのかを明確にする
ダッシュボードを作って現状の指標を可視化する ⽣産性可視化ツールについてはOSSや有料 ツールなど様々な⼿段がある 「チームのプロセスを変更したくなかった」 「ローコストで始めたかった」 という2つの理由からツールを⾃作 Github APIを活⽤しPullRequestや ReviewCommentのデータを取得しGoogle スプレッドシートへ出⼒。出⼒されたデータ
を元にLockerStudioで可視化。 ※ 時間の関係上ツールの詳細は割愛します
現状と理想のギャップを確認する 理想 48〜60 / h デプロイ頻度 現状 1〜3 / daily
理想状態についてはFourKeysの指標を参照しつつ、DORAのレポートで定義されているパ フォーマンス レベルの話はあえてしていない。(Eliteクラスターになることが⽬的になること を避けるため) 24 / h 変更の リードタイム 2 / weekly
開発⽣産性に取り組む背景‧⽅向性をチームに⽰す ‧現状の組織においてどのような課題があるのか、なぜ開発⽣産性に取り組むべきなのか ‧現状と理想にどのようなギャップがあるのかを⾔語化してチームに⽰す
有志メンバーでWG発⾜ WGオーナー CTO EM WGメンバー 有志 有志 SRE SRE ‧開発⽣産性を改善していくにはチームメンバーの理解や取り組みへの協⼒が不可⽋
‧ボトムアップで進めるためにもアプリケーションチームのメンバーから有志メンバーを募る ‧有志メンバーに加えWGのタスクに関わる可能性があるSREチームのメンバーは適宜参加
WGのマイルストーンを定めてプロジェクトを推進する ‧WGのゴールとして期⽇や⽬標指標を定める ‧⽬標指標を達成するためにQごとにマイルストーンを定めてタスクロードマップを作成 ‧タスクロードマップはアプリケーション開発‧QA‧SREの3チームにおいて作成していく ‧Qごとの⽬標から⽉間⽬標を策定。隔週でMTGしてプロジェクト推進
まとめ 事業フェーズの変化に伴いデプロイ頻度が落ちて きたら“⻩⾊信号” と捉え課題を探索する ⽣産性を改善する⽬的を明確化し 現状と理想のギャップを⽰した上でチームが⾃律的 に改善出来る仕組みを作る
おわりに 〜今後へ向けて〜 改善の運⽤を始められたものの、まだまだプロジェクトは始まったばかりでこれから改善が 動き出すところです! 飲⾷業界向けプロダクトであり求められる信頼性が⾼い業界だからこそ、今後事業成⻑して いく中でもスピードが落ちないような開発組織にしていきたいと考えています。 こんな挑戦をしているtacomsに少しでもご興味持ってくれた⽅は是⾮カジュアルにお話しし ましょう👏 QAエンジニア含めた エンジニア各ポジション 絶賛募集中です👏👏👏
採⽤HP テックブログ https://zenn.dev/p/tacoms https://tacoms-inc.com/#block-cddb 337d21b847408a45f9ee69b14077