Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Feature FlagsのDX/UXの 頂点「 DevCycle 」に 辿り着くまでの道のり
Search
Gunther Brunner
October 26, 2023
Programming
5
1.7k
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.4k
複数のGemini CLIが同時開発する狂気 - Jujutsuが実現するAIエージェント協調の新世界
gunta
15
6.9k
Breaking Down Enterprise AI Tool Adoption Barriers in Japan: CyberAgent's Cursor Implementation Strategy
gunta
0
150
大手企業のAIツール導入の壁を越えて:サイバーエージェントのCursor活用戦略
gunta
45
34k
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
170
Other Decks in Programming
See All in Programming
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
3.4k
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.7k
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
260
Microservices rules: What good looks like
cer
PRO
0
1.6k
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
1
400
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
280
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
160
Patterns of Patterns
denyspoltorak
0
120
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
430
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
410
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
750
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
1
200
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
320
Producing Creativity
orderedlist
PRO
348
40k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.4k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
110
Tell your own story through comics
letsgokoyo
0
750
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
400
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
120
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