Slide 1

Slide 1 text

Rebuild Team
 ٸ੒௕ϓϩμΫτͷDev&OpsͰੜ͡Δѱ॥؀ͱͦͷղܾࡦ 
 2017-10-13 (Fri) 
 SPI Japan 2017 presented by @yuzutas0 IUUQTXXXQFYFMTDPNQIPUPDPMMFBHVFTDPPQFSBUJPOpTUCVNQpTUT

Slide 2

Slide 2 text

90ຕ / 20min 
 ͲΜͲΜ͍͖·͢

Slide 3

Slide 3 text

ɹSho Yokoyama (@yuzutas0) ɹɹ 
 
 ● ϦΫϧʔτςΫϊϩδʔζ ● ೝఆεΫϥϜϚελʔ ● ΤϯδχΞνʔϜͷ্ཱͪ͛ɾཱͯ௚͠

Slide 4

Slide 4 text

ɹຊ೔ͷ಺༰ “ٸ੒௕ʹ൐͏௧Έ” Λ1ͭ1ͭղফͯ͠ νʔϜΛ҆ఆԽͨ͠ࣄྫΛڞ༗͠·͢

Slide 5

Slide 5 text

ɹ૝ఆ͢Δର৅ ٸ੒௕ϑΣʔζͷϓϩμΫτ։ൃɾӡ༻ʹؔ৺ͷ͋Δ ● ιϑτ΢ΣΞΤϯδχΞ
 ● νʔϜϦʔμʔ
 ● ૊৫Ϛωʔδϟʔ

Slide 6

Slide 6 text

1. എܠɾ՝୊ 
 
 2. վળ׆ಈ
 ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
 
 3. ৼΓฦΓ ɹΞδΣϯμ

Slide 7

Slide 7 text

ɹ੒௕௧ʹۤ͠ΉϓϩμΫτ 
 ձࣾͷ࣍Λ୲͏ࣄۀͱͯ͠ͷظ଴ νʔϜཱͯ௚͠ͷඞཁੑ
 ϝϯόʔ2ഒ/Q
 εέʔϧظ ച্3ഒ/೥
 άϩʔε੡඼ ো֐2݅/Ӧۀ೔
 ةػతঢ়گ

Slide 8

Slide 8 text

ɹ“0→1” ͕ੜΜͩෛ࠴ ώοτ͢Δ͔ෆ֬ఆͰίετΛׂ͚ͳ͔ͬͨ ֎஫ʹؙ౤͛ γεςϜ͸௿඼࣭ γεςϜͷݶք ϐʔΫ࣌ؒଳͷԠ౴͕20sec ࢢ৔֦େ Ϣʔβʔ૿Ճ

Slide 9

Slide 9 text

ɹ“1→10” ʹඋ͑ͨ࠶ߏங ϐʔΫ࣌ؒଳͷϨεϙϯελΠϜΛ0.05secʹ400ഒͷվળ ɹɹɹɹɹɹɹɹɹɹɹɹΦϯϓϨ ϨϯμϦϯάHTMLͱ
 jQueryͷଟॏಡࠐ
 → VirtualDOMɾSPA
 ʢඇಉظϕʔεͷ௨৴ʣ ֤αʔόͷεέʔϧΞοϓˍεέʔϧΞ΢τ DBΩϟογϡ
 → KVSҠ؅ ϚϧνϚελߏ੒ʹWrite෼ࢄ ඇਖ਼نԽ&Ϛελςʔϒϧഇࢭ
 ʹJoin΍εΩϟϯΛ࡟ݮ ϙʔϦϯά࠷దԽ ΤϯυϙΠϯτΛ෼ࢄ
 ϩδοΫશॻ͖௚͠ JPA؆қੜ੒ΫΤϦ → ࣗલSQLͰ࠷దԽ

Slide 10

Slide 10 text

ɹ“1→10” ʹඋ͑ͨ಺੡Խ αϒγεAͷ࠶ߏங ՔಇதγεςϜͷ
 อकӡ༻ αϒγεAͷ
 ड͚౉͠ ʴαϒγεAͷ
 ػೳ௥ՃΛ࠶։ ʴαϒγεBͷ
 ػೳ௥ՃΛ࠶։ αϒγεBͷ࠶ߏங αϒγεCͷ࠶ߏங αϒγεBͷ
 ड͚౉͠ γεςϜ࠶ߏஙνʔϜ ੡඼։ൃˍӡ༻νʔϜ ػೳ௥ՃΛҰ࣌ఀࢭ͢Δܭը͕ͩͬͨࣄۀ෦໳ͷཁٻͰ࣮ࢪ
 γεςϜ෦໳ͷϚωδϝϯτ૚͕ະհࡏͷ··૸Γ࢝Ίͨ ֎஫Λഇࢭ

Slide 11

Slide 11 text

ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ

Slide 12

Slide 12 text

ɹϛογϣϯ ● ։ൃɾӡ༻νʔϜΛཱͯ௚͢͜ͱ ● ͞ΒͳΔ੒௕ͷ౔୆Λߏங͢Δ͜ͱ

Slide 13

Slide 13 text

1. എܠɾ՝୊ 
 
 2. վળ׆ಈ
 ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
 
 3. ৼΓฦΓ ɹΞδΣϯμ

Slide 14

Slide 14 text

γεςϜো֐͕Ӧۀ೔͋ͨΓ2݅ൃੜ͢Δঢ়گ͕1ϲ݄ଓ͍ͨ
 → શνʔϜͷ͋ΒΏΔ։ൃΛࢭΊͯ௜੩Խ ঃʑʹऩଋ͕ͨ͠ ● ߃ٱରԠ͸ਃ͠ૹΓ
 ● िʹԿճ͔࣌ݶര஄͕രൃ
 ● ϦϦʔεͷ౓ʹ৽ͨͳো֐͕ൃੜ ɹͳʹ͸ͱ΋͋ΕՐΛফ͢ https://www.pexels.com/photo/water-outside-fire-hose-69934/

Slide 15

Slide 15 text

ɹѱ॥؀Λଧ։͢Δվળ׆ಈ վળαΠΫϧΛͻͨ͢Βճ͠ଓ͚ͨ ݱঢ়ͷՄࢹԽ
 ಁ໌ੑ ϘτϧωοΫͷಛఆ
 ݕࠪ ϓϥΫςΟεͷద༻
 దԠ

Slide 16

Slide 16 text

ɹ˞ٕज़؍఺΋ίπίπվળ͠ͳ͕Β ίʔυ඼࣭ͷ୲อ ϒϥϯνઓུͷಋೖ QAࢧԉɾςετڧԽ ϦϦʔε࡞ۀͷࣗಈԽ ཁ݅ϑΥʔϚοτ੔උ ςετ޲͚෺ࢿ؅ཧ IUUQTPOJDTPGUTPMVUJPOTJORVBMJUZBTTVSBODFBOEUFTUJOHIUNMɹɹɹIUUQOWJFDPNQPTUTBTVDDFTTGVMHJUCSBODIJOHNPEFM

