How Developer Support Works

How Developer Support Works

「開発支援という仕事」
Battle Conference U30 登壇資料
https://battleconference-u30.connpass.com/event/49985/

E32fe793290d1e72b0a78648da9c687b?s=128

Naoki Ainoya

March 11, 2017
Tweet

Transcript

  1. ։ൃࢧԉͱ͍͏࢓ࣄ !OBPLJBJOPZB 3FDSVJU.BSLFUJOH1BSUOFSTDP MUE

  2. w BJOPZB w dNJYJ w dOPXSFDSVJU w ΠϯϑϥͱΞϓϦ։ൃ͕
 ŧŔŕŪũƄŝſΤϯδχΞ BJOPZBJP

  3. None
  4. γϯϓϧͳϏϧυύΠϓϥΠϯπʔϧXBMUFSΛϦϦʔε͠·ͨ͠c"EWBODFE5FDIOPMPHZ-BC IUUQBUMSFDSVJUUFDIDPKQCMPH 8BMUFSWCFUBΛϦϦʔε͠·ͨ͠c"EWBODFE5FDIOPMPHZ-BC IUUQBUMSFDSVJUUFDIDPKQCMPH

  5. )PXUPQMBZ4DBMBPOEPDLFSJ[FEJOGSBTUSVDUVSF4QFBLFS%FDL IUUQTTQFBLFSEFDLDPNBJOPZBIPXUPQMBZTDBMBPOEPDLFSJ[FEJOGSBTUSVDUVSF

  6. IUUQTFJHPTBQVSJKQ

  7. ΪϦΪϦ6OEFS ͋ͱ̑ϲ݄Ͱ͍̏͞Ͱ͕͢ ͕Μ͹Γ·͢

  8. ࠓ΍͍ͬͯΔ͜ͱ

  9. l։ൃࢧԉz

  10. 4JUF3FMJBCJMJUZ&OHJOFFSJOH %FWFMPQFS1SPEVDUJWJUZ&OHJOFFSJOH ηΩϡϦςΟରԠ ΤϯδχΞ࠾༻ɾਓࣄɾ૊৫׆ੑ ࣾ಺*5 FUDʜ

  11. ࢧԉର৅ ฐࣾ಺੡։ൃ૊৫಺ͷ ෳ਺ϓϩμΫτ܈

  12. l։ൃΛՃ଎ͤ͞ΔͨΊͷ։ൃz ͳΒ ͳΜͰ΋΍Δ

  13. ͳͥ΍Δͷ͔ʁ

  14. ΤϯδχΞʹ σΟʔϓɾϫʔΫ ͯ͠΋Β͏ͨΊ

  15. None
  16. େࣄͳ͜ͱʹूத͢Δ  ϢʔβʹՁ஋Λಧ͚Δ͜ͱ ͨͩҰ఺ʹूதͰ͖Δ ؀ڥͷͨΊʹ

  17. ϢʔβʹՁ஋Λಧ͚ΔͨΊʹ ຊ࣭తͰͳ͍ɺෆཁͳ ίετɾ࣌ؒɾ࣌ؒΛ࡟Δ  γϟϩʔϫʔΫΛۃখԽ͢Δͷ͕໨త

  18. ྫ͑͹

  19. ϋΠύϫʔ$*ϚγϯಋೖͰ Ϗϧυ࣌ؒ୹ॖ

  20. Ϗϧυ࣌ؒͷ ୹ॖ 4DBMBϓϩδΣΫτͷ ίϯύΠϧ ʴ ςετ ʴ EPDLFSJNBHFੜ੒ ࣌ؒΛʹ

  21. Ϗϧυ࣌ؒͷ୹ॖ ʹ ࣌ؒ͸ۚͰങ͑Δ ʢ͔͔ͨͩ̎̌ສͰ

  22. ͱ͸͍͑ɺ ͓ۚͷແବݣ͍͸

  23. ྫ͑͹ɺ2"

  24. Ͱςελʔ͞ΜΛूΊͯ ࿑ಇू໿తʹςετ

  25. େྔͷςετ߲໨Λ ख࡞ۀͰ࣮ࢪ ϦϦʔε·Ͱ੾Ӌ٧·͍ͬͯΔͱ͋Γ͕ͪ

  26. ఆٛʹैͬͯػցతʹ ͜ͳͤΔ΋ͷ͸ ࣗಈԽ͢Δ΂͖

  27. ςελʔ͞Μʹ͸ ਓؒͰͳ͍ͱൃݟ͕ ೉͍͠όάΛ୳͢͜ͱʹ ूதͯ͠΄͍͠

  28. εϚϗΞϓϦͷςετ ࣗಈԽج൫ͷಋೖ

  29. 0QFO45'ͷ ಋೖ ݕূ୺຤ͷςετϑΝʔϜߏங αΠόʔ͞Μ͓ੈ࿩ʹͳͬͯ·͢

  30. 0QFO45'ͷ ಋೖ ϦϞʔτϫʔΫ࣌΋ ݕূ୺຤ར༻͕༰қʹ

  31. "QQJVNʹΑΔ ࣮ػFFςετ ݕূɾಋೖ 0QFO45'4BVDFMBCTΛ ςετϑΝʔϜͱͯ͠ ࣗಈԽج൫Λߏங <3.1Y2VJQQFSNFFUVQ>։ൃͷͨΊͷ։ൃdεϚϗΞϓϦ޲͚FFςετͷݕূಋೖࣄྫΛ௨ͯ͡d4QFBLFS%FDL IUUQTTQFBLFSEFDLDPNBJOPZBSNQYRVJQQFSNFFUVQOVNCFSLBJGBGBMTFUBNFGBMTFLBJGBTVNBIPBQVSJYJBOHLFFFUFTVUPGBMTFKJBO[IFOHEBPSVTIJMJXPUPOH[JUF

  32. "QQJVNʹΑΔ ࣮ػFFςετ ςετ࣮ߦͷ࢓૊ΈΛ ੔͑ͨ <3.1Y2VJQQFSNFFUVQ>։ൃͷͨΊͷ։ൃdεϚϗΞϓϦ޲͚FFςετͷݕূಋೖࣄྫΛ௨ͯ͡d4QFBLFS%FDL IUUQTTQFBLFSEFDLDPNBJOPZBSNQYRVJQQFSNFFUVQOVNCFSLBJGBGBMTFUBNFGBMTFLBJGBTVNBIPBQVSJYJBOHLFFFUFTVUPGBMTFKJBO[IFOHEBPSVTIJMJXPUPOH[JUF

  33. "QQJVNʹΑΔ ࣮ػFFςετ $IBMMFOHJOHͳ औΓ૊Έ΋ Perceptual diffsʹΑΔσάϨͷݕग़཰ڧԽ
 https://github.com/uber/image-diff <3.1Y2VJQQFSNFFUVQ>։ൃͷͨΊͷ։ൃdεϚϗΞϓϦ޲͚FFςετͷݕূಋೖࣄྫΛ௨ͯ͡d4QFBLFS%FDL IUUQTTQFBLFSEFDLDPNBJOPZBSNQYRVJQQFSNFFUVQOVNCFSLBJGBGBMTFUBNFGBMTFLBJGBTVNBIPBQVSJYJBOHLFFFUFTVUPGBMTFKJBO[IFOHEBPSVTIJMJXPUPOH[JUF

  34. ࣗಈԽʹΑΔ࡟ݮ ͚ͩͰͳ͘ʜ

  35. 2"σΟϨΫγϣϯͷ ෛՙ࡟ݮ  σΟϨΫλʔͷ γϟϩʔϫʔΫ࡟ݮ

  36. σΟϨΫλʔҎ֎ʹ΋ʜ ΤϯδχΞ୲౰֎ͷ࢓ࣄ γϟϩʔϫʔΫͩΒ͚

  37. ྫ͑͹ ϚʔέςΟϯά୲౰ σʔλूܭۀ຿

  38. ڪΔ΂͖ ਓྗεΫϨΠ ϐϯά ച্ूܭγεςϜ σʔλग़ྗ"1*΍ σʔλμϯϓػೳ͕ͳ͔ͬͨ ػೳ௥Ճͷ໨ॲ΋ͨͨͳ͍  ˣ ଞࣾ؅ཧԼͷച্ूܭը໘Λ

    ̍ϖʔδͣͭΊͬͯ͘ &YDFMʹసࣸʜ
  39. 4DSBQZʹΑΔ ͓खܰ εΫϨΠϐϯά ਓखͰ͸࣮ݱෆՄೳͩͬͨ ස౓Ͱͷച্ܭଌ͕ Ͱ͖ΔΑ͏ʹ

  40. 4DSBQZʹΑΔ ͓खܰ εΫϨΠϐϯά 4DSBQZΫϩʔϥ޲͚ ϑϨʔϜϫʔΫ ਺ेߦॻ͚͹ͦͦ͜͜ಈ͘
 Ϋϩʔϥ͕ͭ͘ΕΔ
 ͓͢͢Ί http://asheesh.org/pub/scrapy-talk/#1

  41. ϧʔνϯϫʔΫ ଞʹ΋·ͩ·ͩͨ͘͞Μ͋Δ

  42. ձٞࣨ༧໿

  43. શࣾඪ४ͷձٞࣨ༧໿γεςϜ ͋ΒΏΔ*5Ϧςϥγɾۀ຿ܗଶͷશࣾһ ਺ສਓن໛ ͕ ౳͘͠࢖͑Δ΂͘࡞ΒΕͨݹͷγεςϜ

  44. ՄೳͳݶΓ࢖͍΍͘͢ ม͑Δ͜ͱ͕೉͍͠΋ͷΛ ࣗ෼͕ͨͪม͑ΒΕΔൣғͰม͍͑ͯ͘ ձٞࣨ༧໿ΞϓϦΛ ձٞࣨલʹઃஔ 4MBDLJOUFHSBUJPO

  45. ଞʹ΋͍Ζ͍Ζ ίπίπࣗಈԽ

  46. w ϝʔϧͰ͔͠ల։͞Εͳ͍৘ใڞ༗ɻΤϯδχΞ औΓ͜΅͢
 4MBDLʹྲྀ͢࢓૊Έ࣮૷ .JDSPTPGUqPXΛར༻  w QSJWBUFͳTMBDLDIBOOFMͷQVCMJDԽ
 DIBOOFMͷΞʔΧΠϒɾϦωʔϜͱ৽ن࡞੒Λ
 ߦ͏CPU࣮૷

    w ۀ຿πʔϧ܈ͷΞΧ΢ϯτਃ੥ɾ؅ཧ
 (PPHMF'PSN 4MBDLͰDIBUPQTͳ෷͍ग़͠
  47. γϟϩʔϫʔΫ͸ΤϯδχΞ͔Β ௚઀ݟ͑ͳ͍ͱ͜Ζʹ΋ ࢁ΄Ͳ͋Δ

  48. ίετͱ࣌ؒ͸ ͪΓͭ΋ࣜʹ૿͑ͯ ϦϦʔε଎౓Λ஗ͤ͘͞Δ

  49. –Tom DeMarco, দݪ ༑෉༁ ʮϐʔϓϧ΢ΣΞʯ lձࣾͷϧʔνϯϫʔΫ͸ɺबۀ࣌ؒʹݟ߹͏ͱ ͜Ζ·Ͱ๲ு͢Δ܏޲͕͋Δz

  50. ΤϯδχΞྲྀͷղܾ๏Ͱ γϟϩʔϫʔΫΛ ௵͍͖ͯ͠·͠ΐ͏

  51. (4ͷهࣄ IUUQTXXXUFDIOPMPHZSFWJFXKQTBTHPMENBOFNCSBDFTBVUPNBUJPOFWFOUIFNBTUFSTPGUIFVOJWFSTFBSFUISFBUFOFE

  52. –Joel Spolsky ੨໦ ༃༁ ʮMore Joel on Softwareʯ l͝Έ͋Δͱ͜Ζʹۚ͸͋Δz

  53. –Eric Sink, ੨໦ ༃༁ ʮֵ৽తιϑτ΢ΣΞاۀͷ࡞Γํʯ lιϑτ΢ΣΞ։ൃऀ͸ձࣾͷதͰࣗ෼͕࠷΋ॏཁͳਓؒͩͱࢥ͍ ࠐΉ܏޲͕͋Δɻ͍͋ʹ͘ͱ͜ͷଚେ͞ʹ͸͍ͬ΃Μͷਅ࣮͕͋Γɺ ։ൃऀ͕ଞͷਓͨͪͱ͏·͘ંΓ߹͏ͷΛ೉͍ͯ͘͠͠ΔɻͦΕͰ ΋ࢲͷओு͸มΘΒͳ͍ɻ։ൃऀͷεΩϧ͸ίʔσΟϯάҎ֎ͷ͞ ·͟·ͳλεΫʹ΋ద༻Մೳͳͷͩɻ

    ɾΧελϚαʔϏε୲౰ͱͯ͠ɺ੡඼ͷ࢓૊ΈΛཧղ͍ͯ͠Δ ։ൃऀ͸໰୊ΛΑΓૣ͘ݟ͚ͭΔ͜ͱ͕Ͱ͖Δ ɾηʔϧεΨΠͱͯ͠ɺ੡඼ͷ࢓૊ΈΛཧղ͍ͯ͠Δ։ൃऀ͸ ͦΕͰԿ͕Ͱ͖Δͷ͔ͱ͍͏࣭໰ʹ༰қʹ౴͑Δ͜ͱ͕Ͱ͖Δɻ ɾϚʔέςΟϯά୲౰ͱͯ͠ɺ։ൃऀ͸ϚʔέοτઓུʹӨڹ͢Δ ٕज़తͳબ୒͕͔͔ΘΔܾஅʹ໾ཱͭ͜ͱ͕Ͱ͖Δɻ اۀ͸͸։ൃऀ͕ιϑτ΢ΣΞߏஙҎ֎ͷ׆ಈʹ͔͔ΘΔ͜ͱΛ ڪΕΔ΂͖Ͱ͸ͳ͍ɻz