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

AbemaTVの開発スタイル

 AbemaTVの開発スタイル

AbemaTV Developer Conference 2016 http://developer.abema.io/

Hirotaka Osaki

October 15, 2016
Tweet

More Decks by Hirotaka Osaki

Other Decks in Technology

Transcript

  1. AbemaTVͷ։ൃελΠϧ
    ϑϩϯτΤϯυΤϯδχΞ େ㟒 ߒਸ

    View Slide

  2. ࣗݾ঺հ
    2015.4 - 2016.7
    େ㟒 ߒਸ (id: taizo)
    FRESH! by AbemaTV
    αʔόʔαΠυΤϯδχΞ ݉ εΫϥϜϚελʔ
    AbemaTV εΫϥϜϚελʔิࠤ (݉೚)
    2016.5 - 2016.7
    AbemaTV ϑϩϯτΤϯυΤϯδχΞ
    2016.8 -

    View Slide

  3. Podcast ΍ͬͯ·͢
    • engineer meeting podcast ( twitter: @engineermeeting )
    • https://soundcloud.com/engineer-meeting
    • 2೥લ͔Βࣾ಺Ͱ׆༂͍ͯ͠ΔํʑΛήετʹݺΜͩΓɺ

    ແବ࿩Λ͢ΔΤϯδχΞܥPodcast
    • ਂ໷ϥδΦܥ IT Podcast Λ໨ࢦͯ͠·͢

    View Slide

  4. ΞδΣϯμ
    • AbemaTV,FRESHͷ։ൃελΠϧͷϕʔε
    • FRESH, AbemaTV΁ͷదԠʹ͍ͭͯ

    View Slide

  5. લఏ
    • ࠓճ͸ɺࣗ෼͕ॴଐ͍ͯͨ࣌͠ظ͕த৺

    ʮFRESH ͷ৽ن্ཱͪ͛ظʯ

    ʮAbemaTV ͷϦϦʔεޙͷӡ༻ʯ

    View Slide

  6. جຊతͳ։ൃελΠϧ

    View Slide

  7. ϕʔε͸εΫϥϜ
    ४උ εϓϦϯτ εϓϦϯτ εϓϦϯτ

    View Slide

  8. εϓϦϯτΛ͸͡ΊΔલͷ४උ
    • ΞδϟΠϧαϜϥΠ ʹ͋ΔΠϯηϓγϣϯσο
    Ω͕ݩ
    • ϝϯόʔશମʹͲ͏͍͏αʔϏεΛ࡞Δ͔ͷೝࣝ
    ߹Θͤ

    View Slide

  9. FRESHͷ৔߹
    2015-04-02, 03 ʹ࣮ࢪ
    ΞδϟΠϧαϜϥΠʹ͋Δ

    ΠϯηϓγϣϯσοΩΛ

    Ұ௨Γ ࿩͠߹͍
    ίϯηϓτΠϝʔδͷ࡞੒ →
    ͬ͘͟Γ12݄಄ϦϦʔε

    ݟੵ΋Γ→ ݁Ռ ํ޲స׵΋͋Γ

    2016-01-21 ϦϦʔε

    View Slide

  10. εϓϦϯτ
    • λΠϜϘοΫε(εϓϦϯτ)2िؒΛ۠੾Δ
    • εϓϦϯτܭըϛʔςΟϯάΛ࣮ࢪ͠ɺλεΫͷ༏ઌॱҐΛܾ
    Ίɺݟੵ΋ΓΛߦ͍ɺ͔ͦ͜ΒεϓϦϯτͰ΍Δ΂͖λεΫΛ
    ܭը͢Δ
    • ຖ೔15෼͘Β͍ͷσΠϦʔεΫϥϜΛߦ͍ɺνʔϜͷঢ়گΛ֬
    ೝ͢Δ
    • εϓϦϯτϨϏϡʔͰɺ੒Ռͷ֬ೝΛߦ͏
    • ͦͷεϓϦϯτͰͷ໰୊఺΍վળͷͨΊʹɺ

    νʔϜͰ;Γ͔͑ΓΛߦ͏

    View Slide

  11. Α͘࢖͍ͬͯΔπʔϧ
    • Slack (chat)
    • JIRA (νέοτ؅ཧ)
    • Confluence (Wiki)
    • esa (Wiki)
    • GitHub (ιʔείʔυ؅ཧ)
    • CircleCI (CI)
    • Jenkins (CI) ΞϓϦͷϏϧυͰར༻
    • Codecov (ϓϧϦΫͷΧόϨοδࣗಈԽ)
    • asana (Ψϯτνϟʔτ)
    ࠓճ͸ ࣌ؒͷ౎߹Ͱৄࡉ͸লུɻ
    http://www.atmarkit.co.jp/ait/articles/1609/01/
    news032.html ࢀߟ

    View Slide

  12. ϕʔεΛϓϩδΣΫτʹదԠ͢Δ
    ͦͷ··֤ϓϩδΣΫτʹ͸దԠ͢Δͷ͸೉͍͠
    • ߟྀ͠ͳ͚Ε͹͍͚ͳ͍ཁૉ
    • ૊৫
    • νʔϜ
    • ਓ
    • ঢ়گ ͳͲͳͲ
    • ͢Ͱʹ͋Δϧʔϧ΍จԽɺνʔϜϝϯόʔΛݟͯ

    ద੾ͳϓϥΫςΟεͷऔࣺબ୒Λ͍ͯ͘͜͠ͱʹͳΔ

    View Slide

  13. νʔϜਓ਺ʹదԠ͢Δ
    FRESH AbemaTV
    ։ൃ: 20ਓલޙ
    ։ൃҎ֎: 10ਓલޙ
    ։ൃ: 30ਓʙ
    ։ൃҎ֎: 100ਓʙ?
    εΫϥϜνʔϜ͸ଟͯ͘΋10ʙ15ਓ͕ݶք
    • ෼ղ͕ඞཁʹͳΔ

    View Slide

  14. νʔϜΛ෼ղ͢Δ
    • 10ਓޙ൒͔ΒͻͱͭͷεΫϥϜνʔϜͰ

    ΍Γ͘Γ͢Δͷ͸೉͘͠ͳΔ
    • FRESH͸໾ׂͰ෼ׂɻ

    ֤ϦʔμʔͱDir, ੹೚ऀͷ·ͱΊΛboardͱͯ͠

    ঢ়گΛ೺Ѳ͢ΔΑ͏ʹͨ͠ΓϙʔτϑΥϦΦόοΫϩάΛ

    ؅ཧͨ͠Γͨ͠
    board
    server front design iOS Android

    View Slide

  15. νʔϜΛ෼ղ͢Δ
    • AbemaTV΋جຊ͸໾ׂͰ෼ׂ
    • ن໛͕େ͖͘ͳΔͱԣͷ࿈ܞ͕ऑ͘ͳΔ
    • ػೳ͝ͱʹϓϩδΣΫτΛ࡞ΓਓΛΞαΠϯ͢Δ͜ͱͰ

    ԣͷ࿈ܞΛڧΊΔΑ͏ʹͨ͠
    board
    server front design iOS Android
    Project A
    Project B Project C

    View Slide

  16. ঢ়گʹదԠ͢Δ
    ϕʔε͸εΫϥϜ։ൃͱ͍ͬͯ΋ɺ

    ΨϯτνϟʔτΛͻ͍ͨΓɺ

    ΍ΓํΛม͑ͨΓ͢Δ৔߹΋͋Δ
    ྫ) FRESH 2015೥11݄த०
    ϦϦʔε༧ఆ೔͕12݄લ൒ͩͬͨ࣌ʹɺ

    ΞϓϦ͕ॎσβΠϯ͔ΒԣσβΠϯʹ͢ΔΑ͏ʹ
    ͱ͍͏࿩͕͕͋ͬͨ

    View Slide

  17. FRESH ॎ͔Βԣ ࣄ݅
    • ܾ·ͬͨ࣌఺ͰϦϦʔε༧ఆ·Ͱ࢒Γ2εϓϦϯτ(4ि)
    ͩͬͨɻ
    • ༧ఆ͍ͯͨ͠ػೳΛϦϦʔεείʔϓ͔Β֎ͯ͠

    ԣରԠʹ஫ྗ(είʔϓͷมߋ)ɻظ೔ͷมߋͳ͠
    • ࠷ॳʹσβΠϯεϓϦϯτΛߦͬͯΰʔϧͷೝࣝ౷Ұ
    • ͋ͱ͸ϝϯόʔʹ೚ͤΔ
    • → ݁Ռɺ։ൃ׬ྃ͸೥಺ʹɻ։ൃͷ಺֎ؚΊͨ౎߹Ͱ
    ϦϦʔε͸1݄

    View Slide

  18. νʔϜͷߟ͑ํʹదԠ͢Δ
    νʔϜ΋࣌ͱ৔߹ʹΑͬͯࢥߟ͕มΘΔ
    • ՝୊͔Β։ൃऀͨͪͰ࢓༷Λམͱ͠ࠐΈ͍ͨ
    • → FRESH
    • σΟϨΫλʔɾϓϥϯφʔ͕མͱ͠ࠐΜͰ͔Β

    ։ൃணख͍ͨ͠
    • → AbemaTV

    View Slide

  19. νʔϜͷߟ͑ํʹదԠ͢Δ
    • FRESH Ͱ͸ղੳ(Ϛʔέ)୲౰͔Β

    ܭଌ݁ՌΛݟͯɺͲ͜ͷ਺ࣈΛ͋͛Δ΂͖͔Λ

    νʔϜϝϯόʔͰߟ͑ͯࢪࡦΛग़͢ձΛઃ͚ͨ
    GAͷ໨ඪୡ੒ϓϩηεϨϙʔτΛϝϯόʔʹڞ༗

    ͦΕͧΕͷվળҊΛߟ͑Δ
    → ͨͩ͠਺ࣈΛ্͛Δͷ͸։ൃऀ໨ઢ͚ͩͩͱ

    ͘͢͝೉͍͠ (MAU Λ 5% ্͛Δ ͳͲ)

    View Slide

  20. ਓʹదԠ͢Δ
    • ։ൃऀݸਓͰ΋Կ͕࠷ॏཁ՝୊͔͸༷ʑ
    αʔϏεͷ
    ਺ࣈ৳͹͍ͨ͠!
    ΧϦΧϦʹ
    νϡʔχϯά
    ͍ͨ͠ʂ
    ૣ͘ग़ͯ͠
    ਺ࣈݟͯվળ͍ͨ͠ʂ
    ਓͷ໾ʹ
    ๙ΊΒΕ͍ͨʂ
    Ժ΍͔ʹ
    ฻Β͍ͨ͠
    ࠷ઌ୺Λ
    ಥ͖ਐΈ͍ͨʂ
    ͔͍͍ͬ͜
    αʔϏε࡞Γ͍ͨʂ
    ύϑΥʔϚϯεΛ
    ͞Βʹ্͍͛ͨʂ
    UX! UX!
    ϢʔβʔςετΛ
    ͖ͪΜͱߦ͍͍ͨʂ
    ΈΜͳʹ࢖ΘΕΔ
    αʔϏεΛ࡞Γ͍ͨʂ
    ׬ᘳͳ΋ͷΛ
    ࡞Γ͍ͨʂ
    ͜͏͢Ε͹
    ΋ͬͱྑ͘ͳΔʂ

    View Slide

  21. ධՁ੍౓
    • AbemaTVͷάϨʔυ੍౓ͷҙຯ͚ͮ
    AbemaTVͰͷҙຯ͚ͮ
    S6 S5+࣮੷+α
    ࣮੷ʹՃ͑ͯɺϩʔϧϞσϧʹͳΓ͑Δ͔(पΓ͔Βଚܟ͞ΕΔ
    ਓ֨ɺٕज़ऀͱͯ͠ͷ࢟੎ɺߩݙҙཉ)
    S5 ϦʔυΤϯδχΞ + α
    ಛఆͷ෼໺ͰलͰٕͨज़ྗ+૯߹తͳٕज़ྗ ࠶ݱੑͷ͋Δύ
    ϑΥʔϚϯε
    S4 ϦʔυΤϯδχΞ
    ٕज़ʹΑͬͯݸཱ͕͓ͬͯΓɺٕज़ͰνʔϜΛϦʔυͰ͖Δ
    ݸͱͯ͠ɺٕज़೉қ౓ͷߴ͍Ҋ݅Ͱ΋੒ՌΛग़ͤΔ
    S3.5 Ұਓલ + α
    ࣮ݱ͍ͨ͜͠ͱ(ᐆດͳҊ݅Ͱ΋)ʹରͯ͠
    ࢓ࣄ٧Ί΍εέδϡʔϧௐ੔΋ؚΊͯҰਓশͰऔΓ૊Ί
    ແࣄʹϦϦʔε·Ͱ͍͚࣋ͬͯΔ
    S3 Ұਓલ
    ༩͑ΒΕͨҊ݅ʹ͍ͨͯ͠ɺجຊઃܭɾৄࡉઃܭɾ࣮૷ɾςε
    τɾϦϦʔεɾӡ༻·ͰܾΊΒΕͨεέδϡʔϧʹैͬͯࣗ૸
    Ͱ͖Δ͜ͱ
    S2 ൒ਓલ
    S1

    View Slide

  22. ࣗ૸Ͱ͖ΔΤϯδχΞ
    • اۀจԽͱͯ͠ɺ·ͣࣗ૸Ͱ͖ΔΤϯδχΞʹͳ
    Δ͜ͱ͕໨ඪ
    • ࣗ૸ͷϥΠϯͱͯ͠ɺ·ͣ S3.5
    ࣮ݱ͍ͨ͜͠ͱ(ᐆດͳҊ݅Ͱ΋)ʹରͯ͠
    ࢓ࣄ٧Ί΍εέδϡʔϧௐ੔΋ؚΊͯҰਓশͰऔΓ૊Ί
    ແࣄʹϦϦʔε·Ͱ͍͚࣋ͬͯΔ

    View Slide

  23. ࣗ૸Ͱ͖ΔͳΒ͹ݖݶΛ࣋ͯΔ
    • ࣗ૸Ͱ͖Δਓʹରͯ͠͸

    ݖݶΛݶΓͳ͘༩͑Δͱ͍͏จԽ
    • ࣗ૸Ͱ͖Δਓ͸ಛʹ؅ཧ͠ͳͯ͘΋

    ϓϩδΣΫτΛճ͢͜ͱ͕Ͱ͖Δ

    View Slide

  24. ཧ૝తͳཱͪৼΔ෣͍
    ※ ΋ͪΖΜେ͖͍λεΫʹ͍ͭͯ͸

    ͜ΕͰ͸ແ͘ɺ͖ͪΜͱͨ͠ϑϩʔͰܭը͢Δ͠

    ͕͔͔࣌ؒΔ಺༰ͷ৔߹͸ɺͦΕΛઆ໌Ͱ͖Δɻ
    ͜ΕϢʔβʔͷརศੑߟ͑Δͱݫ͍͔͠Β
    ૣΊʹ௚ͯ͠ཉ͍͠Ͱ͢
    ͋ɺ͡Ό͋࣍ͷϦϦʔε·Ͱʹؒʹ߹͍ͦ
    ͏ͳͷͰೖΕ͓͖ͯ·͢ʔ
    ΑΖ͓͘͠ئ͍͠·͢ʂ

    View Slide

  25. উखʹ՝୊Λݟ͚ͭͯରԠ͢Δ
    • ࣗ૸Ͱ͖Δਓ͸উखʹ

    ՝୊Λݟ͚ͭͯରԠͰ͖Δ
    • ܭը͢Δલʹख͕ಈ͍ͯऴΘΒ͍ͤͯΔ৔߹΋
    ͋Δ
    • ؅ཧ͗͢͠Δͱ

    ݸਓͷύϑΥʔϚϯεΛग़͠੾Εͳ͍

    Մೳੑ͕͋Δ͕࣌͋Δ

    View Slide

  26. AbemaTVͷจԽ
    • ࣗ૸ΛͰ͖ΔਓͨͪΛूΊ͍ͯΔ
    • ϝϯόʔ͸ࡋྔݖΛ༩͑ɺݸਓ͕࠷େݶೳྗΛൃ
    شͰ͖Δ؀ڥΛ༻ҙ͍ͯ͠Δ
    • ؅ཧ͸࠷௿ݶ
    • ͳͷͰϦϞʔτ։ൃʹ׮༰

    View Slide

  27. Ϛωδϝϯτίετ
    ߴ ௿
    ݸਓεΩϧ
    ߴ
    ௿
    1. νʔϜ։ൃͷೝࣝڞ༗΍
    ։ൃޮ཰ఈ্͛ͷ
    ϓϥΫςΟεΛར༻
    2. ֤ݸਓΛ࠷େԽͱ

    Ϛωδϝϯτίετͷ࡟ݮΛ

    ηοτͰਐΊ͍ͯ͘

    View Slide

  28. AbemaTVͷεϓϦϯτ
    • λΠϜϘοΫε(εϓϦϯτ)2िؒΛ۠੾Δ
    • εϓϦϯτܭըϛʔςΟϯάΛ࣮ࢪ͠ɺλεΫͷ༏ઌॱҐΛܾΊɺ
    ݟੵ΋ΓΛߦ͍ɺ͔ͦ͜ΒεϓϦϯτͰ΍Δ΂͖λεΫΛܭը͢
    Δ
    • ຖ೔15෼͘Β͍ͷσΠϦʔεΫϥϜΛߦ͍ɺνʔϜͷঢ়گΛ֬ೝ
    ͢Δ
    • εϓϦϯτϨϏϡʔͰɺ੒Ռͷ֬ೝΛߦ͏ ৘ใڞ༗ձΛ࣮ࢪ
    • ͦͷεϓϦϯτͰͷ໰୊఺΍վળͷͨΊʹɺ

    νʔϜͰ;Γ͔͑ΓΛߦ͏

    View Slide

  29. σϝϦοτ͸ʁ
    • ݸਓʹґଘ͢ΔͷͰଐਓԽ͢Δ
    • ͨͩɺAbemaTV΋FRESH΋ɺ։ൃεϐʔυΛམ
    ͱ͢ΑΓ΋ଐਓԽͰ૸ͬͯޙ͔ΒνʔϜʹڞ༗͢
    Δମ੍
    • νʔϜ಺ͷษڧձͳͲͰ

    νʔϜશମͷఈ্͛Λੵۃతʹߦ͏

    View Slide

  30. ·ͱΊ
    • AbemaTV, FRESHͷ։ൃελΠϧͷϕʔε͸

    εΫϥϜ։ൃ
    • ਓ਺΍νʔϜͷੑ࣭ɺঢ়گʹΑͬͯ͋·Γ

    ݻࣥͤͣʹ΍ΓํΛม͍͑ͯΔ
    • اۀจԽʹΑΓɺ·ཱͣࣗͰग़དྷ͍ͯΔਓ͕

    େ͖͘׆༂Ͱ͖Δମ੍ʹͳ͍ͬͯΔ
    • ͦΕΛޙ͔ΒΧόʔͰ͖Δ

    ମ੍ͱηοτͰߟ͍͑ͯΔ

    View Slide

  31. උߟ: ࠷ۙνʔϜϏϧσΟϯάͰࢀߟʹͨ͠ࢿྉ
    εϥΠυ
    • ͋ͳͨͷνʔϜͷʮ͍͍ਓʯ͸ػೳ͍ͯ͠·͔͢ʁ

    http://www.slideshare.net/MinoruYokomichi/ss-57211075
    • ։ൃ૊৫Ϛωδϝϯτͷίπ

    https://speakerdeck.com/naoya/kai-fa-zu-zhi-manezimentofalsekotu
    • Netflix Culture

    http://www.slideshare.net/reed2001/culture-1798664
    Web
    • σβΠφʔԣஅ૊৫ͷมભ

    http://techlife.cookpad.com/entry/2016/07/15/092518

    View Slide

  32. උߟ: ࠷ۙνʔϜϏϧσΟϯάͰࢀߟʹͨ͠ࢿྉ

    • ΞδϟΠϧαϜϥΠ

    http://amzn.to/2dZMY0Q

    • νʔϜ͕ػೳ͢Δͱ͸Ͳ͏͍͏͜ͱ͔

    http://amzn.to/2dZPST8
    • ૊৫ύλʔϯ

    http://amzn.to/2ejeJG3
    • σΟγϓϦϯυɾΞδϟΠϧɾσϦόϦʔ

    http://amzn.to/2ejej27
    • ΤΫετϦʔϜϓϩάϥϛϯά

    http://amzn.to/2ejeyul
    • Team Geek

    http://amzn.to/2dZJFGP
    • ೔ຊاۀͷࣾһ͸ɺ

    ͳͥ͜Μͳʹ΋Ϟνϕʔγϣϯ͕

    ௿͍ͷ͔ʁ

    http://amzn.to/2dZNITT

    View Slide

  33. Thanks !

    View Slide