Slide 17

Slide 17 text

݁Ռతʹʮݱ৔͚ͩͰແཧʹղܾ͠ͳ͍ʯʮ૬ஊ͢Ε͹ղܾͰ͖Δ͜ͱ΋͋Δʯͷϝοηʔδʹ΋ͳͬͨ ɹ˞֎෦ϦιʔεͰෆ଍Λิ͍ͳ͕Β ෺ࢿɿϗϫΠτϘʔυ΍Ϟχλʔ ஌ࣝɿಛఆ෼໺ͷઐ໳Ոαϙʔτ

Slide 18

Slide 18 text

1. എܠɾ՝୊ 
 
 2. վળ׆ಈ
 ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
 
 3. ৼΓฦΓ ɹΞδΣϯμ

Slide 19

Slide 19 text

ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ

Slide 20

Slide 20 text

ɹϘτϧωοΫ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ τϥϒϧ ମྗɾϝϯλϧʹ௚ܸ ๷͗Α͏͕ͳ͍

Slide 21

Slide 21 text

ɹࠞཚͨ͠··ো֐ʹରቂ͢Δ

Slide 22

Slide 22 text

● ܰඍͳෆ۩߹ͰͷΦϯίʔϧ΍࢒ۀରԠ͕ൃੜ͍ͯͨ͠
 ● ෆద੾ͳରԠʹΑΔೋ࣍ࡂ֐͕গͳ͔Βͣൃੜ͍ͯͨ͠ ɹো֐ͷ܏޲෼ੳ͔Βணख

Slide 23

Slide 23 text

● ඼࣭ɾো֐ରԠʹ͓͚Δؔ܎ऀͷ໨ઢ߹Θͤ ● ఆٛͦͷ΋ͷ < “ఆظతͳձ࿩” Λ௨ͨ͡ڞ௨ೝࣝͷৢ੒ ɹαʔϏεϨϕϧΛఆٛ

Slide 24

Slide 24 text

ɹͲͷ͘Β͍ ”΍͹͍” Ϩϕϧ͔ SLA ػೳ ηΩϡϦςΟɾ๏཯ ίΞػೳ αϒػೳ ඇػೳ ৴པੑɾՄ༻ੑ ੑೳɾΩϟύγςΟ OLA ʴ 
 Өڹൣғ ར༻ऀ਺ɾγΣΞ཰ ࣌ؒଳ αϙʔτ؀ڥ ʹ 
 ରԠ଎౓ ଈ࣌ରԠ - ϕετΤϑΥʔτ ༏ઌରԠʢʼػೳ௥Ճʣ ௨ৗରԠʢʹػೳ௥Ճʣ ӡ༻ ఆظతͳධՁ → ࠶ൃ๷ࢭ + ࣄલ༧๷ αʔϏεϨϕϧఆٛࣗମͷݟ௚͠ ࢀরʰαʔϏεϨϕϧɿઃܭͱӡ༻ͷϓϥΫςΟεʱ http://yuzutas0.hatenablog.com/entry/2017/05/23/073000

Slide 25

Slide 25 text

ಋೖ࣌ʹ͸աڈࣄྫΛ౿·͑ͨγϛϡϨʔγϣϯͰઆ໌ 
 ྫྷ੩ʹ࿩͢ͱʮ͜ͷϨϕϧͷෆ۩߹Ͱʯʮ໷௨͠ͷରԠΛͯ͠ʯ
 ʮೋ࣍ࡂ֐͕ى͖ͨ͜ͱʯͷ࢒೦͕͞ු͖ூΓʹͳΔʢ൑அج४ͷඞཁੑʣ ɹʮ͜ΕΛܾΊͯԿͷҙຯ͕͋Δͷʁʯ ͜ͷτϥϒϧͩͱ ͜ͷରԠʹͳΔ ͜ͷτϥϒϧͩͱ ͜ͷରԠʹͳΔ ͜ͷτϥϒϧͩͱ ͜ͷରԠʹͳΔ

Slide 26

Slide 26 text

αʔϏεϨϕϧΛ൑அͷدΔลͱͯ͠গͣͭ͠ఆணͤ͞Δ 
 ɹײ৘΍যΓͰҙࢥܾఆ͕ͳ͞Ε͕ͪ ɹʮαʔϏεϨϕϧఆٛͩͱ
 ɹɹ͜ͷΑ͏ʹ൑அͰ͖·͢Ͷʯ ҙࢥܾఆͷ৔ʹډ߹ΘͤΔ
 γεςϜ෦໳ͷ໾৬ऀΛঌש͢Δ τϥϒϧൃੜ࣌͸
 ϝϯόʔʹ੠Λֻ͚ͯ΋Β͏ ৺ཧత҆શੑ
 ʮ૬ஊ͢Ε͹໷ؒରԠͤͣʹࡁΉʯ ϝϯόʔ͕ҰํతʹෆརӹΛ
 ඃΒͳ͍Α͏ʹίϛϡχέʔγϣϯ

Slide 27

Slide 27 text

ܗ֚Խɾߗ௚ԽΛ๷͙ͨΊͷӡ༻ઃܭ 
 ● ݄࣍ͷৼΓฦΓͰఆٛࣗମΛՃචɾमਖ਼
 ● աେɾաগͳΦϖϨʔγϣϯϨϕϧͰରԠ → ͔࣍Βద੾ͳϨϕϧͱ͢Δձ࿩ ● Ξοϓσʔτ͠΍͍͢Α͏ʹίϥϘϨʔγϣϯπʔϧʢConfluenceʣʹهࡌ ɹ౰ॳ͸ߟྀ֎ͩͬͨ৽؍఺͕ग़Δ

Slide 28

Slide 28 text

ɹద੾ͳϨϕϧͰ඼࣭ʹରቂ͢Δ

Slide 29

Slide 29 text

1. എܠɾ՝୊ 
 
 2. վળ׆ಈ
 ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
 
 3. ৼΓฦΓ ɹΞδΣϯμ

Slide 30

Slide 30 text

ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ

Slide 31

Slide 31 text

ɹϘτϧωοΫ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ർฐ ”୲౰ऀ”ͷ๊͑Δ
 ՝୊Λ੾Γ։͘

Slide 32

Slide 32 text

ɹ“୲౰ऀ”͚͕ͩ՝୊ʹରቂ͢Δ

Slide 33

Slide 33 text

ɹ1on1ʹͯώΞϦϯά IUUQTXXXQFYFMTDPNQIPUPBEVMUCFBSECFWFSBHFCMVS

Slide 34

Slide 34 text

