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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Atsunori Kuriyama
October 29, 2021
Programming
0
1.5k
新規機能開発に負けない。 ビッグバンリリースに立ち向かう方法
Atsunori Kuriyama
October 29, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
740
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
380
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
460
手戻りゼロ? Spec Driven Developmentとは@KAG AI week
tmhirai
1
170
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
230
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
290
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
0
210
Codex の「自走力」を高める
yorifuji
0
1k
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
390
文字コードの話
qnighy
44
17k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
290
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
200
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
460
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
130
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
960
Between Models and Reality
mayunak
2
230
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Context Engineering - Making Every Token Count
addyosmani
9
740
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Building an army of robots
kneath
306
46k
The agentic SEO stack - context over prompts
schlessera
0
680
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