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
新規機能開発に負けない。 ビッグバンリリースに立ち向かう方法
Search
Atsunori Kuriyama
October 29, 2021
Programming
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
新規機能開発に負けない。 ビッグバンリリースに立ち向かう方法
Atsunori Kuriyama
October 29, 2021
Other Decks in Programming
See All in Programming
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
120
速習iPhone Duo対応
yuukiw00w
1
510
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
120
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
240
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
170
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
330
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1k
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
170
自分的「カンファレンスの楽しみ方」
syumai
0
200
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
110
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
Featured
See All Featured
BBQ
matthewcrist
89
10k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
500
Product Roadmaps are Hard
iamctodd
55
13k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
How to Talk to Developers About Accessibility
jct
2
550
Into the Great Unknown - MozCon
thekraken
41
2.7k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
510
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1k
Making Projects Easy
brettharned
120
6.8k
A Soul's Torment
seathinner
8
3.6k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
240
Transcript
© commmune Inc. All rights reserved 新規機能開発に負けない。 ビッグバンリリースに立ち向かう方法 1
© commmune Inc. All rights reserved 自己紹介 2 栗山 敦任(kuriyama
atsunori) コミューン株式会社, サーバサイドEM - 福岡→札幌→大都会東京 - 妻とネコ氏2匹 - ドラム, トロフィー集め、麻雀 #ReactLT
© commmune Inc. All rights reserved 新規機能開発してますか? 3 #ReactLT
© commmune Inc. All rights reserved ビッグバンリリースしてませんか? 4 #ReactLT
© commmune Inc. All rights reserved ビッグバンリリースとは 5 修正・変更範囲のとても広いリリース -
大きめの新規機能をまるっとリリース - 1万行を越える差分 - 数百ファイルに及ぶ変更 #ReactLT
© commmune Inc. All rights reserved ビッグバンリリースすると何が辛いのか 6 修正・変更範囲のとても広いリリース -
差分が大きいからレビュー大変 - 本番環境で動確する範囲が広い - バグってた時の切り戻し - 「え、これrevertするの…?」 #ReactLT
© commmune Inc. All rights reserved とにかくめちゃめちゃ辛い 7 #ReactLT
© commmune Inc. All rights reserved フィーチャートグルで 分割リリースしよう 8 #ReactLT
© commmune Inc. All rights reserved フィーチャートグルとは 9 フィーチャートグルは、ソフトウェア開発 において、複数のソースコードのブランチ(機能ブランチ)を維持するのとは別の方法
を提供しようとする手法である。 ~ 機能トグルを利用すれば、開発者たちはメインのトラックに頻繁にソースを統合しつつも、開発中の機能へ入っていける実行 経路のトグルを「OFF」にしておけば、その機能は「死んだ」状態になる。新しい実行経路を有効にするための労力は、単にト グルを「ON」に設定するだけなので、十分に小さい。 https://ja.wikipedia.org/wiki/フィーチャートグル #ReactLT
© commmune Inc. All rights reserved フィーチャートグルとは 10 何かしら動的なパラメータをユーザ側で設定してあげる事で ある機能の
on/off を実現する仕組み → 基本何もしなければ機能は off のままなので、 実装途中の変更分を本番リリースしても問題なし #ReactLT
© commmune Inc. All rights reserved どう実現するか 11 - フィーチャーを有効にしたいページのURLにhashを乗せる
- https://commmune.com/feature#hash(任意の文字列) - hashの有無でフィーチャーの on/off を判定する処理を作成 - 個別に↑を呼び出して on/off 判定、処理を分岐させる #ReactLT
© commmune Inc. All rights reserved 実際に使ってみる 12 - 特定のフィーチャーが有効かどうか判定する処理を用意
#ReactLT
© commmune Inc. All rights reserved 実際に使ってみる 13 - コンポーネントの出し分けをしたい
#ReactLT
© commmune Inc. All rights reserved 実際に使ってみる 14 - API
の呼び出し先を切り替えたい #ReactLT
© commmune Inc. All rights reserved まとめ 15 - タスクの粒度が小さくなった
- レビューが楽に - 動確も楽に - バグってた時の切り戻しも楽に - 少しずつ本番リリースしていくので精神衛生上とても良い #ReactLT
© commmune Inc. All rights reserved 分割リリースやっていきましょう 16 #ReactLT