ɹɹɹɹɹ ● ϝϯόʔ͝ͱʹҟͳΔ՝୊ҙࣝΛ๊͍͑ͯΔ ɹɹɹɹɹ ● ͦͷ “໰୊” Λ͓ޓ͍ʹൃ৴͍͋͑ͯ͠ͳ͍
 ɹɹɹɹɹ ● νʔϜͱͯ͠ “໰୊” ͷݕ஌ɾղܾ͕Ͱ͖͍ͯͳ͍ ɹܧଓతͳ՝୊ͷݕ஌͕Ͱ͖͍ͯͳ͍ IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM

Slide 35

Slide 35 text

●ʮߴ͍༏ઌ౓ʯͩΒ͚ͷܭը ●ʮߴ͍༏ઌ౓ʯͩΒ͚ͷׂΓࠐΈ࡞ۀ
 ● “୲౰ऀ” ͕ՔಇΛ૿΍͢͜ͱͰܭըʹ࣮ଶΛ߹ΘͤΑ͏ͱͨ͠ ɹ༏ઌॱҐʹԠͯ͡࡞ۀͰ͖͍ͯͳ͍

Slide 36

Slide 36 text

νʔϜ಺෦ͷձ࿩Λ׆ੑԽ → ಁ໌ੑΛอͭ → ݕࠪɾదԠͷαΠΫϧΛճ͢ ɹεϓϦϯτηϨϞχʔΛ։࠵ What ԿΛ͢Δ͔ How Ͳ͏΍ͬͯ͢Δ͔ ि࣍ϨϏϡʔ ࡞ۀ݁ՌϑΟʔυόοΫ σΠϦʔMTG ࡞ۀͷ࠶ܭը ि࣍ϓϥϯχϯά Ҋ݅ͷ࠶ܭը ϨτϩεϖΫςΟϒ ϓϩηεͷ࠶ܭը What ԿΛ͢Δ͔ How Ͳ͏΍ͬͯ͢Δ͔

Slide 37

Slide 37 text

ɹηϨϞχʔʹ൐͏ΞΠςϜͷ੔උ ɹϓϩμΫτόοΫϩά
 ɹݶΒΕͨਓһͰ༏ઌॱҐʹԠͯ͡࡞ۀ͢ΔΩϡʔ ɹো֐෺Ϧετ
 ɹϨτϩεϖΫςΟϒͰՄࢹԽ͞Εͨ՝୊ ɹεϓϦϯτόοΫϩά
 ɹݱঢ়ͷ࡞ۀਐḿΛՄࢹԽ͢ΔΧϯόϯ

Slide 38

Slide 38 text

*ྫʮ͋ͷَిͷதͰ΋खॱॻΛ࡞ͬͯϨϏϡʔͰ͖ͨʂೋ࣍ࡂ֐͕ى͖ͳ͍Α͏ʹಈ͚ͨͷ͸ྑ͔ͬͨʂʯ ɹKPTʹΑΔৼΓฦΓ͔Βணख Keep ݫ͍͠ঢ়گ͔ͩΒͦ͜ൃش͞Εͨ
 ྑ͍఺Λ͔ͬ͠Γͱশ͑߹ͬͨ* Problem ʢͦͷ্Ͱʣ֤ϝϯόʔ͕
 ײ͍ͯ͡Δ՝୊Λચ͍ग़ͨ͠ IUUQXXXJSBTVUPZBDPNCMPHQPTU@IUNM

Slide 39

Slide 39 text

ɹTryͱͯ͠ϓϥΫςΟεΛঃʑʹಋೖ ݱ৔͕ແཧͳ͘ड͚ೖΕΒΕΔॱ൪ͰΞδϟΠϧख๏Λద༻ʢ͍͖ͳΓεΫϥϜͩͱ਎ߏ͑ΒΕΔʣ 1౓ʹ͋Ε΋͜Ε΋
 ରԠ͢Δͷ͸ແཧͩʂ ༏ઌॱҐͷΩϡʔ؅ཧ
 όοΫϩάΛಋೖ Problem Try Ωϡʔͷݟ௚͠Λ
 ͨ͠΄͏͕ྑ͍ͷͰ͸ʁ ݟ௚͠ػձͱͯ͠
 ϓϥϯχϯάձٞΛಋೖ Problem Try ଞͷҊ݅Λ஌Βͳ͍ͷͰ
 αϙʔτͰ͖ͳ͍ʂ σΠϦʔMTG΍
 ि࣍ϨϏϡʔΛಋೖ Problem Try

Slide 40

Slide 40 text

ɹʮ΍Γํ͕ίϩίϩมΘΔʯ໰୊ ϓϥΫςΟεͷద༻͕ٸ͗͢Δͱɺݱ৔ͷϝϯόʔ͕뱌Ͱ͖ͳ͍ 
 ● ೲಘͰ͖ΔൣғΛฉ͖ग़͢ → શһ͕ೲಘͰ͖Δ෦෼͔Βಋೖ ● ͜ͷνʔϜʹ͸·ͩૣ͗ͨ͢ → ʮ΍ͬͺΓ΍Ί·͠ΐ͏ʯͰ੾Γ໭͠ ● த్൒୺ͳద༻Ώ͑ͷProblem͕ڍ͕Δ → TryͰ͞Βʹຊ֨ద༻ ●ʮࠜຊͷߟ͑ํΛ஌Γ͍ͨʯͱ͍͏ҙݟ → ر๬ऀʹରͯ͠ࢀߟਤॻͷҊ಺

Slide 41

Slide 41 text

ɹ“ݱ৔ͷৼΓฦΓ”Λج఺ʹ্Ґ૚࿈ܞ Slack #kpt ʹ౤ߘ
 ؾ෇͍ͨ఺͸͙͢ڞ༗ ౤ߘΛࢀߟʹͯ͠
 ϨτϩεϖΫςΟϒ Try Λચ͍ग़͢ Ϛωδϝϯτձٞ Ͱ
 ্Ґ૚ʹαϚϦʔใࠂ ͦͷProblem͸
 νʔϜ಺ͰରॲՄೳ͔ʁ Yes No ࢀরʰΤεΧϨΛࢧ͑Δٕज़ - ΞδϟΠϧͳใ࿈૬ͱ৘ใྲྀ௨ʱ http://yuzutas0.hatenablog.com/entry/2017/08/10/090000 Lean Escalation ͷ࠲૊Έ

Slide 42

Slide 42 text

ɹνʔϜͱͯ͠՝୊ͱରቂ͢Δ

Slide 43

Slide 43 text

1. എܠɾ՝୊ 
 
 2. վળ׆ಈ
 ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
 
 3. ৼΓฦΓ ɹΞδΣϯμ

Slide 44

Slide 44 text

ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ

Slide 45

Slide 45 text

