Upgrade to Pro — share decks privately, control downloads, hide ads and more …

素早いバリュー提供のための
DROBEの新戦略

Ippei Sumida
September 05, 2023

 素早いバリュー提供のための
DROBEの新戦略

DROBE Engineer Night #5でお話ししたスライドです。

#DROBEEngNight

Ippei Sumida

September 05, 2023
Tweet

More Decks by Ippei Sumida

Other Decks in Programming

Transcript

  1. ૉૣ͍όϦϡʔఏڙͷͨΊͷ

    DROBEͷ৽ઓུ
    DROBE Engineer Night #5

    View Slide

  2. • ֯ాɹҰฏ


    • גࣜձࣾDROBE


    • Kansai Symfony Meetup


    • CoderDojo ຕํ
    ࣗݾ঺հ
    LaravelͩΑ

    View Slide

  3. ৬ۀɿεΫϥϜϚελʔ

    View Slide

  4. DROBEͰεΫϥϜϚελʔ͸͡Ί·ͨ͠

    View Slide

  5. ࣗ෼͸ޙΖ͔Β൐૸͢ΔλΠϓͷϦʔμʔγοϓΛ


    ໨ࢦͯ͠ΈΑ͏͔ͳͱߟ͍͑ͯ·͢ɻ


    ʰαʔόϯτϦʔμʔγοϓʱͱ͍͏ͷ͕͋ΔΑ͏Ͱɺ


    ͜Εʹ௅ઓͯ͠ΈΑ͏͔ͱࢥ͍ͬͯ·͢ɻ

    View Slide

  6. ৽ͨͳόϦϡʔఏڙઓུ

    View Slide

  7. ࠓ·ͰͷόϦϡʔఏڙ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ ػೳ
    ػೳ
    ػೳ
    ػೳ
    7.1.0 7.1.1 7.1.2 7.2.0 7.3.0

    View Slide

  8. ࠓ·ͰͷόϦϡʔఏڙ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ ػೳ
    ػೳ
    ػೳ
    ػೳ
    7.1.0 7.1.1 7.1.2 7.2.0 7.3.0
    ΠϚΠν…
    ίετ͸

    ͔͔Δ

    View Slide

  9. ࠓ·ͰͷόϦϡʔఏڙ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ ػೳ
    ػೳ
    ػೳ
    ػೳ
    7.1.0 7.1.1 7.1.2 7.2.0 7.3.0
    ޮՌ͋ͬͨʂ
    ͲΕ͕

    ޮ͍ͨʁ

    View Slide

  10. ࠓ·ͰͷόϦϡʔఏڙ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ ػೳ
    ػೳ
    ػೳ
    ػೳ
    7.1.0 7.1.1 7.1.2 7.2.0 7.3.0
    ޮՌ͋ͬͨʂ
    ͲΕ͕

    ޮ͍ͨʁ
    ⭕⭕⭕
    ❌❌

    View Slide

  11. ʲ໨ඪʳখ͞ͳ୯ҐͰԾఆˠݕূΛߦ͍ɺ܁Γฦ͢
    ݕূ
    ࣮૷
    Ծఆ

    View Slide

  12. ͜Ε͔ΒͷόϦϡʔఏڙ
    ػೳ ػೳ ػೳ ػೳ ػೳ

    View Slide

  13. ͜Ε͔ΒͷόϦϡʔఏڙ
    ػೳ ػೳ ػೳ ػೳ ػೳ

    View Slide

  14. ৽ͨͳऔΓ૊Έͱֶͼ

    View Slide

  15. ։ൃʙϦϦʔεͷݟ௚͠

    View Slide

  16. ࠓ·ͰͷϦϦʔεϑϩʔ
    όʔδϣϯ͸ηϚϯςΟοΫόʔδϣχϯά
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ ػೳ
    ػೳ
    ػೳ
    ػೳ
    7.1.0 7.1.1 7.1.2 7.2.0 7.3.0

    View Slide

  17. ࠓ·ͰͷϦϦʔεϑϩʔ
    ϒϥϯν͸GitFlow
    main
    develop
    feature
    release
    2"

    View Slide

  18. ࠓ·ͰͷϦϦʔεϑϩʔ
    ϦϦʔεखॱ͸ઌʹόʔδϣϯ൪߸͕ܾఆ͞Εͯͨ
    όʔδϣϯܾఆ releaseϒϥϯν masterʹϚʔδ

    View Slide

  19. ϦϦʔεϑϩʔͷվળϩʔυϚοϓ
    • developΛܦ༝͠ͳ͍ϑϩʔʢGitHub Flowʣʹมߋ


    • ηϚϯςΟοΫόʔδϣχϯάΛ΍ΊΔ


    • ϦϦʔεલͰ͸ͳ͘ɺϦϦʔε௚લʹόʔδϣϯΛࣗಈͰܾΊΔ


    • ͋ΘͤͯɿࣗಈϚΠάϨʔγϣϯ


    • ͋ΘͤͯɿखಈঝೝΛ΍ΊΔ

    View Slide

  20. Github Flow

    View Slide

  21. DROBEͷ։ൃϑϩʔͰ͸Git Flow͕߹͍͕ͬͯͨ…
    • Git FlowͰӡ༻͍ͯͨͨ͠Ίɺඞͣdevelop -> release -> masterͱͳ͍ͬͯͨ


    • ֬ೝ͸εςʔδϯά؀ڥͰߦ͍͕ͬͯͨɺεςʔδϯά͸developͰߏங͍ͯ͠
    ͨ


    • ↑ͷͨΊɺϦϦʔε͕Ͱ͖ͳ͍ϩοΫঢ়ଶ͕ੜ·Εͯ͠·͍ͬͯͨ


    • 7.1.0 Λग़͍͚ͨ͠Ͳɺ7.0.3(hot
    fi
    x)͕ݕূͰ͖ͯͳ͍ͷͰϦϦʔεͰ͖ͳ͍


    • ݁ՌɺϦϦʔε͕େ͖͘ͳͬͨɻʢ͍ͭͰʹ͜Ε΋ʂ͕૿͑Δʣ

    View Slide

  22. GitHub Flow
    main
    feature

    View Slide

  23. ݕূ͸ͦΕͧΕͷϒϥϯνΛCodespacesͰ
    جຊεςʔδϯά؀ڥ͕ෆཁʹ
    main
    feature 2"
    2"

    View Slide

  24. େ͖͘ͳΔ৔߹͸਌featureϒϥϯνΛ࡞Δ
    main
    feature

    View Slide

  25. Ͳ͏ͯ͠΋εςʔδϯά؀ڥ͕ඞཁͳ৔߹͸develop΁
    main
    feature
    develop

    View Slide

  26. ΧϨϯμʔόʔδϣχϯά
    ѥछ

    View Slide

  27. ࠓ·Ͱ͸Semantic VersioningΛ࠾༻
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ ػೳ
    ػೳ
    ػೳ
    ػೳ
    7.1.0 7.1.1 7.1.2 7.2.0 7.3.0

    View Slide

  28. ʮͲͬͪΛ͋͛Ε͹͍͍ΜͩΖʁʯ໰୊͕ൃੜͯͨ͠
    7.0.1
    ύονʁ
    ϚΠφʔʁ
    ˞%30#&Ͱ͸Ϗδωεཁ݅ʹΑΔٸ͗ͷରԠɾόάରԠ྆ํΛlIPU
    fi
    YzͱݺΜͰ͍ͨͷͰɺΑ͘͜ͷ໰୊͕ى͜Γ·ͨ͠ɻ

    View Slide

  29. ηϚϯςΟοΫ͔ΒΧϨϯμʔόʔδϣχϯάʹ
    7.0.1 2023.12

    View Slide

  30. ৽͍͠ϦϦʔεϑϩʔ
    PR࡞੒ main΁Ϛʔδ
    ϦϦʔευϥϑτ
    ύϒϦογϡʂ


    ˢ

    ࣗಈ࠾൪

    View Slide

  31. Feature Flag

    View Slide

  32. େ͖ͳػೳΛ·ͱΊͯग़͍ͨ࣌͠͸͋Δ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ
    ػೳ ػೳ
    ػೳ
    ػೳ
    ػೳ
    ·ͱΊͯ

    ग़͍ͨ͠

    View Slide

  33. View Slide

  34. View Slide

  35. ઌߦͯ͠৽ػೳΛϦϦʔεՄೳʹ
    ػೳ ػೳ ػೳ ػೳ ػೳ
    ϑϥά OFF ϑϥά ON
    ৽ػೳ༗ޮԽ
    ৽ػೳແޮ

    View Slide

  36. Four keys

    View Slide

  37. DROBEʹ͸։ൃঢ়گͷࢦඪ͕ͳ͔ͬͨ
    • ͳΜͱͳ͘ʮࠓճ͸͕͔͔࣌ؒͬͨʯʮো֐͕ଟ͔ͬͨʯͱ͍͏ೝࣝͯͨ͠


    • ͜ͷঢ়گͩͱɺϓϩμΫτͷ࣏ྍ͕͓Ζ͔ͦʹͳͬͯ͠·͏


    • ʮো֐͕ଟ͍ͷͰ࣏͍ͨ͠ʯͱ͍ͬͯ΋ࠜڌ͕ͳ͍


    • ͔ͤͬ͘ૣ͘ϦϦʔε͍ͯ͠ΔࢪࡦΛͯ͠Δ͔ΒଌΓ͍ͨ

    View Slide

  38. Offers MGRಋೖ

    View Slide

  39. Offers MGRʹΑΓଌΕΔΑ͏ʹͳͬͨ΋ͷ
    • Four Keys෼ੳ


    • ϦϦʔε·ͰͷϦʔυλΠϜ


    • σϓϩΠͷස౓


    • ো֐ͷൃੜ཰


    • ো֐ͷ෮چ࣌ؒ


    • ίϛϡχέʔγϣϯ෼ੳ


    • and more…

    View Slide

  40. ௚ۙͷ


    Four Keys෼ੳ

    View Slide

  41. ϦϦʔεϑϩʔΛมߋͨ͠·ͳͼ
    • ϦϦʔεͷεϐʔυ͕֨ஈʹ্͕ͬͨɻʢݱࡏ ໿3ϦϦʔε / ೔ʣ


    • খ͘͞ग़͠΍͘͢ͳͬͨ


    • ϦϦʔεෛՙ͕ͱͯ΋Լ͕ͬͨ


    • Ұํ


    • ݕূ͕ͭ·Γ΍͘͢ͳͬͨ


    • PBIΛখ͘͢͞Δͷ͕·ͩۤख


    • εςʔδϯά؀ڥͰ͔֬͠ೝͰ͖ͳ͍͜ͱ͕͋Δ͜ͱ͕Θ͔ͬͨ


    • LINE, Slack௨஌, ຊ൪ʹ͍ۙσʔλߏ଄ͳͲ


    • ίʔυɾςετ͕ͪΐͬͱෳࡶʹͳΓ΍͍͢

    View Slide

  42. ҙࢥܾఆͷվળ

    View Slide

  43. ಉ͡ػೳͷ։ൃΛෳ਺ਓ͕΍Δ͜ͱ͕૿͖͑ͯͨ
    A-a
    A-b
    A-c
    ػೳA

    View Slide

  44. ୹͍ظؒͰ࢓༷ʹ͍ͭͯٞ࿦͢Δ৔͕ඞཁͱͳͬͨ
    A-a
    A-b
    A-c
    ػೳA
    Ͳ͏͠·͠ΐ͏ʁ

    View Slide

  45. ADR

    (Architecture Decision Records)

    View Slide

  46. ADRΛಋೖ
    • ॏްͳ࢓༷ॻ͸खʹ༨Δ


    • ϝϯςφϯε͞Εͳ͍ɺ͢Δࣗ৴͕ͳ͍


    • ͳʹ͔͠Βͷه࿥͸࢒͍ͨ͠


    • ݕࡧɾࢀর͍ͨ͠


    • ʮ݁ہɺͲ͏ͳͬͨΜ͚ͩͬʁʯ͕஌Γ͍ͨ

    View Slide

  47. ADRͷத਎
    • λΠτϧɿܾΊ͍ͨ͜ͱͷλΠτϧ


    • εςʔλεɿঢ়گʢఏҊɺ٫Լɺঝೝʣ


    • ΧςΰϦʔɿಠ߲ࣗ໨ɺ֘౰ͷΧςΰϦʔʢWeb, Πϯϑϥ, MLͳͲʣ


    • ίϯςΩετɿ໰୊ͷઆ໌ɺ಺༰


    • ܾఆࣄ߲ɿܾఆͨ͠ʢܾఆ͍ͨ͠ʣ಺༰ͱཧ༝


    • ݁Ռɿ͜ͷมߋͰ؆୯ʹͳΔ͜ͱɺ೉͘͠ͳΔ͜ͱ

    View Slide

  48. ADRαϯϓϧ
    λΠτϧ Ϣʔβ৘ใʹ9ͷΞΧ΢ϯτ৘ใΛอଘ͍ͨ͠
    εςʔλε ঝೝ
    ίϯςΩετ
    Ϣʔβ৘ใͱͯ͠ɺ9ͷΞΧ΢ϯτ৘ใΛऔಘ͢Δ͜ͱʹͳͬͨɻ

    ͦΕΛอଘ͢ΔͨΊʹVTFSTςʔϒϧʹɺzY@VTFSOBNFz ϑΟʔϧυΛ௥Ճ͍ͨ͠
    ܾఆࣄ߲
    Ϣʔβ৘ใͰ͸͋Δ͕جຊ৘ใͰ͸ͳ͘ɺࠓޙ5ISFBETͳͲ΋௥Ճ͞ΕΔՄೳੑ͕

    ͋ΔͷͰɺVTFSTςʔϒϧͰ͸ͳ͘ɺVTFS@TOTFTςʔϒϧΛ௥Ճ͠ɺͦ͜ʹอଘ͢Δ

    lTOT@UZQFz lTOT@VTFSOBNFzΛอଘ͢Δ
    ݁Ռ
    ςʔϒϧΛ௥Ճ͢ΔͷͰɺϦϨʔγϣϯΛ͸Δඞཁ͕͋Δ

    ςʔϒϧ௥ՃͳͷͰɺϚΠάϨʔγϣϯͷ࣌ؒ͸ۃখ

    View Slide

  49. εΫϥϜӡӦͷվળ

    View Slide

  50. LeSS

    (Large Scaled Scrum)

    View Slide

  51. εΫϥϜ։࢝௚ޙ
    νʔϜ಺༁
    ✖ 1
    PO
    SM
    ✖ 2
    PdM
    ✖ 3
    Dev
    ✖ 5
    QA
    ✖ 2
    ML
    ✖ 2
    Design
    ✖ 1

    View Slide

  52. νʔϜ͕େ͖͍ͱඇޮ཰ʹͳΔ
    • MTG͕௕͘ͳΓ͕ͪ


    • ඞཁҎ্ͷٞ࿦ʹͳΓ͕ͪ


    • ࿩͞ͳ͍ਓ͕ग़ͯ͘Δ


    • ଞਓࣄʹͳΔ


    • શһͷҙݟΛٵ্͍͛ʹ͍͘


    • ݁Ռɺඞཁͳҙݟ͕ͳ͍͕͠Ζʹ͞Ε͕ͪ


    • ଟ਺ܾΛͱͬͯ͠·͏

    View Slide

  53. ͍͍ͱࢥ͍·͢
    ੬ऑੑ͕…
    େࣄͳҙݟཱ͕ͪফ͑ͯ͠·͏͓ͦΕ͕

    View Slide

  54. SM ΍ΓͮΕ͐…

    View Slide

  55. LeSS (Large Scaled Scrum)ͷಋೖ
    5FBN" 5FBN#
    SM
    PdM
    Dev QA
    Dev
    SM
    PdM
    Dev QA
    Dev
    Dev
    PdM Design
    PO

    View Slide

  56. τϥϕϥʔ͸ͲͪΒͷνʔϜʹ΋ೖΕΔ
    5FBN" 5FBN#
    SM
    PdM
    Dev QA
    Dev
    SM
    PdM
    Dev QA
    Dev
    Dev
    PdM Design
    τϥϕϥʔ
    PO

    View Slide

  57. ଞνʔϜͷϔϧϓՄೳ
    5FBN" 5FBN#
    SM
    PdM
    Dev QA
    Dev
    SM
    PdM
    Dev QA
    Dev
    Dev
    PdM Design
    PO

    View Slide

  58. εΫϥϜӡӦΛมߋͨ͠·ͳͼ
    • νʔϜ͝ͱͷػೳʹϑΥʔΧεͰ͖Δ


    • MTGɺ։ൃ΋εϜʔζʹ


    • υϝΠϯ஌͕ࣝٵऩ͠΍͘͢ͳͬͨ


    • ࿩͢ਓ͕૿͑ɺҙݟग़΍͘͢ͳͬͨ


    • Ұํ


    • νʔϜؒͷίϛϡχέʔγϣϯ͕رബʹͳ͖ͬͯͨ


    • ཱͪҐஔͷ೉͍͠λεΫΛर͍ʹ͍͘


    • τϥϕϥʔ͕๩͘͠ͳΓ͕ͪ


    • ϔϧϓͷ࢓ํΛߟ͑ͳ͍ͱɺ΋͏ยํͷνʔϜʹ໎࿭͕͔͔Δ

    View Slide

  59. վળ͸·ͩ·ͩ͜Ε͔Βʂ

    View Slide

  60. We are hiring!!
    ΧδϡΞϧ໘ஊਵ࣌ड෇தͰ͢ʂ
    DROBE͸͍͍ͧ
    ࠓͳΒ৭ʑͳτϥΠΛମݧͰ͖·͢

    View Slide

  61. View Slide