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
240
みんなでQAしてる話
ippey
0
130
AIで生成したものをAIでチェックしてる話
ippey
0
2.2k
『WordPressコミュニティで学ぶ』OSS貢献の多様性
ippey
0
1k
25分で理解する!Symfonyの魅力とその実践的活用法
ippey
1
7.3k
Symfony 6.3のおすすめ新機能まとめ
ippey
1
2k
PhpStorm + GitHub Copilotはいいぞ
ippey
0
2.8k
それぞれの特徴から考えるフレームワーク選び
ippey
1
1k
なるべくJavaScriptを書かないで SymfonyのUIをリッチにする Symfony UX
ippey
1
2.1k
Other Decks in Programming
See All in Programming
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
390
Web技術を最大限活用してRAW画像を現像する / Developing RAW Images on the Web
ssssota
2
1.1k
Model Pollution
hschwentner
1
180
CSC509 Lecture 03
javiergs
PRO
0
320
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
230
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
2
130
Advance Your Career with Open Source
ivargrimstad
0
290
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
370
私はどうやって技術力を上げたのか
yusukebe
43
17k
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
900
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
300
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
750
Featured
See All Featured
Writing Fast Ruby
sferik
629
62k
Bash Introduction
62gerente
615
210k
We Have a Design System, Now What?
morganepeng
53
7.8k
Designing for humans not robots
tammielis
254
25k
GraphQLとの向き合い方2022年版
quramy
49
14k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
The Cost Of JavaScript in 2023
addyosmani
53
9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Become a Pro
speakerdeck
PRO
29
5.5k
Agile that works and the tools we love
rasmusluckow
331
21k
Why Our Code Smells
bkeepers
PRO
339
57k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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