ɹϘτϧωοΫ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ KPTΛ௨ͯ͠՝୊͕ු্ ʢνʔϜͷॏ఺՝୊ͱͯ͠߹ҙܗ੒ʣ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ہॴ࠷ద

Slide 46

Slide 46 text

● શମ૾Λશ͘஌Βͳ͍ ● શମ૾ʹΞΫηεͰ͖ͳ͍ ɹہॴ࠷దͷ༠Ҽ

Slide 47

Slide 47 text

͋ΒΏΔ։ൃɾӡ༻ۀ຿ͷɺ͋ΒΏΔ޻ఔʹ
 ͋ΒΏΔProblem͕Ϛοϐϯά͞Εͨ ཁٻ੔ཧ ཁ݅ఆٛ ઃܭ ੡଄ ࢼݧ ग़ՙ ӡ༻ Problem Problem Problem Problem Problem Problem Problem Problem Problem Problem Problem Problem Problem ɹʮԿͱͳ͘ʯͷ࡞ۀͩΒ͚

Slide 48

Slide 48 text

Tryͷ༏ઌॱҐܾΊ΍૬ޓαϙʔτ͕ࠔ೉ ● ୲౰ऀҎ֎͸ʢ୲౰ऀࣗ਎Ͱ͑͞ʣ֤ʑͷۀ຿ϑϩʔΛ೺ѲͰ͖ͳ͍ ● ۀ຿಺༰ͷͲ͜ʹɺͲͷΑ͏ͳϜμɾϜϥɾϜϦ͕ੜ͡Δ͔ݟ͑ͳ͍ ɹશମ૾͕ෆಁ໌

Slide 49

Slide 49 text

࡞ۀ࣌ؒɾ଴ͪ࣌ؒ΍ख໭Γͷ࣮ଶΛચ͍ग़͢
 ϜμɾϜϥɾϜϦ͕ੜ͡ΔՕॴΛಛఆ ɹόϦϡʔετϦʔϜϚοϓʢVSMʣΛ࡞੒ Ҿ༻ݩʮ೔ຊͷDevOpsมֵΛଅਐ͢ΔόϦϡʔετϦʔϜϚοϐϯάʯ http://gihyo.jp/dev/column/01/devops/2017/value-stream-mapping

Slide 50

Slide 50 text

ݟ͑ʹ͍͘෦෼ʹͦ͜໰୊͕જΉ ʹ શۀ຿ΛՄࢹԽ͢Δ͜ͱ͕େ੾ ɹ֤ۀ຿͝ͱʹผͷVSMΛ࡞Δ ػೳ௥Ճͷ։ൃ γεςϜো֐ରԠ ΧελϚʔ͔Βͷ
 ໰͍߹ΘͤରԠ ଞ෦ॺ͔Βͷ
 ࡞ۀґཔରԠ γεςϜอकۀ຿
 ྫɿEOSLରԠ γεςϜӡ༻ۀ຿
 ྫɿΩϟύγςΟܭଌ http://gihyo.jp/dev/column/01/devops/2017/value-stream-mapping

Slide 51

Slide 51 text

1. ೲಘͯ͠΋Β͏
 ● ໰୊ҙࣝɾଧͪखΛઆ໌
 ● ࣾ಺ͰͷVSM׆༻ࣄྫΛ঺հ
 
 2. શһͰVSMΛ࡞੒
 ● ֤୲౰ऀ͕આ໌͠ͳ͕Βۀ຿ͷྲྀΕΛॻ͘
 ● “ϜμɾϜϥɾϜϦ” ΍ ”ϝϯόʔؒͷೝࣝͷࠩ෼” ΛՄࢹԽ
 ● ·͞ʹਐߦதͩͬͨҊ݅ͷϦεΫΛͦͷ৔Ͱݕ஌Ͱ͖ͨʢ੒ޭମݧʣ ɹશһࢀՃܕϫʔΫγϣοϓ͔Β࢝ΊΔ ࣮෺͸Ԛ͍Ͱ͢ʜʜ

Slide 52

Slide 52 text

ɹʮ߆ଋ͕࣌ؒ௕͗͢Δʯ໰୊ ϫʔΫγϣοϓͰ͸
 શһ͕ཧղ͠΍͍͢
 ʮػೳ௥ՃʯΛର৅ ࢒Γ͸୲౰ऀʹ
 ώΞϦϯά VSMΛ࡞੒
 ʹ՝୊ͷՄࢹԽ ͙͢Ͱ͖ΔՕॴ͔Β
 ۀ຿ϑϩʔΛվળ վળޮՌ͕ݟ͑Δ ʹඞཁੑɾೲಘײ

Slide 53

Slide 53 text

ɹۀ຿ͷશମ૾Λ஌Δ

Slide 54

Slide 54 text

1. എܠɾ՝୊ 
 
 2. վળ׆ಈ
 ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
 
 3. ৼΓฦΓ ɹΞδΣϯμ

Slide 55

Slide 55 text

ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ

Slide 56

Slide 56 text

ɹϘτϧωοΫ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ KPTΛ௨ͯ͠՝୊͕ු্ ʢνʔϜͷॏ఺՝୊ͱͯ͠߹ҙܗ੒ʣ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ہॴ࠷ద

Slide 57

Slide 57 text

● શମ૾Λશ͘஌Βͳ͍ ● શମ૾ʹΞΫηεͰ͖ͳ͍ ɹہॴ࠷దͷ༠Ҽ

Slide 58

Slide 58 text

վળ׆ಈΛ௨ͯ͠ٸܹʹϧʔϧɾϓϩηε͕ܾ·͍͕ͬͯ͘
 ҙࢥܾఆͷεϐʔυʹυΩϡϝϯτԽ͕ؒʹ߹Θͳ͍ ɹʮͲ͜ΛݟΕ͹෼͔Δʁʯ໰୊ ※ຊߘʹ͓͚ΔʮυΩϡϝϯτʯ͸ূ੻ɾܖ໿໨తͰ͸ͳ͘ɺۀ຿ඪ४Խͷʮ࡞ۀखॱॻʯ΍ʮΠϯϑϥ؀ڥҰཡʯͱ͍ͬͨ΋ͷ

Slide 59

Slide 59 text


 ● υΩϡϝϯτԽʴߋ৽͠ଓ͚Δ͜ͱͷॏཁੑ͸KPTͰڧௐ ● ೔ʑͷίϛϡχέʔγϣϯͰʮͥͻจॻԽ͍ͯͩ͘͠͞ʯʮߋ৽͍ͯͩ͘͠͞ʯ ● ଅਐҊΛืΔ → ϝϯόʔओମͰଅਐbot΍νέοτӡ༻ͷࢼߦࡨޡ
 ɹʢҊࣗମ͸ଓ͔ͳ͔͕ͬͨϝϯόʔ͕ࣗൃతʹจॻԽ͢ΔΑ͏ʹͳͬͨʣ ɹνʔϜશһʹਪਐऀͱͯ͠ৼ෣ͬͯ΋Β͏

