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
少人数チームにおける複数アプリの継続的デリバリー_Yoshihiro Tanaka
Search
UPSIDER, Inc. Tech&Product div.
November 12, 2025
0
160
少人数チームにおける複数アプリの継続的デリバリー_Yoshihiro Tanaka
【Flutter特集】Flutter開発の裏側〜各社が向き合う課題と挑戦〜 (
https://findy.connpass.com/event/370621/
)の登壇資料です。
UPSIDER, Inc. Tech&Product div.
November 12, 2025
Tweet
Share
More Decks by UPSIDER, Inc. Tech&Product div.
See All by UPSIDER, Inc. Tech&Product div.
Go Night Talks – After Conference 登壇資料 Hikari
upsider_tech
0
440
AIを使った新規サービス構築ヒアリングの スピード向上と品質向上
upsider_tech
0
340
事業特性から逆算したインフラ設計
upsider_tech
0
490
Redefine_Possible
upsider_tech
0
1.3k
Makuake*UPSIDER_LightningTalk
upsider_tech
0
2k
pmconf2024_UPSIDER
upsider_tech
0
13k
CloudNative Days Winter 2024|UPSIDER
upsider_tech
0
1.9k
How to create an LLM-based user experience for UPSIDER
upsider_tech
0
840
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Producing Creativity
orderedlist
PRO
348
40k
Bash Introduction
62gerente
615
210k
Practical Orchestrator
shlominoach
190
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
4 Signs Your Business is Dying
shpigford
186
22k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
970
The Cult of Friendly URLs
andyhume
79
6.7k
Visualization
eitanlees
150
16k
Balancing Empowerment & Direction
lara
5
750
Code Reviewing Like a Champion
maltzj
527
40k
Transcript
少⼈数チームにおける複数 アプリの継続的デリバリー Yoshihiro Tanaka
Yoshihiro Tanaka • UPSIDER, Inc. • App team • ⼤体
2 年くらい
None
None
None
Agenda 1. App team の役割 2. Team 構成 3. 私たちの課題
4. 課題に対する対応
App team の役割
• いくつかの app と backend を管理するのが主な役割 ◦ UPSIDER ◦ PRESIDENT
CARD ◦ Mobile backend ◦ 今後は White label apps も展開 • App team ⾃⾝でも計測や評価を⾏い、機能を設計している • ⼀部 QA の設計や実施も担っている
Plan Action Analyze Evaluate App team Plan Team B Plan
Team A
Team 構成
• Engineer 3 名 • 全員が Android / iOS /
backend を実装する体制 ◦ Flutter app なので実装コストが⽐較的低い ◦ Backend は Go なのでこちらも学習‧実装コストが抑えられる ◦ 仕様は基本的に全員が把握‧共有する
課題
• 2 つの app / backend を効率よく開発していく必要がある ◦ QA の設計などもあるため、リリースが混み合うと開発⼯数が少なくなる
◦ Hotfix などもその都度発⽣し得る
• UPSIDER app と PRESIDENT CARD app には重複した機能 が多い •
⼀⽅で、それぞれ個別の機能も存在する • A に⼊った機能や修正は B にも⼊れたい
対応
Repository • 数ヶ⽉前に monorepo に変更した • 今までは App, package 別の
repository で管理していたが… ◦ 別の app に機能を持ってくるのが⾯倒 ◦ 修正を⽚⽅に反映するのを忘れる ◦ CI/CD 上での private package の管理が煩雑
App packages UPSIDER And more… PRESIDENT CARD Before
App packages UPSIDER PRESIDENT CARD Shared Package C apps UPSIDER
PRESIDENT CARD Shared Package A Package B After
Development • Pub workspaces を使⽤して管理 • 共通機能に関しては shared 配下の package
に順次切り出す • Apps 配下の shared ◦ まだ package に切り出せていないもの ◦ CI/CD 関連の共通のもの
CI/CD • それぞれの directory の変更に応じて lint などを実⾏する ◦ Package /
Shared が変更された場合はそれぞれが⾛るように
CI/CD • Release 時は namespace で release branch を切り分けて それぞれ
QA 向け、Prod 向けの準備をする ◦ E.g. releases/upsider/v1.0.0
Cons • リリースでどのような差分が⼊ったか把握す るのが難しい ◦ Devin などを活⽤して markdown 形式で書き出させ ている
• Devin などの⾃⽴型 AI agent に repository の構成を教えたり、workspace の setup を ⼯夫する必要がある
Pros • 開発効率は上がっている ◦ 依存関係などもより早く upgrade できるようになった • CI/CD の管理がかなり楽になった
◦ 主に⾃分が管理していたため、個⼈的に⼀番嬉しい
今後の展望
• Cursor, Devin, v0, Claude Code などを活⽤した効率化 ◦ 特に事務作業やリリース作業の効率化を今後も進める •
Figma や Designer との連携強化 • AI を活⽤した E2E test の実施
おわり