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
1k
素早いバリュー提供のための DROBEの新戦略
DROBE Engineer Night #5でお話ししたスライドです。
#DROBEEngNight
Ippei Sumida
September 05, 2023
Tweet
Share
More Decks by Ippei Sumida
See All by Ippei Sumida
25分で理解する!Symfonyの魅力とその実践的活用法
ippey
0
5.3k
Symfony 6.3のおすすめ新機能まとめ
ippey
1
1.4k
PhpStorm + GitHub Copilotはいいぞ
ippey
0
1.6k
それぞれの特徴から考えるフレームワーク選び
ippey
1
730
なるべくJavaScriptを書かないで SymfonyのUIをリッチにする Symfony UX
ippey
1
1.6k
はじめてのCI - 実践編 -
ippey
1
200
はじめてのCI - 概要と準備編 -
ippey
0
350
SymfonyとDoctrineで 簡単クリーンアーキテクチャ
ippey
7
22k
小学生中学年向けプログラミング授業
ippey
0
200
Other Decks in Programming
See All in Programming
Micro Frontends for Java Microservices - Utah JUG 2024
mraible
PRO
1
100
Fragment Composition of GraphQL
quramy
13
1.4k
禅の心を手に入れよ
eltociear
1
280
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
670
VS Code をプロダクトにどう取り込むか
onomax
1
630
Goのエラースタックトレースの歴史と今後
sonatard
9
1.7k
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
210
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
1
340
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
850
Polars入門
daikikatsuragawa
1
160
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
390
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
It's Worth the Effort
3n
180
27k
What's in a price? How to price your products and services
michaelherold
238
11k
The Cult of Friendly URLs
andyhume
74
5.7k
Rails Girls Zürich Keynote
gr2m
91
13k
Six Lessons from altMBA
skipperchong
22
3k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
The Invisible Customer
myddelton
114
12k
Design by the Numbers
sachag
274
18k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
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