Slide 60

Slide 60 text


 ● ϝϯόʔ͕ओମతʹจॻԽ → ผͷ৔ॴʹࣅͨυΩϡϝϯτ͕ॏෳ ɹ࣮ྫ: A͞Μ͕ো֐Λड͚ͯϦϦʔεखॱॻΛߋ৽ → B͞Μ͸ผͷखॱॻͰಉ͡ϛε → C͞Μ΋ ● ໎ͬͨͱ͖ʹɺͲ͜ΛݟΕ͹ʢʹͲ͜ʹॻ͚͹ʣྑ͍͔෼͔Βͳ͍ ɹʮͲΕ͕ਖ਼͍͠ʁʯ໰୊ ϦϦʔεखॱॻA "͞Μ ো֐ൃੜ ϦϦʔε࡞ۀΛ࣮ࢪ ࡞ۀ࿙ΕΛ൓ө ϦϦʔεखॱॻA
 ʢ൓өࡁΈʣ ϦϦʔεखॱॻB
 ʢະ൓өʣ #͞Μ "͞Μ ಉ͡ো֐͕ൃੜ ϦϦʔε࡞ۀΛ࣮ࢪ ࡞ۀ࿙ΕΛ൓ө ϦϦʔεखॱॻA
 ʢ൓өࡁΈʣ "͞Μ ϦϦʔεखॱॻB
 ʢ൓өࡁΈʣ #͞Μ ϦϦʔεखॱॻC
 ʢະ൓өʣ $͞Μ ·ͨಉ͡ো֐͕ൃੜ ϦϦʔε࡞ۀΛ࣮ࢪ

Slide 61

Slide 61 text

ɹϨΨγʔυΩϡϝϯτ मਖ਼͕͍ͭޙճ͠
 ԿΛॻ͚͹͍͍͔໎͏
 Ͳ͜ʹॻ͚͹͍͍͔໎͏ Write ݟ͔ͭΒͳ͍
 ৘ใ͕ݹ͍ɾޡΓ
 ࣅͨ಺༰͕ࢄࡏ͍ͯ͠Δ Read ·͞ʹϨΨγʔίʔυͱಉ͡
 ର৅͕ࣗવݴޠʢ΋͘͠͸දɾਤʣʹͳ͚ͬͨͩʂ
 ↓
 ઃܭɾमਖ਼ͷ΍Γํ΋ϓϩάϥϛϯάͱಉ͡Ͱ͸ʁ

Slide 62

Slide 62 text

ɹMVCΞʔΩςΫνϟͷద༻ 
 ґଘؔ܎ʹج͍ͮͨυΩϡϝϯτઃܭ View ϦϦʔε࡞ۀखॱॻ Πϯϑϥ؀ڥҰཡ JenkinsϩάΠϯ৘ใ ϦϦʔεه࿥_201704XX Controller Model

Slide 63

Slide 63 text


 ܁Γฦ͠ϖʔδ͸Ұׅ؅ཧ ɹIteratorύλʔϯ(GoF)ͷద༻ View ϦϦʔε࡞ۀखॱॻ Πϯϑϥ؀ڥҰཡ JenkinsϩάΠϯ৘ใ ϦϦʔεه࿥_201704XX Controller Model ϦϦʔεه࿥_201704XX ϦϦʔεه࿥_201705XX ϦϦʔεه࿥_201706XX

Slide 64

Slide 64 text

ɹDocument as Code - υΩϡϝϯτΛιʔείʔυͷΑ͏ʹѻ͏ ɹ ● ϘʔΠεΧ΢τݪଇɿ๚Εͨϝϯόʔ͕Ճචɾमਖ਼
 ɹɹɹɹɹจॻΛݟΔલΑΓ΋ɺݟͨޙͷ΄͏͕៉ྷͳঢ়ଶͱͳ͍ͬͯΔͷ͕๬·͍͠
 ɹ ● ίʔυϨϏϡʔɿߏ੒ʹ೰ΜͩΒ૬ஊ
 ɹɹɹɹɹʮ͜͏͍͏ҙਤͰ͜͜ʹॻ͜͏ͱࢥ͏ʂͲ͏ࢥ͏ʁʯΛ૬ஊ͢ΔSlackνϟϯωϧ ʹ ϨϏϡʔ׆ੑԽ Ͳ͜ʹͲͷυΩϡϝϯτ͕͋Δ΂͖͔Λ
 ίʔσΟϯάʹྫ͑ͯձ࿩͢Δ
 ↓
 ߟ͑ํ΍࡞ۀͷਐΊํʹ΋౰ͯ͸·Δ IUUQTQJYBCBZDPNFOMJCSBSZCPPLTNPOUFTTPSJTIFMG

Slide 65

Slide 65 text


 ● Ϣʔεέʔε෼ੳ
 ● ϦϑΝΫλϦϯά
 ● ϖΞϓϩάϥϛϯά
 ● Ϟϒϓϩάϥϛϯά
 ● όʔδϣϯ؅ཧ
 ɹυΩϡϝϯτΛίʔυͷΑ͏ʹѻ͏16ͷύλʔϯ (Document Design Pattern) 
 ● ΞʔΩςΫτνʔϜ
 ● ίϯ΢ΣΠͷ๏ଇ
 ମ੍ͷύλʔϯ 
 ● ٕज़తෛ࠴
 ● ϙʔτϑΥϦΦ
 ● ίʔσΟϯάΛଅ͢
 ● ίʔυϨϏϡʔ
 ● ϘʔΠεΧ΢τ
 ● Rule of Three จԽͷύλʔϯ 
 ● MVCϞσϧ
 ● GoFσβΠϯύλʔϯ
 ● ܧଓతσϦόϦʔ /
 ΠςϨʔγϣϯ ߏ੒ͷύλʔϯ ࡞ۀͷύλʔϯ ˞ମ੍΍จԽ͸σβΠϯʢઃܭʣʹӨڹΛ༩͑ΔͷͰσβΠϯύλʔϯʹؚΊ͍ͯ·͢ ࢀরʰDevOpsͱυΩϡϝϯτσβΠϯύλʔϯʱ http://yuzutas0.hatenablog.com/entry/2017/07/06/083000

Slide 66

Slide 66 text

ɹ৘ใͷΞΫηγϏϦςΟ

Slide 67

Slide 67 text

1. എܠɾ՝୊ 
 
 2. վળ׆ಈ
 ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
 
 3. ৼΓฦΓ ɹΞδΣϯμ

Slide 68

Slide 68 text

ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ

Slide 69

Slide 69 text

ɹϘτϧωοΫʁ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ ݁Ռతʹྑ͘ͳΔ෦෼ͳͷͰ ௚઀ͷΞϓϩʔνͳ͠ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ ඼࣭ྼԽ

