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
Feature FlagsのDX/UXの 頂点「 DevCycle 」に 辿り着くまでの道のり
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Gunther Brunner
October 26, 2023
Programming
5
1.8k
Feature FlagsのDX/UXの 頂点「 DevCycle 」に 辿り着くまでの道のり
Gunther Brunner
October 26, 2023
Tweet
Share
More Decks by Gunther Brunner
See All by Gunther Brunner
The Madness of Multiple Gemini CLIs Developing Simultaneously with Jujutsu
gunta
1
3.5k
複数のGemini CLIが同時開発する狂気 - Jujutsuが実現するAIエージェント協調の新世界
gunta
16
7.8k
Breaking Down Enterprise AI Tool Adoption Barriers in Japan: CyberAgent's Cursor Implementation Strategy
gunta
0
160
大手企業のAIツール導入の壁を越えて:サイバーエージェントのCursor活用戦略
gunta
45
35k
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
6
1.4k
OpenSaaS Studio - 強いSaaSを作り続けるOpenSaaS Studioの挑戦
gunta
3
3.2k
OpenSTF @ Test Engineers' Meetup #3
gunta
1
1.5k
Android Testing Bootcamp #2: OpenSTF
gunta
1
1.4k
Chrome Tech Night 8 - STF
gunta
0
180
Other Decks in Programming
See All in Programming
CSC307 Lecture 03
javiergs
PRO
1
490
AI巻き込み型コードレビューのススメ
nealle
2
1.5k
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
組織で育むオブザーバビリティ
ryota_hnk
0
180
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
750
今から始めるClaude Code超入門
448jp
8
9.1k
CSC307 Lecture 06
javiergs
PRO
0
690
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
480
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
110
ぼくの開発環境2026
yuzneri
0
250
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
90
Optimising Largest Contentful Paint
csswizardry
37
3.6k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
58
50k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Scaling GitHub
holman
464
140k
Designing for Timeless Needs
cassininazir
0
130
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Done Done
chrislema
186
16k
Transcript
'FBUVSF'MBHTͷ%969ͷ ʮ %FW$ZDMF ʯʹ ḷΓண͘·ͰͷಓͷΓ (ÛOUIFS#SVOOFSʢϒϧϯφʔάϯλʣ
ࣗݾհ r จ෦Պֶলͷࠃඅ֎ࠃਓཹֶੜͱͯ͠དྷཹֶ r 6Q'SPOUJFSʢגʣ ΫϦΤΠςΟϒσΟϨΫλʔɾΤϯδχΞ r ʢגʣ$ZCFS"HFOU ϑϩϯτΤϯυ։ൃ
r 0QFO45'ɿ044Λاըɾશൠ։ൃ r )BZBCVTBɿࣾ4BB4ΛاըɾϚωδϝϯτ r ϦϞͯͳ͠ɿϑϩϯτΤϯυɾ%FW0QT r ʢגʣ"*4IJGU --.Λ׆༂ͨ͠ϓϩμΫτσβΠϯɾΤϯδχΞ @gunta85
0QFO45' 0 Q F O 4 P V S
D F
"OESPJEの実機を リアルタイムに操作 年に企画・開発 テスト自動化用の"1* も用意
ຊͷ 'FBUVSF'MBHT ٕज़બఆͷಓͷΓ %FW$ZDMFͱ %FW$ZDMF $50ͷ ٕज़ઓུ
ٕज़બఆͷಓͷΓ $)"15&3
None
8FCQBDLͷॳຊޠهࣄΛهࡌ
%FW$ZDMFͷॳຊޠهࣄΛهࡌ
3FRVJSF+4 8FCQBDL 7JUF ຊͷٕज़࠾༻ฏۉ̎ʙͷΕ
ӳޠͰపఈతʹௐਚ͘͢ ຊޠͷهࣄͳ͍߹͕ଟ͍ɻ
Stay on the shoulder of the giants •طଘͷٕज़Λར༻͢Δ͜ͱͰ ϝϯςϦεΫΛݮ •৽͍͠ंྠΛ࠶ൃ໌ͤͣʹɺۀքඪ४ͷ
ٕज़ϑϨʔϜϫʔΫΛར༻ Work Smarter, Not Harder ٕज़બఆ ͷ ॏཁੑ •ޮతͳํ๏ͰඪΛୡ͢Δ •ϨόϨοδΛޮ͔ͤͯɺ গͳ͍։ൃͰେ͖ͳՌΛಘΔ
None
None
ιϦϡʔγϣϯ 3FTFBSDI &WFSZXIFSF "MM"U0ODF Ϧαʔν
ཁ݅ఆٛ ϓϩδΣΫτͷχʔζΛ໌֬ʹ͢Δ ࢢௐࠪ طଘͷղܾࡦͱςΫϊϩδʔΛൺֱςʔϒϧ ʹ·ͱΊͯධՁ͢Δ ϢʔβʔϨϏϡʔͱ࣮ࡍʹ৮ͬͯΈΔ ࣮ࡍͷධՁͱϑΟʔυόοΫΛௐࠪ͠ɺ༗ྗީิΛ৮Δ ҰΛ͔͚ͯ
4BB4 ຊͰϝδϟʔͳ4BB4Ҏ֎ɺ ಛʹݟམͱ͕ͪ͠
4BB4ͱ044ͷ ࠷ݶൺֱϙΠϯτ ίετ %9ʢ։ൃऀମݧʣ ΧελϚΠζՄೳੑ αϙʔτ 69ʢϢʔβମݧʣ
ΛҾͬுΒΕͳ͍ͨΊͷ ΞʔΩςΫνϟͷॏཁੑ εέʔϥϏϦςΟ কདྷతʹن͕େ͖͘ͳͬͨ࣌ɺ ͑ΒΕΔ͔ ϨΠςϯγ ج൫ͱͳΔͨΊɺ શମͷϘτϧωοΫʹͳΒͳ͍͔
%9ʢ։ൃମݧʣ ָ͘͠ɾΑΓ͘ΕΔ͜ͱʹΑͬͯ ੜ࢈ੑΛߴΊΒΕΔ͔
'FBUVSF'MBHT
%03"ʢ'PVS,FZTʣ ͱ (PPHMF͕࣮ߦ͍ͯ͠Δ%FW0QT3FTFBSDI BOE"TTFTTNFOU %03" ͱ͍͏࠷େڃϦ αʔνϓϩάϥϜͷݚڀ݁ՌʹΑΔͱɺ։ൃ αΠΫϧͷεϐʔυ্͕͕ΔͱɺࣄۀՁ ্͕Δͱ͍͏͜ͱ͕໌Β͔ʹͳ͍ͬͯ·͢ɻ
τϥϯΫϕʔε։ൃͷඞཁੑ トランクベース ߴͳ։ൃαΠΫϧΛ࣮ݱ͢ΔͨΊͷҰͭ ͷखஈͱͯ͠ɺτϥϯΫϕʔε։ൃ͕ ͞Ε͍ͯ·͢ɻ ͔͠͠ɺτϥϯΫϕʔε։ൃΛಋೖ͢Δʹ ɺϑΟʔνϟʔϑϥάͷٕज़͕ඞཁෆՄ ܽͰ͢ɻ ҆શ͔ͭਝʹ৽ػೳΛϦϦʔε͕Մೳͱ
ͳΓ·͢ɻ リスク削減 τϥϯΫϕʔε։ൃΛਐΊ͍ͯ͘͏ͪʹɺ ϢʔβͷѱӨڹΛ࠷খݶʹ͢ΔͨΊʹɺ ʮ৽ػೳʯΛϑϥάԽ͠ಈతʹཧ͢Δ ඞཁੑ͕ग़͖ͯ·͢ɻ
フィーチャー フラグの
フィーチャー フラグの 比較,1* ଟ͘ͷϑΟʔνϟʔϑϥάγεςϜ͕ ଘࡏɻ ฐࣾͷ044ࣾγεςϜͱͯ͠ ʮ#VDLFUFFSʯɻ ༗໊ͳ4BB4ͱͯ͠ʮ-BVODI%BSLMZʯ ͳͲɺ༷ʑͳબࢶ͕͋Γ·͢ɻ
Ձ֨ ߴֹͳαʔϏε͕ଟ͍ ༻ڥ αʔόʔɺΫϥΠΞϯτɺϞόΠ ϧΞϓϦɺΤοδɺΦϯϓϨͳͲɺ ଟ༷ͳڥͰͷར༻͕Մೳ͔ 4%,ͷ๛͞ νʔϜͰͷಋೖΛ༰қʹ͢Δ4%, ͷఏڙ ύϑΥʔϚϯε
ϨΠςϯγ͔Ͳ͏͔
༻ڥ ఏڙ4%, NT ϨΠςϯγ Ձ֨ɾྉۚମܥɾӡ༻ਓݖඅ
0QFO'FBUVSFඪ४ͱ ϑΟʔνϟʔϑϥάཧͷΦʔϓϯͳελ ϯμʔυͰ͢ɻಛఆͷϕϯμʔґଘͳ͠ʹ "1*Λఆٛͨ͠Γ4%,Λఏڙ͠·͢ɻ ϑΟʔνϟʔϑϥάք۾ͷΤίγεςϜΛ ݎ࿚ʹൃలͤ͞Δ͜ͱΛతͱ͍ͯ͠·͢ɻ ͜ͷඪ४ʹॱक͍ͯ͠ΔϕϯμʔϩοΫ ΠϯΛ͗ɺඞཁͰ͋Ε͍ͭͰଞͷϕ ϯμʔʹΓ͑Δ͜ͱ͕؆୯ʹͳΓ·͢ɻ とは?
ロックインされない
ʢޙʣ 'FBUVSF'MBHTͷ ϕϯμʔΛ ൺֱ͠·ͨ͠ CZ (ÛOUIFS#SVOOFS
ੈͷதͷϕϯμʔൺֱදʢݸʣ ϕϯμʔ αʔόʔ 4%, ΫϥΠΞϯτ 4%, ϦΞϧλΠϜ ߋ৽
&EHFॲཧ 0QFO 'FBUVSF DevCycle LaunchDarkly ConfigCat Split.io Optimizely
ੈͷதͷϕϯμʔൺֱදʢݸʣ ϕϯμʔ αʔόʔ 4%, ΫϥΠΞϯτ 4%, ϦΞϧλΠϜ ߋ৽
&EHFॲཧ 0QFO 'FBUVSF VWO Statsig CloudBees Molasses Harness
ੈͷதͷϕϯμʔൺֱදʢݸʣ ϕϯμʔ αʔόʔ 4%, ΫϥΠΞϯτ 4%, ϦΞϧλΠϜ ߋ৽
&EHFॲཧ 0QFO 'FBUVSF Firebase Remote Config Growthbook AWS Evidently Bugsnag Posthog
ੈͷதͷϕϯμʔൺֱදʢݸʣ ϕϯμʔ αʔόʔ 4%, ΫϥΠΞϯτ 4%, ϦΞϧλΠϜ ߋ৽
&EHFॲཧ 0QFO 'FBUVSF Flagsmith Unleash Flipt Bucketeer Flargd
ൺֱͨ͠ ॴײ
%FW$ZDMF ύϑΥʔϚϯεɺ%9ɺ 69͕࠷༏ल -BVODI%BSLMZ ΠϯςάϨʔγϣϯɺ ख़ߴ͍͕ɺྉۚ 1PTU)PH 044͋Γɺόϥϯε औΕ͍ͯΔ 4UBUTJH
ྉۚମܥ͕ັྗ ࠾༻ͯ͠ྑ͍ ͱఆੑධՁͨ͠ 4BB4
6OMFBTI 044ͷதͰ͍͕࠷ ͋Δ͕ɺ4BB4൛ߴ͍ 'MBH4NJUI 4BB4൛ྑ৺తͳྉۚ #VDLFUUFS ฐ͔ࣾΒެ։͞Ε͔ͨ ΓͰظͷ044 'MJQU γϯϓϧɺ
4BB4൛ͳ͍ ϝϯς͞Ε͍ͯ Δ044
ϝϯς͞Ε ͳ͘ͳͬͨ 044 'MBSH 5XP'MBHT ྆ํ044ͱ$MPVEGMBSF8PSLFSTΛલఏͱͨ͠ &EHFΞʔΩςΫνϟͰ͕͢ɺ ೦ͳ͕Βϝϯς͞Εͳ͘ͳΓ·ͨ͠ɻ
(PPHMF'JSFCBTF 3FNPUF$POGJH Ӭٱແྉັྃతɻ ϨΠςϯγٴͼαʔόʔ 4%,͕ͳ͍ɺૉత "84$MPVE8BUDI &WJEFOUMZ ྉ͚ۚͩັྃతɻ %9ෆࡏ (PPHMFͱ
"NB[PO
69ͱ ϨΠςϯγͷॏཁੑ
69ͱϨΠςϯγɿNTͷน Edgeの時代が到来し、ユーザのUX体験がさらに重要と なった。ドハティの閾値の指標によると、ユーザの生産 性が落ちないためのレスポンスタイムの上限は400msと されてきた。しかし、最近の人気アプリ(Figma、Linear やCron等)の反応速度の動向は、100ms以下になってい ます。一般的なフィーチャーフラグシステムでは、シス テムのアーキテクチャ上この100msを実現するのは難し い。一部のSaaSはUXを考慮して、Edgeにキャッシュを載
せますが、DBや処理自体はEdgeではないです。 そこで注目したいのが、エッジで実装されてるフィー チャーフラグシステム。 &EHF$PNQVUJOHͱ0GGMJOF 'JSTU
%FW$ZDMFͷ
%FW$ZDMFͷొ ΫϥυΤοδͰͷ ߴͳϑΟʔνϟʔϑϥάγες ϜΛݟ͚ͭͨͷ͕ʮ%FW$ZDMFʯ Ͱ͢ɻ ཁ݅Λຬͨͨ͠
%FW$ZDMFͷϝϦοτ NTҎԼͷϨΠςϯγ ߴͳϨεϙϯε 4%,ͷ๛͞ ಋೖ͕༰қ ྉۚମܕ ."6՝ۚͰ͕͢ɺՁ֨໘Ͱྑ৺తͳྉۚɻ
͍͢͞ %9ɾ69͕ײతɻ74$PEFͷ&YUFOTJPO ͋Δɻ
%FW$ZDMFͷϝϦοτ ϦΞϧλΠϜߋ৽ #VTJOFTTNPEFMEFTJHOHFOFSBMMZSFGFST UPUIFBDUJWJUZPGEFTJHOJOHBDPNQBOZT CVTJOFTTNPEFM 0QFO'FBUVSFରԠ 5IFQSPDFTTPGCVTJOFTTNPEFMEFTJHO
JTQBSUPGCVTJOFTTTUSBUFHZ#VTJOFTT NPEFMEFTJHOBOEJOOPWBUJPOSFGFSUP EFGJOFTJUTCVTJOFTTMPHJD ϦΞϧλΠϜߋ৽ 44&ܦ༝Ͱߋ৽͞ΕΔ -PDBM#VDLFUJOH &EHFΑΓߋʹߴͳϩʔΧϧॲཧɻ
ͷ ༏Εٕͨज़ઓུ $)"15&3
ΞʔΩςΫνϟ
&EHF'JSTUͱ8"4. %FW$ZDMFΛ։ൃ͍ͯ͠Δاۀ5BQMZUJDTࣾɻ 5BQMZUJDT͔ࣾΒ5BQMZUJDTͱ͍͏"#ςετͷ4BB4Λ։ൃ͖͕ͯͨ͠ɺ εέʔϥϏϦςΟɺϨΠςϯγٴͼ%9Λվળ͢ΔͨΊʹɺ%FW$ZDMFͱ͍ϓϩμΫτΛ։ൃ͢Δ͜ͱʹͳΓ·ͨ͠ɻ &EHF'JSTU ͯ͢Λ&EHFͰ࣮ߦͱ͍͏ΞʔΩ ςΫνϟʹ͠·ͨ͠ɻॲཧ $MPVEGMBSF8PSLFSTɺ%#
.BDSPNFUBɺ44&ϓογϡ"CMZ ͱɺࢥ͍ͬͨߴ&EHF'JSTU ͳٕज़બఆͷܾஅΛԼ͍ͯ͠·͢ɻ ΫϩεϓϥοτϑΥʔϜͷ4%,ͷύ ϑΥʔϚϯεΛ࠷େݶʹ͢ΔͨΊʹ ຆͲ8"4.ʢ"TTFNCMZ4DSJQUʣ Ͱ࣮͞Ε͍ͯ·͢ɻ(Pͷ4%,ͩ ͚8FC"TTFNCMZͰͳ͘ɺߋʹ ߴͳϚϧνεϨουॲཧͷύ ϑΥʔϚϯεΛൃشͰ͖ΔͨΊʹω ΠςΟϒ(PͰ࣮͞Ε͍ͯ·͢ɻ 8"4.
ͷ αϙʔτ $)"15&3
%FW$ZDMFͷ ·ͩ%FW$ZDMFʹ՝ۚͨ͜͠ͱ͕ͳ͍ʹ͔ ͔ΘΒͣɺ ࣭ɾཁ͕͋ͬͨͷͰɺ%JTDPSEͰ͛ͯ ΈͨΒɺ࣌ؒʹ)FBEPG1SPEVDUʢ 1E.ʣ͔ΒճΛ͖ɺߋʹۙͷެ ։ϩʔυϚοϓʹ͢Ͱʹࡌ͍ͬͯΔͱڭ͑ͯ ͍͍ͨͩͨͷͰɺਆͳରԠͰײΛ࣋ͪ· ͨ͠ɻ
·ͱΊ
։ൃαΠΫϧεϐʔυࣄۀՁʹ݁ 5SVOL#BTF։ൃͱ 'FBUVSF'MBHT͔ܽͤͳ͍ ߴ·Δ69ͷظʹԠ͑ΔͨΊʹ %FW$ZDMFͷΑ͏ͳ ߴγεςϜͷಋೖ͕伴 ։ൃʹखΛग़͢લʹɺ ϦαʔνΛ͔ͬ͠Γ
3FTFBSDI&WFSZUIJOH &WFSZXIFSF"MM"U0ODF *O &OHMJTI (ÛOUIFS#SVOOFS
None
"*4IJGUͰҰॹʹಇ͖͍ͨ ΤϯδχΞͷ࠾༻ʹྗΛೖΕ͍ͯ·͢ʂ ٕज़ྖҬ "*ΤϯδχΞʢ1ZUIPOɺ--.ʣ αʔόʔΤϯδχΞʢ(PMBOHɺ$MPVEGMBSF 8PSLFSTʣ ϑϩϯτΤϯδχΞʢ5ZQF4DSJQUɺ3FBDUʣ オンライン・19時以降の面談も可能です! カジュアル面談フォーム
https://hrmos.co/pages/cyberagent-group/jobs/1826557091831955459 @gunta85