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
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
190
みんなでQAしてる話
ippey
0
110
AIで生成したものをAIでチェックしてる話
ippey
0
2.1k
『WordPressコミュニティで学ぶ』OSS貢献の多様性
ippey
0
910
25分で理解する!Symfonyの魅力とその実践的活用法
ippey
1
7.2k
Symfony 6.3のおすすめ新機能まとめ
ippey
1
1.9k
PhpStorm + GitHub Copilotはいいぞ
ippey
0
2.7k
それぞれの特徴から考えるフレームワーク選び
ippey
1
1k
なるべくJavaScriptを書かないで SymfonyのUIをリッチにする Symfony UX
ippey
1
2k
Other Decks in Programming
See All in Programming
VS Code Update for GitHub Copilot
74th
1
480
Deep Dive into ~/.claude/projects
hiragram
10
2k
Bytecode Manipulation 으로 생산성 높이기
bigstark
2
390
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
1k
Benchmark
sysong
0
280
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
600
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
530
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
600
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.4k
A2A プロトコルを試してみる
azukiazusa1
2
1.2k
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
710
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
710
4 Signs Your Business is Dying
shpigford
184
22k
Building Applications with DynamoDB
mza
95
6.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
A better future with KSS
kneath
239
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
940
Designing Experiences People Love
moore
142
24k
Statistics for Hackers
jakevdp
799
220k
Making Projects Easy
brettharned
116
6.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
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