Slide 70

Slide 70 text

1. എܠɾ՝୊ 
 
 2. վળ׆ಈ
 ᶃαʔϏεϨϕϧ ᶄηϨϞχʔ ᶅόϦϡʔετϦʔϜ ᶆυΩϡϝϯτ
 
 3. ৼΓฦΓ ɹΞδΣϯμ

Slide 71

Slide 71 text

● ։ൃɾӡ༻νʔϜΛཱͯ௚͢͜ͱ ● ͞ΒͳΔ੒௕ͷ౔୆Λߏங͢Δ͜ͱ ɹϛογϣϯ

Slide 72

Slide 72 text

ɹDev&OpsͰੜͨ͡௧Έ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ

Slide 73

Slide 73 text

ɹ௧ΈΛ཈੍͢Δ ػೳෆશͷѱ॥؀ ϓϨογϟʔ → “୲౰ऀͷ੹೚”
 ໨ઌͷ࡞ۀΛͲ͏ʹ͔͠ͳ͚Ε͹ ޓ͍ͷ࢓ࣄΛ஌Βͳ͍
 αϙʔτɾϨϏϡʔͰ͖ͳ͍
 ୲౰ऀ͚ͩͰࣗݾ׬݁ ૝ఆ֎ͷ࢓༷
 ߟྀෆ଍ͷ։ൃ
 ͦͷ৔྇͗ͷӡ༻ γεςϜো֐ͷଟൃ
 ػೳ௥Ճͷ஗Ԇ
 ਂ໷ରԠɾٳ೔ग़ࣾͷৗଶԽ 
 “0→1” ͷ࣌ݶര஄ 
 ஌ࣝܧঝͳ͖νʔϜ֦େ ͞ΒͳΔ඼࣭ѱԽͷݒ೦ τϥϒϧ ർฐ ہॴ࠷ద ඼࣭ྼԽ αʔϏεϨϕϧ ηϨϞχʔ όϦϡʔετϦʔϜ υΩϡϝϯτ

Slide 74

Slide 74 text

ɹάϩʔεΛ࣋ଓՄೳʹ͢Δ޷॥؀ Dev ❤ Ops 
 “0→1” ͷ࣌ݶര஄ 
 νʔϜ֦େ΁ͷ४උ ஌ࣝͷܧঝ 
 γεςϜো֐: 0.5݅/݄ʹݮগ
 ܰඍͳෆ۩߹: ਂ໷ٳ೔ରԠ͸0ʹ ҆ఆԽ 
 ηϨϞχʔʹΑΔݕࠪͱదԠ
 VSM/υΩϡϝϯτʹΑΔۀ຿ܕԽ ՄࢹԽ 
 ୲౰֎ϝϯόʔ͕ॿݴɾαϙʔτ
 ࣄલʹ໰୊఺Λݕ஌→඼࣭༧๷ શମ࠷ద ঃʑʹݮΔ

Slide 75

Slide 75 text

ɹ৽نࢀըऀͷ੠ @KPTͰͷձ࿩ Կ͔ฉ͍ͨΒશ෦ʮܾ·͍ͬͯͳ͍ʯ
 ͜ΜͳʹԿ΋ܾ·͍ͬͯͳ͍ݱ৔͸ॳΊͯ υΩϡϝϯτ΍αϙʔτ͕ॆ࣮͍ͯͨ͠
 ͜ΜͳʹεϜʔζʹ্ཱ͕ͪΕͨݱ৔͸ॳΊͯ 4Q Joinϝϯόʔ 1Q Joinϝϯόʔ

Slide 76

Slide 76 text

1. ૣ͍ஈ֊Ͱ༏लͳएखࣾһΛԿ໊͔ଞ෦ॺ͔ΒҾ͖ൈ͍ͨ
 2. ൑அج४ͱͨ͠ਓࡐཁ݅ = അྗ͕͋Δ͜ͱ
 ɹ ● ໰୊ఏىɾվળਪਐͰ͖Δࣗൃੑɹ͜ͷΞαΠϯ͸ਪਐ໾Λ૿΍ͨ͢ΊͷଧͪखͳͷͰ
 ɹ ● ৬ೳԣஅࢤ޲ɹτϥϒϧ͸ԣஅՕॴͰى͖ΔͨΊʢྫɿiOSͱWebAPIΛ྆ํݟΔඞཁ͕͋Δʣ ɹ ● Կ͔͠Β1ͭͷݴޠɾFWͷۀ຿ར༻ܦݧɹ1ͭεΩϧͷϕʔε͕͋Ε͹ଞͷεΩϧ͸ֶ΂ΔͨΊ
 ɹ ● ιʔείʔυʹ৮Εͣ͘͢Ϳ͍ͬͯΔ͜ͱɹݏͰ΋ຖ೔ιʔείʔυΛಡΈॻ͖Ͱ͖Δमཏ৔ΛఏڙͰ͖ΔΑʂ ʮՖܗ෦ॺɾՖܗۀ຿Ͱ͸ͳ͍ʯʮ্͕٧·͍ͬͯΔʯͳͲͷཧ༝Ͱ֘౰͢Δएख͸ଟ͍ͩΖ͏ͱ͍͏ൃ૝ ϝϯόʔͷҰһͱͯ͠
 ޷॥؀΁ͷγϑτΛܦݧ Qຖͷମ੍֦େʹ߹Θͤ
 ͞ΒʹνʔϜΛ෼ׂ ֤νʔϜϦʔμʔͱͯ͠
 ਪਐ໾ʹͳͬͯ΋Β͏ ɹεέʔϧʹ޲͚ͨਪਐ໾

Slide 77

Slide 77 text

ɹ޷॥؀Λճͨ͢Ίʹඅ΍ͨ͠ίετ ݱ৔ϝϯόʔͷίϛϡχέʔγϣϯίετΛେ෯ʹඅ΍ͨ͠
 ɹ ● ୹ظతʹ͸σϦόϦʔʹϚΠφεӨڹʢʹݟ͑Δɿલ޻ఔͷ඼࣭୲อͰ݁Ռతʹϓϥεʣ
 ɹ ● ͲͷΈͪѱ॥؀ΛࢭΊΔͨΊʹඞཁͳίετͩͱ্Ґ૊৫ɾൃදऀ͸ೝ͍ࣝͯ͠Δ
 
 εςʔΫϗϧμʔશମͱͷѲΓ͸ऑ͔ͬͨ ɹ ● ঢ়گ͕ঢ়گͳͷͰʮνʔϜ಺ͷ՝୊Λ੾Γ։͘͜ͱʯʮ্Ґ૊৫ʹ఻ୡ͢Δ͜ͱʯ͕࠷༏ઌ
 ɹ ● ֎͔Βͷݟ͑ํ͸ʮো֐Λग़ͨ͠ɾ։ൃ͕஗Ε͍ͯΔͷʹɺखΛࢭΊͯϫʔΫγϣοϓΛ࢝ΊΔνʔϜʯ
 ɹ ● ݏຯΛݴΘΕͨͷ͸1౓΍2౓Ͱ͸ͳ͍ → ͜ͷѹྗ͕ѱ॥؀ͷਅҼ → कΓखͱͯ͠ͷΤϯδχΞ෦ॺͷҙٛ
 
 ্Ґ૊৫ˍଞ෦ॺϝϯόʹཪͰϑΥϩʔ͍ͨͩ͘ܗͱͳͬͨ ɹ ● ಛʹʮ։ൃܦݧ͋ΓʯʮϏδωε෦໳ʹॴଐʯͷϝϯόʔ͕؇িࡐͱͳͬͨͷ͕େ͖͍

