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
素早いバリュー提供のための DROBEの新戦略
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ippei Sumida
September 05, 2023
Programming
0
1.4k
素早いバリュー提供のための DROBEの新戦略
DROBE Engineer Night #5でお話ししたスライドです。
#DROBEEngNight
Ippei Sumida
September 05, 2023
Tweet
Share
More Decks by Ippei Sumida
See All by Ippei Sumida
DROBEの生成AI活用事例 with AWS
ippey
0
300
みんなでQAしてる話
ippey
0
160
AIで生成したものをAIでチェックしてる話
ippey
0
2.3k
『WordPressコミュニティで学ぶ』OSS貢献の多様性
ippey
0
1.2k
25分で理解する!Symfonyの魅力とその実践的活用法
ippey
1
7.6k
Symfony 6.3のおすすめ新機能まとめ
ippey
1
2.1k
PhpStorm + GitHub Copilotはいいぞ
ippey
0
3.2k
それぞれの特徴から考えるフレームワーク選び
ippey
1
1.1k
なるべくJavaScriptを書かないで SymfonyのUIをリッチにする Symfony UX
ippey
1
2.3k
Other Decks in Programming
See All in Programming
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
1.2k
PHPで TLSのプロトコルを実装してみる
higaki_program
0
530
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
220
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
180
Codex の「自走力」を高める
yorifuji
0
1.3k
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.4k
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
180
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
140
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
300
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
160
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
340
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
430
Featured
See All Featured
Scaling GitHub
holman
464
140k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
650
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
470
Believing is Seeing
oripsolob
1
97
Context Engineering - Making Every Token Count
addyosmani
9
780
Typedesign – Prime Four
hannesfritz
42
3k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
91
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
360
Transcript
ૉૣ͍όϦϡʔఏڙͷͨΊͷ DROBEͷ৽ઓུ DROBE Engineer Night #5
• ֯ాɹҰฏ • גࣜձࣾDROBE • Kansai Symfony Meetup • CoderDojo
ຕํ ࣗݾհ LaravelͩΑ
৬ۀɿεΫϥϜϚελʔ
DROBEͰεΫϥϜϚελʔ͡Ί·ͨ͠
ࣗޙΖ͔Β͢ΔλΠϓͷϦʔμʔγοϓΛ ࢦͯ͠ΈΑ͏͔ͳͱߟ͍͑ͯ·͢ɻ ʰαʔόϯτϦʔμʔγοϓʱͱ͍͏ͷ͕͋ΔΑ͏Ͱɺ ͜Εʹઓͯ͠ΈΑ͏͔ͱࢥ͍ͬͯ·͢ɻ
৽ͨͳόϦϡʔఏڙઓུ
ࠓ·ͰͷόϦϡʔఏڙ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ
ػೳ 7.1.0 7.1.1 7.1.2 7.2.0 7.3.0
ࠓ·ͰͷόϦϡʔఏڙ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ
ػೳ 7.1.0 7.1.1 7.1.2 7.2.0 7.3.0 ΠϚΠν… ίετ ͔͔Δ
ࠓ·ͰͷόϦϡʔఏڙ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ
ػೳ 7.1.0 7.1.1 7.1.2 7.2.0 7.3.0 ޮՌ͋ͬͨʂ ͲΕ͕ ޮ͍ͨʁ
ࠓ·ͰͷόϦϡʔఏڙ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ
ػೳ 7.1.0 7.1.1 7.1.2 7.2.0 7.3.0 ޮՌ͋ͬͨʂ ͲΕ͕ ޮ͍ͨʁ ⭕⭕⭕ ❌❌
ʲඪʳখ͞ͳ୯ҐͰԾఆˠݕূΛߦ͍ɺ܁Γฦ͢ ݕূ ࣮ Ծఆ
͜Ε͔ΒͷόϦϡʔఏڙ ػೳ ػೳ ػೳ ػೳ ػೳ
͜Ε͔ΒͷόϦϡʔఏڙ ػೳ ػೳ ػೳ ػೳ ػೳ
৽ͨͳऔΓΈͱֶͼ
։ൃʙϦϦʔεͷݟ͠
ࠓ·ͰͷϦϦʔεϑϩʔ όʔδϣϯηϚϯςΟοΫόʔδϣχϯά ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ
ػೳ ػೳ 7.1.0 7.1.1 7.1.2 7.2.0 7.3.0
ࠓ·ͰͷϦϦʔεϑϩʔ ϒϥϯνGitFlow main develop feature release 2"
ࠓ·ͰͷϦϦʔεϑϩʔ ϦϦʔεखॱઌʹόʔδϣϯ൪߸͕ܾఆ͞Εͯͨ όʔδϣϯܾఆ releaseϒϥϯν masterʹϚʔδ
ϦϦʔεϑϩʔͷվળϩʔυϚοϓ • developΛܦ༝͠ͳ͍ϑϩʔʢGitHub Flowʣʹมߋ • ηϚϯςΟοΫόʔδϣχϯάΛΊΔ • ϦϦʔεલͰͳ͘ɺϦϦʔεલʹόʔδϣϯΛࣗಈͰܾΊΔ • ͋ΘͤͯɿࣗಈϚΠάϨʔγϣϯ
• ͋ΘͤͯɿखಈঝೝΛΊΔ
Github Flow
DROBEͷ։ൃϑϩʔͰGit Flow͕߹͍͕ͬͯͨ… • Git FlowͰӡ༻͍ͯͨͨ͠Ίɺඞͣdevelop -> release -> masterͱͳ͍ͬͯͨ •
֬ೝεςʔδϯάڥͰߦ͍͕ͬͯͨɺεςʔδϯάdevelopͰߏங͍ͯ͠ ͨ • ↑ͷͨΊɺϦϦʔε͕Ͱ͖ͳ͍ϩοΫঢ়ଶ͕ੜ·Εͯ͠·͍ͬͯͨ • 7.1.0 Λग़͍͚ͨ͠Ͳɺ7.0.3(hot fi x)͕ݕূͰ͖ͯͳ͍ͷͰϦϦʔεͰ͖ͳ͍ • ݁ՌɺϦϦʔε͕େ͖͘ͳͬͨɻʢ͍ͭͰʹ͜Εʂ͕૿͑Δʣ
GitHub Flow main feature
ݕূͦΕͧΕͷϒϥϯνΛCodespacesͰ جຊεςʔδϯάڥ͕ෆཁʹ main feature 2" 2"
େ͖͘ͳΔ߹featureϒϥϯνΛ࡞Δ main feature
Ͳ͏ͯ͠εςʔδϯάڥ͕ඞཁͳ߹develop main feature develop
ΧϨϯμʔόʔδϣχϯά ѥछ
ࠓ·ͰSemantic VersioningΛ࠾༻ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ
ػೳ ػೳ 7.1.0 7.1.1 7.1.2 7.2.0 7.3.0
ʮͲͬͪΛ͋͛Ε͍͍ΜͩΖʁʯ͕ൃੜͯͨ͠ 7.0.1 ύονʁ ϚΠφʔʁ ˞%30#&ͰϏδωεཁ݅ʹΑΔٸ͗ͷରԠɾόάରԠ྆ํΛlIPU fi YzͱݺΜͰ͍ͨͷͰɺΑ͘͜ͷ͕ى͜Γ·ͨ͠ɻ
ηϚϯςΟοΫ͔ΒΧϨϯμʔόʔδϣχϯάʹ 7.0.1 2023.12
৽͍͠ϦϦʔεϑϩʔ PR࡞ mainϚʔδ ϦϦʔευϥϑτ ύϒϦογϡʂ ˢ ࣗಈ࠾൪
Feature Flag
େ͖ͳػೳΛ·ͱΊͯग़͍ͨ࣌͋͠Δ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ ػೳ
ػೳ ·ͱΊͯ ग़͍ͨ͠
None
None
ઌߦͯ͠৽ػೳΛϦϦʔεՄೳʹ ػೳ ػೳ ػೳ ػೳ ػೳ ϑϥά OFF ϑϥά ON
৽ػೳ༗ޮԽ ৽ػೳແޮ
Four keys
DROBEʹ։ൃঢ়گͷࢦඪ͕ͳ͔ͬͨ • ͳΜͱͳ͘ʮࠓճ͕͔͔࣌ؒͬͨʯʮো͕ଟ͔ͬͨʯͱ͍͏ೝࣝͯͨ͠ • ͜ͷঢ়گͩͱɺϓϩμΫτͷ࣏ྍ͕͓Ζ͔ͦʹͳͬͯ͠·͏ • ʮো͕ଟ͍ͷͰ࣏͍ͨ͠ʯͱ͍ͬͯࠜڌ͕ͳ͍ • ͔ͤͬ͘ૣ͘ϦϦʔε͍ͯ͠ΔࢪࡦΛͯ͠Δ͔ΒଌΓ͍ͨ
Offers MGRಋೖ
Offers MGRʹΑΓଌΕΔΑ͏ʹͳͬͨͷ • Four Keysੳ • ϦϦʔε·ͰͷϦʔυλΠϜ • σϓϩΠͷස •
োͷൃੜ • োͷ෮چ࣌ؒ • ίϛϡχέʔγϣϯੳ • and more…
ۙͷ Four Keysੳ
ϦϦʔεϑϩʔΛมߋͨ͠·ͳͼ • ϦϦʔεͷεϐʔυ͕֨ஈʹ্͕ͬͨɻʢݱࡏ 3ϦϦʔε / ʣ • খ͘͞ग़͘͢͠ͳͬͨ • ϦϦʔεෛՙ͕ͱͯԼ͕ͬͨ
• Ұํ • ݕূ͕ͭ·Γ͘͢ͳͬͨ • PBIΛখ͘͢͞Δͷ͕·ͩۤख • εςʔδϯάڥͰ͔֬͠ೝͰ͖ͳ͍͜ͱ͕͋Δ͜ͱ͕Θ͔ͬͨ • LINE, Slack௨, ຊ൪ʹ͍ۙσʔλߏͳͲ • ίʔυɾςετ͕ͪΐͬͱෳࡶʹͳΓ͍͢
ҙࢥܾఆͷվળ
ಉ͡ػೳͷ։ൃΛෳਓ͕Δ͜ͱ͕૿͖͑ͯͨ A-a A-b A-c ػೳA
͍ظؒͰ༷ʹ͍ͭͯٞ͢Δ͕ඞཁͱͳͬͨ A-a A-b A-c ػೳA Ͳ͏͠·͠ΐ͏ʁ
ADR (Architecture Decision Records)
ADRΛಋೖ • ॏްͳ༷ॻखʹ༨Δ • ϝϯςφϯε͞Εͳ͍ɺ͢Δࣗ৴͕ͳ͍ • ͳʹ͔͠Βͷه͍ͨ͠ • ݕࡧɾࢀর͍ͨ͠ •
ʮ݁ہɺͲ͏ͳͬͨΜ͚ͩͬʁʯ͕Γ͍ͨ
ADRͷத • λΠτϧɿܾΊ͍ͨ͜ͱͷλΠτϧ • εςʔλεɿঢ়گʢఏҊɺ٫Լɺঝೝʣ • ΧςΰϦʔɿಠ߲ࣗɺ֘ͷΧςΰϦʔʢWeb, Πϯϑϥ, MLͳͲʣ •
ίϯςΩετɿͷઆ໌ɺ༰ • ܾఆࣄ߲ɿܾఆͨ͠ʢܾఆ͍ͨ͠ʣ༰ͱཧ༝ • ݁Ռɿ͜ͷมߋͰ؆୯ʹͳΔ͜ͱɺ͘͠ͳΔ͜ͱ
ADRαϯϓϧ λΠτϧ Ϣʔβใʹ9ͷΞΧϯτใΛอଘ͍ͨ͠ εςʔλε ঝೝ ίϯςΩετ Ϣʔβใͱͯ͠ɺ9ͷΞΧϯτใΛऔಘ͢Δ͜ͱʹͳͬͨɻ ͦΕΛอଘ͢ΔͨΊʹVTFSTςʔϒϧʹɺzY@VTFSOBNFz ϑΟʔϧυΛՃ͍ͨ͠
ܾఆࣄ߲ ϢʔβใͰ͋Δ͕جຊใͰͳ͘ɺࠓޙ5ISFBETͳͲՃ͞ΕΔՄೳੑ͕ ͋ΔͷͰɺVTFSTςʔϒϧͰͳ͘ɺVTFS@TOTFTςʔϒϧΛՃ͠ɺͦ͜ʹอଘ͢Δ lTOT@UZQFz lTOT@VTFSOBNFzΛอଘ͢Δ ݁Ռ ςʔϒϧΛՃ͢ΔͷͰɺϦϨʔγϣϯΛΔඞཁ͕͋Δ ςʔϒϧՃͳͷͰɺϚΠάϨʔγϣϯͷ࣌ؒۃখ
εΫϥϜӡӦͷվળ
LeSS (Large Scaled Scrum)
εΫϥϜ։࢝ޙ νʔϜ༁ ✖ 1 PO SM ✖ 2 PdM ✖
3 Dev ✖ 5 QA ✖ 2 ML ✖ 2 Design ✖ 1
νʔϜ͕େ͖͍ͱඇޮʹͳΔ • MTG͕͘ͳΓ͕ͪ • ඞཁҎ্ͷٞʹͳΓ͕ͪ • ͞ͳ͍ਓ͕ग़ͯ͘Δ • ଞਓࣄʹͳΔ •
શһͷҙݟΛٵ্͍͛ʹ͍͘ • ݁Ռɺඞཁͳҙݟ͕ͳ͍͕͠Ζʹ͞Ε͕ͪ • ଟܾΛͱͬͯ͠·͏
͍͍ͱࢥ͍·͢ ੬ऑੑ͕… େࣄͳҙݟཱ͕ͪফ͑ͯ͠·͏͓ͦΕ͕
SM ΓͮΕ͐…
LeSS (Large Scaled Scrum)ͷಋೖ 5FBN" 5FBN# SM PdM Dev QA
Dev SM PdM Dev QA Dev Dev PdM Design PO
τϥϕϥʔͲͪΒͷνʔϜʹೖΕΔ 5FBN" 5FBN# SM PdM Dev QA Dev SM PdM
Dev QA Dev Dev PdM Design τϥϕϥʔ PO
ଞνʔϜͷϔϧϓՄೳ 5FBN" 5FBN# SM PdM Dev QA Dev SM PdM
Dev QA Dev Dev PdM Design PO
εΫϥϜӡӦΛมߋͨ͠·ͳͼ • νʔϜ͝ͱͷػೳʹϑΥʔΧεͰ͖Δ • MTGɺ։ൃεϜʔζʹ • υϝΠϯ͕ࣝٵऩ͘͢͠ͳͬͨ • ͢ਓ͕૿͑ɺҙݟग़͘͢ͳͬͨ •
Ұํ • νʔϜؒͷίϛϡχέʔγϣϯ͕رബʹͳ͖ͬͯͨ • ཱͪҐஔͷ͍͠λεΫΛर͍ʹ͍͘ • τϥϕϥʔ͕͘͠ͳΓ͕ͪ • ϔϧϓͷํΛߟ͑ͳ͍ͱɺ͏ยํͷνʔϜʹ໎͕͔͔Δ
վળ·ͩ·ͩ͜Ε͔Βʂ
We are hiring!! ΧδϡΞϧ໘ஊਵ࣌डதͰ͢ʂ DROBE͍͍ͧ ࠓͳΒ৭ʑͳτϥΠΛମݧͰ͖·͢
None