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

業務と両立できる!開発環境の改善!

hicka04
September 13, 2018

 業務と両立できる!開発環境の改善!

普段の業務の中ではどうしてもリリース優先になってしまい、
リファクタリング等の改善活動になかなか時間を割けていない方も多いのではないでしょうか?
弊社では毎月2日間、継続的に開発できるよう開発環境の改善を行っています。
おかげで今ではテストコードを用いたテストができるようになりました。
今回はその中で効果のあった改善施策と、その改善活動をチーム全体で推進するためのポイントについてご紹介します。

hicka04

September 13, 2018
Tweet

More Decks by hicka04

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ ▸ ࠤ౻ ޫ ▸ @hicka04 ▸ χϑςΟϥΠϑελΠϧגࣜձࣾ ▸ iOSΞϓϦ

    (, AndroidΞϓϦ, Πϯϑϥ) ▸ iOS͸2೥ɺSwift͸1.5೥ ▸ ,
  2. վળͨ͠ΞϓϦͷ঺հ େख·ͱΊͯόΠτ୳͠ 2014 / 10 ॳճϦϦʔε ϑϧObj-C 2016 / 8

    Swift΁ͷҠߦΛ։࢝ 2017 / 4 ɹɹJoin! / 5 ։ൃ؀ڥվળ ελʔτ!
  3. ͳͥ։ൃ؀ڥͷվળΛͨ͠ͷ͔ ։ൃϝϯόʔ 2014 / 10 ॳճϦϦʔε ϑϧObj-C 2016 / 8

    Swift΁ͷҠߦΛ։࢝ 1ਓ 2017 / 4 ɹɹJoin! 2ਓ / 5 ։ൃ؀ڥվળ ελʔτ! 4ਓҎ্ʹ…? ϧʔϧ͕ͳ͍ঢ়ଶͰෳ਺ਓͰͷ։ൃΛ͢Δͱ
 ҙਤ͠ͳ͍มߋ͕ଞͷਓʹ೾ٴͯ͠όά͕૿͑ͨΓ(࣭)
 ࡞ۀͷ଴͕ͪൃੜͯ͠஗͘ͳͬͨΓ(εϐʔυ)
 ͢Δ͜ͱ͕༧૝͞Εͨ
  4. վળΛਐΊΔ্ͰͷϙΠϯτ ᶃݱࡏ஍Λ஌Δ͜ͱ ▸ ։ൃͷͨΊͷCMMI(CMMI-Dev) ▸ ϓϩηεͷ੒ख़౓ΛධՁ͢ΔͨΊͷࢦඪ ▸ ೳྗ౓Ϩϕϧ Ϩϕϧ ঢ়ଶ

    ཁ໿ 0 ෆ׬શͳ ࣮ࢪ͞Εͳ͍··ϦϦʔε͞ΕΔɹΧΦε 1 ࣮ࢪ͞Εͨ ࣮ࢪͯ͠ϦϦʔε͞ΕΔ 2 ؅ཧ͞Εͨ ϧʔϧʹԊ࣮ͬͯࢪ͠ϦϦʔε͞ΕΔ 3 ఆٛ͞Εͨ ݫີʹϧʔϧʹԊ࣮ͬͯࢪ͠ϦϦʔε దٓϧʔϧͷվળ͕Ͱ͖͍ͯΔ
  5. վળΛਐΊΔ্ͰͷϙΠϯτ ᶃݱࡏ஍Λ஌Δ͜ͱ ▸ Ұٳ͞ΜͷվળࢿྉΛࢀߟʹ4߲໨ʹ͍ͭͯݱࡏ஍Λϓϩοτ ߲໨ 0 ΧΦε 1 ΍ͬͯΔ 2

    ϧʔϧ͋Δ 3 ݫີ&վળ΋ όʔδϣϯ ؅ཧ αʔϏε ඼࣭ ৘ใڞ༗ υΩϡϝϯτ ˛ ˛ ˛ ˛
  6. վળΛਐΊΔ্ͰͷϙΠϯτ ᶄ໨ඪΛ஌Δ͜ͱ ▸ ໨ඪΛ஌Δ͜ͱͰɺ۩ମతͳख๏ΛܾΊΒΕΔ ▸ Ͳ͏΍ͬͯ஌Δ͔? ▸ ࣾ֎ͷ୭͔ʹڠྗΛڼ͙ ▸ ษڧձ͔Β৘ใऩू

    ▸ ωοτ͔Β৘ใऩू ▸ ຊ͔Β৘ใऩू iOSDC Japan 2017 iOSDC RejectCon iOS Test Night potatotips Twitter Qiita ཆ੒ಡຊ Swift࣮ફೖ໳
  7. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ ߲໨ 0 ΧΦε 1 ΍ͬͯΔ 2 ϧʔϧ͋Δ 3 ݫີ&վળ΋

    όʔδϣϯ ؅ཧ ˛ αʔϏε ඼࣭ ˛ ৘ใڞ༗ ˛ υΩϡϝϯτ ˛
  8. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 4 - 2017 / 9 ߲໨ 2017/4

    ՝୊ όʔδϣϯ ؅ཧ ‣ Bitbucket ‣ OSS͸PodsͰ؅ཧ ‣ ϒϥϯνϧʔϧͳ͠ αʔϏε ඼࣭ ‣ ࣌ʑίʔυϨϏϡʔ ‣ खಈͰͷςετ ‣ CrashlyticsʹΑΔόάݕ஌ ‣ ίʔυϨϏϡʔͳ͍ ‣ ςετίʔυͳ͍
  9. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 4 - 2017 / 9 ߲໨ ՝୊

    ΞΫγϣϯ όʔδϣϯ ؅ཧ ‣ ϒϥϯνϧʔϧͳ͠ ‣ ϦϦʔεϑϩʔΛ໌จԽ ‣ ϒϥϯνӡ༻ͷϧʔϧ΋໌ه αʔϏε ඼࣭ ‣ ίʔυϨϏϡʔͳ͍ ‣ ςετίʔυ΋ͳ͍ ‣ ίʔυϨϏϡʔͳ͠ͰϦϦʔ εͰ͖ͳ͍Α͏੍໿ ‣ Lintಋೖ ‣ ৽نػೳ͔Βςετॻ͘
  10. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 4 - 2017 / 9 ▸ ϦϦʔεϑϩʔΛܾΊͯ໌จԽ

    ▸ Gitͷϒϥϯνӡ༻ ▸ ίʔυϨϏϡʔ ▸ ΍Δ΂͖ςετ
  11. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 4 - 2017 / 9 ▸ SwiftLintͷಋೖ

    ▸ Τϥʔɾϫʔχϯά ͕ܭ1,000௒͑ ▸ εϖʔεͷ༗ແɺෆཁͳηϛίϩϯɺڧ੍Ξϯϥοϓ…ͳͲ
 1ͭ1ͭॱ൪ʹ௚͍ͯͬͨ͠ ▸ ͢΂ͯखಈͰ௚͕ͨ͠ɺ؆୯ͳϧʔϧ͸
 $ swiftlint autocorrect
 ͰҰൃͩͬͨ͜ͱΛ͋ͱ͋ͱ஌ͬͨɻ
  12. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 4 - 2017 / 9 ߲໨ 0

    ΧΦε 1 ΍ͬͯΔ 2 ϧʔϧ͋Δ 3 ݫີ&վળ΋ όʔδϣϯ ؅ཧ ˛ • αʔϏε ඼࣭ ˛ɹ • ৘ใڞ༗ ˛ • υΩϡϝϯτ ˛ • ˛ • → ←ςετίʔυॻ͚͍ͯͳ͍
  13. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 ߲໨ 2017/10

    ՝୊ αʔϏε ඼࣭ ‣ ඞͣίʔυϨϏϡʔ ‣ LintͰίʔσΟϯάελΠϧ ౷Ұ ‣ खಈͰͷςετ ‣ CrashlyticsʹΑΔόάݕ஌ ‣ ςετίʔυͳ͍ ‣ ΫϥογϡݪҼಛఆͷ
 ৘ใ͕଍Γͳ͍ ‣ ΫϥογϡҎ֎ͷόά ʹؾ͚ͮͳ͍ αʔϏε඼࣭ʹ஫ྗ
  14. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 αʔϏε඼࣭ʹ஫ྗ ߲໨

    ՝୊ ΞΫγϣϯ αʔϏε ඼࣭ ‣ ςετίʔυͳ͍ ‣ ΫϥογϡݪҼಛఆͷ
 ৘ใ͕଍Γͳ͍ ‣ ΫϥογϡҎ֎ͷόάʹ ؾ͚ͮͳ͍ ‣ ςετίʔυΛॻ͚Δ
 ίʔυʹϦϑΝΫλ ‣ ςετίʔυΛॻ͘ ‣ ΫϥογϡҎ֎ͷ৘ใΛ
 CrashlyticsʹૹΔ
  15. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 αʔϏε඼࣭ʹ஫ྗ ▸

    ςετίʔυΛॻ͚Δίʔυʹ ▸ iOSDC2017 ▸ MVPΛษڧͯ͠ಋೖ
 ˠษڧෆ଍ͰͳΜͪΌͬͯMVPʹͳͬͯ͠·͍
 ɹςετίʔυॻ͚ͣ…
 ɹFatViewController → FatPresenter
  16. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 αʔϏε඼࣭ʹ஫ྗ ▸

    ςετίʔυΛॻ͚Δίʔυʹ ▸ potatotips(ࢀՃͯ͠ͳ͍͕) ▸ VIPERΞʔΩςΫνϟ ▸ ୤FatPresenter
 PresenterɿදࣔͷϩδοΫ
 InteractorɿσʔλͷϩδοΫ ▸ ͦΕͧΕ͕protocolʹͷΈґଘ͍ͯ͠ΔͷͰςετ͕ॻ͚Δ!!
  17. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 αʔϏε඼࣭ʹ஫ྗ ▸

    ΫϥογϡҎ֎ͷ৘ใΛCrashlyticsʹૹΔ ▸ iOSDC2017 ▸ ΧελϜϩά
 Ͳ͔͜Βىಈͯ͠ͲΜͳը໘ͰͲΜͳΞΫγϣϯΛ͔ͨ͠ ▸ ඇΫϥογϡͷΤϥʔ
 ݕࡧ͕ͨ͠Ϩεϙϯε500ɺݕࡧ݁Ռ0݅…ͳͲ
  18. ࣮ࡍʹ΍͖ͬͯͨ͜ͱ 2017 / 10 - 2018 / 6 ߲໨ 0

    ΧΦε 1 ΍ͬͯΔ 2 ϧʔϧ͋Δ 3 ݫີ&վળ΋ όʔδϣϯ ؅ཧ •ɹ˒ αʔϏε ඼࣭ • ˒ ৘ใڞ༗ • ˒ υΩϡϝϯτ •ɹ˒ ˒ • → CIͰςετ͕
 ࣗಈతʹ૸ΔΑ͏ʹ͍ͨ͠
  19. ·ͱΊ 2017 / 4 - 2017 / 10 - 2018

    / 6 ߲໨ 0 ΧΦε 1 ΍ͬͯΔ 2 ϧʔϧ͋Δ 3 ݫີ&վળ΋ όʔδϣϯ ؅ཧ ˛ •ɹ˒ αʔϏε ඼࣭ ˛ɹ • ˒ ৘ใڞ༗ ˛ • ˒ υΩϡϝϯτ ˛ •ɹ˒ ˒ • → ˛ → ண࣮ʹվળ!!
  20. ·ͱΊ ▸ ෳ਺ਓ։ൃʹͳͬͯ΋
 Ϋϥογϡ͕૿͑ͨΓϦϦʔεස౓͕ݮΔ͜ͱ͸ͳ͔ͬͨ ▸ վળΛਐΊΔ্ͰͷϙΠϯτΛԡ͑͞Δ ᶃ ݱࡏ஍Λ஌Δ͜ͱ ᶄ ໨ඪΛ஌Δ͜ͱ

    ᶅ ఆظతʹৼΓฦΓΛ͢Δ͜ͱ ▸ ۀ຿ͱཱ྆͢Δ্Ͱͷۤ࿑͸ͩΜͩΜখ͘͞ͳ͍ͬͯ͘͸ͣ
 (ͱʹ͔͘0→1͕େมɻجૅ͕Ͱ͖ͨঢ়ଶͰͷվળ͸࠷ॳΑΓ͸ָ) ▸ पΓͷڠྗ΋ڼ͗ͳ͕Β1า1าਐΊ͍͖ͯ·͠ΐ͏!!