Slide 78

Slide 78 text

ɹ͞ΒͳΔ੒௕ͷͨΊʹ Ծઆ ऩӹ Dev&Ops࠷దԽͷ༨஍
 ྫɿνʔϜͷΫϩεϑΝϯΫγϣφϧԽ γεςϜ؍఺Ͱͷ౔୆ߏங
 ྫɿա৒ͳٕज़తෛ࠴Λ༧๷͢Δ࢓૊Έ Biz Dev Ops ɹBizΛ౿·͑ͨ
 ɹ શମ࠷దԽ
 ɹ ● γεςϜ
 ɹ ● ϓϩηε
 ɹ ● ࢪࡦɾཁ݅

Slide 79

Slide 79 text

ɹBizDevOpsʹ޲͚ͨऔΓ૊Έ “෦ॺɾ৬຿Λ௒͑ͨϝτϦΫεͷڞ༗” ͱ “σʔλ׆༻จԽͷ૷ண” ࢀরʰJupyterͱBigQueryʹΑΔσʔλ෼ੳج൫ͷDevOpsʱ http://yuzutas0.hatenablog.com/entry/2017/09/12/203000 σʔλج൫

Slide 80

Slide 80 text

ɹϏδωεՁ஋ʹ޲͚ͨվળ

Slide 81

Slide 81 text

࠷ޙʹ

Slide 82

Slide 82 text

ɹProduct Growth εϐʔυײΛେࣄʹ͢Δ ● ര஄Λආ͚ͳ͕Βલʹ૸Γଓ͚Δͱ͍͏͜ͱ
 ● ര஄ʹࣗ෼͔ΒಥͬࠐΉ͜ͱͰ͸ͳ͍ → ෛই͢Δ΄Ͳ஗͘ͳΔ ΤϯδχΞ͔ͩΒͦ͜ؾ෇͚Δ͜ͱ ● ʮ͜͜͸যͬͯ͸μϝͩʂʯʮര஄ͩʂஸೡʹਐΉͧʂʯͱ͍͏৔໘
 ● खΛಈཱ͔͢৔ʢ͔ͭͯखΛಈ͔ͨ͠ܦݧऀʣͰͳ͍ͱ෼͔Βͳ͍
 ● ٸ੒௕ϓϩμΫτͰ͸ͦͷ৔໘͕ͻͨ͢Βଓ͘ IUUQTXXXQFYFMTDPNQIPUPDBSFGSFFDIJMEDIJMEIPPEDPVOUSZTJEF

Slide 83

Slide 83 text

ɹٯઆͷΤϯδχΞϦϯά ϕετϓϥΫςΟε͸൓௚ײత
 ● ΫΦϦςΟΛߴΊΔͨΊʹɺଈ࣌ରԠΛݮΒ͢ ● ΞδϦςΟΛߴΊΔͨΊʹɺखΛࢭΊͯ࿩͠߹͏ ߟ͑Δͱ౰ͨΓલͷ͜ͱ ● যͬͨ··࢓ࣄΛଓ্͚ͯख͘ߦ͘Θ͚͕ͳ͍ ɹɹ৸ෆ଍ͷૢॎ͕࢜୲౰͢Δඈߦػʹ৐Γ͍͔ͨʁɹύχοΫঢ়ଶͷ֎Պҩʹखज़͞Ε͍͔ͨʁ
 ɹɹάϩʔεϑΣʔζ͔ͩΒͱ͍ͬͯѱ॥؀Λ์ஔ͍͍ͯ͠ཧ༝ʹ͸ͳΒͳ͍
 ● νʔϜʹ͸ಁ໌ੑͱݕࠪͱదԠ͕ඞཁ IUUQTXXXQFYFMTDPNQIPUPBEVMUBEWFOUVSFCBDLQBDLEBZMJHIU

Slide 84

Slide 84 text

ʮ͜Ε͓͔ͬͯ͘͠ͳ͍Ͱ͔͢ʁʯ
 ୭͔͕੠Λ্͛Δ͜ͱ͕ɺվળͷୈҰา ʮ͜ΕͬͯͲ͏ͳ͍ͬͯ·͔͢ʁʯ
 ୭͔ʹ੠Λֻ͚Δ͜ͱ͕ɺಁ໌ੑͷୈҰา νʔϜͷҰһͷ໾ׂͰ͢
 ࠓ͜͜ʹ͍Δࢲͨͪࣗ਎ͷ໾ׂͰ͢

Slide 85

Slide 85 text

νʔϜͱͯ͠ϓϩηεΛվળ͠Α͏
 νʔϜͱͯ͠γεςϜΛվྑ͠Α͏
 νʔϜͱͯ͠ϓϩμΫτΛ੒௕ͤ͞Α͏

Slide 86

Slide 86 text

νʔϜͷ҆ఆͷ্ʹͦ͜ ܧଓతͳސ٬Ձ஋ͷఏڙ͕
 ʢͦͷ݁Ռͱͯ͠Ϗδωεͷ੒௕͕ʣ
 ࣮ݱͰ͖Δͷͩͱࢥ͍ͬͯ·͢

Slide 87

Slide 87 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ presented by @yuzutas0 IUUQTXXXQFYFMTDPNQIPUPDPMMFBHVFTDPPQFSBUJPOpTUCVNQpTUT

Slide 88

Slide 88 text

- ࢼߦࡨޡɾࣦഊࣄྫ - ࢀߟࢿྉ - Special Thanks ɹAppendix

Slide 89

Slide 89 text

ɹվળ໾͕࠷΋ίʔυΛॻ͍ͯ͠·ͬͨ ໷தʹ1ਓͰίʔσΟϯά͢ΔӋ໨ʹͳͬͨ ● ࠷ॳͷࠒ͸ϝϯόʔ͸ࣗ਎ͷ୲౰ൣғ͔͠෼͔Βͳ͔ͬͨ
 ● αϒγεςϜԣஅͰઃܭɾ࣮૷Ͱ͖Δਓࡐ͕͍ͳ͍ঢ়ଶ
 എதΛݟͤΔ͜ͱͷޫͱӄ
 ● ண೚ૣʑʹ೉қ౓ͷߴ͍ઃܭɾ࣮૷Λ΍ͬͯͷ͚͔ͨΒͦ͜ɺϝϯόʔͷ৴པΛಘͨଆ໘΋͋Δ
 ● վળʹྗΛׂ͚ͣɺਓ͸ҭͨͣɺνʔϜ͕ػೳ͠ͳ͍ʢϓϨΠϯάϚωʔδϟʔͷΞϯνύλʔϯʣ ࣗ૸Λଅͯ͠ঃʑʹ݈શԽ ● एखࣾһͷҾ͖ൈ͖ ʴ ձ࿩ͷ׆ੑԽ ʴ ܧଓతͳ࡞ۀ಺༰ͷϑΟʔυόοΫʢि࣍ϨϏϡʔʣ

Slide 90

Slide 90 text

ɹBizDevOpsͷଅਐ - ૣ͗ͨ͢ࢪࡦ 1. νʔϜϏδϣϯɺΫϨυɺ։ൃKPIͷࡦఆ ● Ծઆɿ໨ඪ૾΍ج४͕͋Ε͹վળͷํ޲ੑ͕ݟ͑ͯϝϯόʔ͕ࣗൃతʹಈ͚Δ
 ● ݁ՌɿϚΠφεΛθϩʹ͍ͯ͠Δ్தͳͷͰɺকདྷͷֆۭࣄɾݱ࣮ຯ͕ͳ͍៉ྷࣄ 2. Ϗδωεߏ଄ɾঢ়گʹ͍ͭͯͷษڧձ ● Ծઆɿ୲౰֎ͷۀ຿΍෼໺ͷ࿩Λฉ͘͜ͱͰBiz΁ͷછΈग़͠Λޙԡ͠Ͱ͖Δ
 ● ݁Ռɿ໘നͦ͏͚ͩͲࠓ͸ͦΕͲ͜ΖͰ͸ͳ͍ͷͰϑϥετϨʔγϣϯ → ࠷ۙʹͳͬͯ࠶νϟϨϯδ ● ʮ2าઌΛݟਾ্͑ͨͰɺ1าઌΛଅ͘͢Β͍͕ͪΐ͏Ͳ͍͍ʯ by ϝϯλʔ 7JTJPO .JTTJPO 7BMVF

Slide 91

Slide 91 text

ɹࢀߟࢿྉ ॻ੶ɾPDF ʰϦʔϯ։ൃͷຊ࣭ - ιϑτ΢ΤΞ։ൃʹ׆͔͢7ͭͷݪଇʱɹʰεΫϥϜΨΠυ - εΫϥϜ׬શΨΠυ: ήʔϜͷϧʔϧʱ
 ʰ૊৫ύλʔϯ - νʔϜͷ੒௕ʹΑΓΞδϟΠϧιϑτ΢ΣΞ։ൃͷมֵΛଅ͢ʱʰΤΫετϦʔϜϓϩάϥϛϯά - Embrace Changeʱ
 ʰ΢ΣϒΦϖϨʔγϣϯ - αΠτӡ༻؅ཧͷ࣮ફςΫχοΫʱʰڧ͍ձࣾ͸͜͏ͯ͠࡞ΒΕΔʂ - ITIL࣮ફͷమଇʱ 
 εϥΠυ
 ● ݁ՌతʹεΫϥϜʹͳͬͯΔʂͳͷ͕͍͍ͱࢥ͏ʂɹhttps://speakerdeck.com/bufferings/jie-guo-de-nisukuramuninatuteru-nafalsegaiitosi-u-number-rsgt2017
 ● ޮՌతͳࣗಇԽΛ໨ࢦ͢ʂ Value Stream Mapping ࣮ફϫʔΫγϣοϓ https://docs.com/ushio-tsuyoshi/8263 ● ৽نࣄۀ͕ରቂ͢Δݱ࣮͔ΒΤϯδχΞϦϯάΛ၆ᛌ͢Δ https://www.slideshare.net/i2key/devsumib
 ● αʔϏεϨϕϧɿઃܭͱӡ༻ͷϓϥΫςΟε http://yuzutas0.hatenablog.com/entry/2017/05/23/073000 ● ΤεΧϨΛࢧ͑Δٕज़ - ΞδϟΠϧͳใ࿈૬ͱ৘ใྲྀ௨ http://yuzutas0.hatenablog.com/entry/2017/08/10/090000
 ● DevOpsͱυΩϡϝϯτσβΠϯύλʔϯ http://yuzutas0.hatenablog.com/entry/2017/07/06/083000
 ● JupyterͱBigQueryʹΑΔσʔλ෼ੳج൫ͷDevOps http://yuzutas0.hatenablog.com/entry/2017/09/12/203000 IUUQFDOJLLFJCQDPKQJUFNCPPLT1IUNM

Slide 92

Slide 92 text

ɹSpecial Thanks ൴Βͷ৺ڧ͍ࢧ͕͔͑͋ͬͨΒͦ͜ɺνʔϜཱͯ௚͠ʹઐ೦͢Δ͜ͱ͕Ͱ͖·ͨ͠ɻ
 ຖ೔ͷ ٽ͖ࣄ ૬ஊʹ೪Γڧ͘ରԠ͠ଓ͚ͯͩͬͨ͘͜͞ͱΛײँ͓ͯ͠Γ·͢ɻ
 Satoshi UejimaɹɹࢸΒͳ͔ͬͨ఺ΛཪͰϑΥϩʔ͍͖ͨͩ·ͨ͠ɻʮ΋͏ແཧͬ͢ʯͷ౓ʹɺ
 ɹɹɹɹɹɹɹɹɹ ݟ͍ۤ͠ݴ͍༁ͷ1ͭ1ͭͱஸೡʹ޲͖߹ͬͯ͘Εͨ࠷ߴͷ্࢘Ͱͨ͠ɻ
 Itsuki KurodaɹɹɹνʔϜͷ࣮৘΍จ຺Λ౿·্͑ͨͰɺվળͷଧͪखɾਐΊํʹ͍ͭͯ
 ɹɹɹɹɹɹɹɹɹ ຊ࣭త͔ͭੜ࢈తͳΞυόΠεΛ͍͖ͨͩ·ͨ͠ɻ 
 Kenichi Takahashiɹ૊৫໘Ͱͷ੯͠Έͳ͍όοΫΞοϓΛ௨ͯ͠
 ɹɹɹɹɹɹɹɹɹ ج൫੔උ΍Ҋ݅։ൃͷيಓ͕৐ΔΑ͏ʹαϙʔτ͍͖ͨͩ·ͨ͠ɻ