タウンワークをドライブさせるためになんちゃってアジャイルをやめた話 #devsumi #devsumiB / devsumi2018

B765faf519f19520e1495bd870f4d7f0?s=47 PoohSunny
February 15, 2018

タウンワークをドライブさせるためになんちゃってアジャイルをやめた話 #devsumi #devsumiB / devsumi2018

Developers Summit 2018の登壇資料です。
http://event.shoeisha.jp/devsumi/20180215/session/1623/
https://togetter.com/li/1199673
#devsumi #devsumiB

Geeks Who Drink in Tokyo -Agile Edition- にて一部修正
https://nulab.connpass.com/event/89683/
#GWD_Nulab

B765faf519f19520e1495bd870f4d7f0?s=128

PoohSunny

February 15, 2018
Tweet

Transcript

  1. σϒαϛ2018 σϒαϛ Developers Summit σϒαϛ λ΢ϯϫʔΫ ΛυϥΠϒͤ͞ΔͨΊʹ ͳΜͪΌͬͯΞδϟΠϧ Λ΍Ίͨ࿩ ߴڮཅଠ࿠

    @PoohSunny 2018/6/22 ࠶ԋ #GWD_Nulab
  2. ͜Μ͹Μ͸ʂ

  3. https://twitter.com/PoohSunny/status/299871809375965184

  4. ߴڮཅଠ࿠ ʢ@PoohSunnyʣ גࣜձࣾϦΫϧʔτδϣϒζ঎඼ຊ෦ϓϩμ Ϋτ։ൃࣨITϚωδϝϯτ෦ΤϯδχΞϦϯά άϧʔϓ݉גࣜձࣾϦΫϧʔτςΫϊϩδʔζ ϓϩμΫτΤϯδχΞϦϯά෦RJBάϧʔϓ λ΢ϯϫʔΫ։ൃ౷ׅ ʢ౰࣌ʣ

  5. ΑΖ͘͠ ͓ئ͍͠·͢ʂ

  6. ΞδϟΠϧ͸΋͸΍ʮී௨ʯͰ΋… XXXXX(ஶ໊ͳΞδϟΠϧͷϓϥΫςΟεͱݺ͹Ε͍ͯΔ΋ͷ)ͬ Ά͍΋ͷΛ΍ͬͯΔͷʹചΓ্্͕͕͛Βͳ͍ ΞδϟΠϧͰ΍ͬͯΔ͸ͣͳͷʹKPI͕վળ͞Εͳ͍

  7. ຊ೔ͷϝοηʔδ ʮΞδϟΠϧ/͡Όͳ͍ʯ͸ஔ͍ͱ͍ͯ ໨తݟఆΊͯ ஍ಓͳΧΠθϯ܁Γฦͯ͜͠͏ͥ

  8. ͸͡ΊΔ·͑ʹ ಛఆͷϓϥΫςΟεΛ൷൑͢Δҙਤ͸·ͬͨ͋͘Γ ·ͤΜɻʢॏཁʣ ͳΔ΂͘ઐ໳༻ޠ͸࢖Θͳ͍ͭ΋ΓɺͰ͕ͨ͠ແཧ Ͱͨ͠͝ΊΜͳ͍͞ɻ ࠓ೔͸Χϯόϯ੒෼ ଟΊʹ࿩͠·͢ʂ

  9. ຊ೔ͷϝοηʔδ ʮΞδϟΠϧ/͡Όͳ͍ʯ͸ஔ͍ͱ͍ͯ ▶︎໨తݟఆΊͯ ஍ಓͳΧΠθϯ܁Γฦͯ͜͠͏ͥ

  10. ϦΫϧʔτ ϦϘϯਤ ϦϘϯϞσϧͱλ΢ϯϫʔΫ

  11. ϦϘϯϞσϧͱλ΢ϯϫʔΫ ΫϥΠΞϯτʹ ັྗ͋Δʮ঎඼ʯ ΧελϚʔʹ ΋ͬͱԠื͠ ͯ΋Β͑Δα Πτ ࠓ೔ͷ࿩

  12. ࠇా थ Kuroda itsuki i2key νʔϜߏ੒ اը νʔϜ σβΠφʔ νʔϜ

    ։ൃνʔϜ Ҋ݅ͷ༏ઌॱҐܾ ΊͨΓϦϦʔεͷ ൑அ͢Δਓ νʔϜͷࠔΓ͝ͱ ղܾͨ͠Γ վળͨ͠Γ͢Δਓ ϑϩϯτΤϯυ ։ൃϝϯόʔ όοΫΤϯυ ։ൃϝϯόʔ 2िؒ͝ͱܭ ըʙઃܭʙ࣮ ૷ʙςετΛ ͯ͠ϦϦʔε ͱ;Γ͔͑Γ Λ͢Δͱ͍͏ αΠΫϧ εςʔΫϗϧμʔ
  13. νʔϜͷଘࡏҙٛ KPIվળʢΧελϚʔͷԠื਺૿ʣʹޮՌͷߴ͍Ҋ݅Λ ૣ͘ʢˍ଎͘ʣ ͨ͘͞Μ ϦϦʔεͯ͠ݕূ͢Δ

  14. νʔϜͷଘࡏҙٛ KPIվળʢΧελϚʔͷԠื਺૿ʣʹޮՌͷߴ͍Ҋ݅Λ ૣ͘ʢˍ଎͘ʣ ͨ͘͞Μ ϦϦʔεͯ͠ݕূ͢Δ ࣭ ଎౓ ྔ

  15. https://www.slideshare.net/i2key/devsumib ࣭Λ୲อ͢ΔͨΊߴ଎ʹֶशͰ͖ΔΑ͏ʹ͢Δ

  16. ϏδωεՁ஋ ϑϩʔޮ཰ Ϧιʔεޮ཰ http://i2key.hateblo.jp/entry/2017/10/02/081429

  17. http://i2key.hateblo.jp/entry/2017/10/02/081429 ↓ͬͪ͜Λҙࣝͯ͠΍Γ͍ͨ ʢϦʔυλΠϜͱεϧʔϓοτ͕େࣄʣ

  18. νʔϜͷଘࡏҙٛ KPIվળʢΧελϚʔͷԠื਺૿ʣʹޮՌͷߴ͍Ҋ݅Λ ૣ͘ʢˍ଎͘ʣ ͨ͘͞Μ ϦϦʔεͯ͠ݕূ͢Δ ࣭ ଎౓ ྔ اըʙϦϦʔε·Ͱͷ ϦʔυλΠϜ

    εϧʔϓοτ
  19. None
  20. ↑εϧʔϓοτ

  21. ↓ϦʔυλΠϜ

  22. None
  23. ྦྷੵϑϩʔਤ 2िؒ͝ͱʹܭଌ

  24. ࡏݿ਺ਪҠ Readyʹͨ͠਺ͱϦϦʔεͨ͠਺ ঢ়گͷਪҠΛՄࢹԽ

  25. ݟ͖͑ͯͨ՝୊

  26. ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔ ੵΈ্͕ͬͨ ࡏݿ

  27. ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔ ੵΈ্͕ͬͨ ࡏݿ ࡏݿ͕ଟͯ͘… ʮ͋Εʁ͜ͷҊ݅ͬͯͲΜͳ ಺༰͚ͩͬͨͬʁʁʯ ʮମ੍มߋͷ౓ʹҊ݅ͷ಺ ༰ΛΠϯϓοτ͠ͳ͓͞ͳ͖Ό ͍͚ͳ͍͔ΒΊΜͲ͍͘͞ʯ

  28. ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔ ੵΈ্͕ͬͨ ࡏݿ ࡏݿ͕ଟͯ͘… ʮ͋Εʁ͜ͷҊ݅ͬͯͲΜͳ ಺༰͚ͩͬͨͬʁʁʯ ʮମ੍มߋͷ౓ʹҊ݅ͷ಺ ༰ΛΠϯϓοτ͠ͳ͓͞ͳ͖Ό ͍͚ͳ͍͔ΒΊΜͲ͍͘͞ʯ

    ࡏݿͷϜμ ࠶ֶशͷϜμ ͔ͩΒϓογϡ͡Ό ͳͯ͘ϓϧ͕େࣄ
  29. ੵΈ্͕ͬͨ ࡏݿ ϦʔυλΠϜ͕௕ͯ͘… ʮࠓճͷҊ݅Ͱ͔ͤͬ͘ৄࡉ ը໘৮ΔΜͰɺҰॹʹ͜ͷ෦ ෼΋มߋͪ͠Ό͍ͬͯͩ͘͞ʯ ೋͭͷมߋ͕ࠞͬͯ͟ܭଌ͕ ࠔ೉ʹɻɻɻ ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔

  30. ੵΈ্͕ͬͨ ࡏݿ ϦʔυλΠϜ͕௕ͯ͘… ʮࠓճͷҊ݅Ͱ͔ͤͬ͘ৄࡉ ը໘৮ΔΜͰɺҰॹʹ͜ͷ෦ ෼΋มߋͪ͠Ό͍ͬͯͩ͘͞ʯ ೋͭͷมߋ͕ࠞͬͯ͟ܭଌ͕ ࠔ೉ʹɻɻɻ ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔

    ࡞Γա͗ͷϜμ
  31. ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔ ੵΈ্͕ͬͨ ࡏݿ Ͳ͏͢Δ͔ʁ

  32. ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔ ੵΈ্͕ͬͨ ࡏݿ ϦʔυλΠϜΛ վળ͢Ε͹

  33. ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔ ੵΈ্͕ͬͨ ࡏݿ εϧʔϓοτ͸ ্ঢ͢Δ͸ͣ

  34. ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔ ੵΈ্͕ͬͨ ࡏݿ ͦ͏͢Ε͹ࡏݿ΋ ݮͬͯߦ͘͸ͣʂ

  35. ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔ ੵΈ্͕ͬͨ ࡏݿ ʻ໨తʼ ϦʔυλΠϜΛ ΧΠθϯ͍ͨ͠ʂʂʂ

  36. ʮΞδϟΠϧ/͡Όͳ͍ʯ͸ஔ͍ͱ͍ͯ ໨తݟఆΊͯ ஍ಓͳΧΠθϯ܁Γฦͯ͜͠͏ͥ ຊ೔ͷϝοηʔδ ϦʔυλΠϜΛ ΧΠθϯ͍ͨ͠ʂʂʂ

  37. ຊ೔ͷϝοηʔδ ʮΞδϟΠϧ/͡Όͳ͍ʯ͸ஔ͍ͱ͍ͯ ໨తݟఆΊͯ ஍ಓͳΧΠθϯ܁Γฦͯ͜͠͏ͥ ʻ໨తʼ ϦʔυλΠϜΛ ΧΠθϯ͍ͨ͠ʂʂʂ

  38. ϦʔυλΠϜվળ໨తΛνʔϜͰ߹ҙ

  39. ;Γ͔͑ΓͷςʔϚΛߜΔ

  40. ͳͥϦʔυλΠϜ͕৳ͼͯ͠·͏ͷ͔ʁ

  41. طଘͷ։ൃϓϩηεΛॻ͖ग़ͯ͠ ׬ྃ৚݅ͷ໌ ࣔΛͯ͠·͢

  42. 課題感 Ready会でReadyにできていない - 要件的な詰め 甘さ - Readyで ない にReadyとし てしまう

    - 調査タスク込みでReady 課題感 相対見積もりをして優先度が変動 - 優先度が不透明化 課題感 「要件的に 良いけどこれでいい か?」が発生。それを実装時に聞いて いる。(10/30追記) 詳細化がしきれていない 要件的なコーナーケース 見逃し 実装工数 見積もり ブレ 課題感 手戻り多い(ガイドライ ン準拠してないから直 して、が多い で自動 化できそうな気がする) 課題感 プロトを作る必要性がそもそもある か (レイさんがいたタイミングで 作って いなかった) 課題感 要件的に「こ ケースど うする」が開発後期に見 つかる 課題感 ヤバめ ブランチ運用 課題感 手戻り多い(計測中) 要件的なも もコード的 なも もある。 課題感 SI = System Integration = 統合テスト であるべき(藤田さん談) 高嶋さんにそ 認識がない。( SIってな ん 略だろうって言ってた) やっていること 、画面単位 単体テ ストに近い システムレベル テスト観点が欠如し ている状態 ՝୊͕͋Γͦ͏ͳͱ͜ΖʹΞλϦΛ͚ͭΔ ʢུʣ ʢུʣ
  43. Ͳ͔͜ʹΧΠθϯͰ͖ΔϜμ͕ͳ͍͔ʂʁ

  44. 2िؒ 2िؒ 2िؒ 2िؒ ։ൃϦʔυλΠϜʼϦϦʔεαΠΫϧ 41.3೔ 14೔

  45. http://i2key.hateblo.jp/entry/2017/10/02/081429 ↑ͬͪ͜دΓʹͳͬͪΌͬͯΔʁ

  46. Ҋ݅ͷ෼ׂ؅ཧͱ଴ͪͷൃੜ http://poohsunny.hatenablog.com/entry/2017/11/25/225504 Ҋ݅Ϧετ -XXҊ݅ -YYҊ݅ ։ൃ༻Ҋ݅ Ϧετ -XXҊ݅ௐࠪ -XXҊ݅ ϑϩϯτΤϯυ

    ࣮૷ -XXҊ݅ αʔόʔ ࣮૷ 2िؒ ௐࠪ ϑϩϯτΤϯυ ࣮૷ αʔόʔαΠυ ࣮૷ ଴ͪ ଴ͪ 2िؒ 2िؒ ؾ͖ͮ
  47. ༏ઌॱҐ͕Ҿ͖ܧ͕Εͳ͍ -XXҊ݅ -YYҊ݅ -XXҊ݅ௐࠪ -XXҊ݅ ϑϩϯτΤϯυ ࣮૷ -XXҊ݅ αʔόʔ ࣮૷

    ؾ͖ͮ
  48. ։ൃεϧʔϓοτ͕4ͭͩͱ… -XXҊ݅ -YYҊ݅ -XXҊ݅ௐࠪ -XXҊ݅ ϑϩϯτΤϯυ ࣮૷ -XXҊ݅ αʔόʔ ࣮૷

    ؾ͖ͮ
  49. ։ൃ໨ઢͰݟΔͱॱௐ͕ͩ ਐḿॱௐͰʔ ͢ʂ ؾ͖ͮ

  50. Ձ஋Λग़͍ͨ͠୯ҐͰϦϦʔε͕͞Εͳ͍ ਐḿॱௐͰʔ ͢ʂ BҊ͕݅ग़͖ͯͯ΄͍͠ ͷʹAҊ͕݅ઌʹϦϦʔε ͞ΕͪΌͬͨʂʂ ؾ͖ͮ

  51. Ͳ͏ͯ͜͠͏ͳͬͨʁ ̎िؒ͝ͱʹʮకΊ੾Γʯ͕͋Δ։ൃελΠϧ ։ൃνʔϜ಺Ͱͷ෼ۀελΠϧ աڈɺకΊ੾Γʹؒʹ߹Θͳ͍͜ͱ͕ଟ͔ͬͨͨΊ׬ྃ͠΍͍͢ܗ ʹͨ͠ɻ ઈରʹʮࣗ෼ͷख࣋ͪʯΛʮ׬ྃʯʹ͠ ͳ͚Ε͹ͳΒͳ͍ͱ͍͏ϓϨογϟʔ ؾ͖ͮ

  52. Ͳ͏ͯ͜͠͏ͳͬͨʁ ̎िؒ͝ͱʹʮకΊ੾Γʯ͕͋Δ։ൃελΠϧ ։ൃνʔϜ಺Ͱͷ෼ۀελΠϧ աڈɺకΊ੾Γʹؒʹ߹Θͳ͍͜ͱ͕ଟ͔ͬͨͨΊ׬ྃ͠΍͍͢ܗ ʹͨ͠ɻ ઈରʹʮࣗ෼ͷख࣋ͪʯΛʮ׬ྃʯʹ͠ ͳ͚Ε͹ͳΒͳ͍ͱ͍͏ϓϨογϟʔ ϦʔυλΠϜΛ ΧΠθϯ͍ͨ͠ʂʂʂ ݸʑͰݟΔͱؾ͕࣋ͪΘ͔Δ͕ɺ

    ݁Ռͱͯ͠DONEʹ͢Δͷ͕໨తԽͯ͠͠·͍ ຊ౰ʹ΍Γ͍ͨ໨త͔Βԕ͔͍ͬͯ͟Δɻ αΠϩԽ஫ҙͬ ͯ͜ΕͰ͢
  53. Ҋ݅ͷ෼ׂ؅ཧͱڧ͍కΊ੾Γҙࣝͷഇࢭ http://poohsunny.hatenablog.com/entry/2017/11/25/225504 Ҋ݅Ϧετ -XXҊ݅ -YYҊ݅ ։ൃ༻Ҋ݅ Ϧετ -XXҊ݅ௐࠪ -XXҊ݅ ϑϩϯτΤϯυ

    ࣮૷ -XXҊ݅ αʔόʔ ࣮૷ 2िؒ ௐࠪ ϑϩϯτΤϯυ ࣮૷ αʔόʔαΠυ ࣮૷ ଴ͪ ଴ͪ 2िؒ 2िؒ ରࡦ
  54. λεΫϘʔυͷܗࣜΛมߋɻՁ஋͋Δ୯ҐͰͷDONEʹͩ͜ΘΔ AҊ݅ BҊ݅ CҊ݅ TODO DOING REVIEW DONE ઃܭ όοΫ

    ࣮૷ ϑϩϯτ ࣮૷ ςετ ςετέʔ ε࡞੒ ઃܭ όοΫ ࣮૷ ϑϩϯτ ࣮૷ ςετ ςετέʔ ε࡞੒ ઃܭ ϑϩϯτ ࣮૷ ड͚ ೖΕ ઃܭ ςετέʔ ε࡞੒ ϨϏϡʔ όοΫ ࣮૷ ϨϏϡʔ ςετ ࡞੒ ςετ ࣮ࢪ डೖΕ DONE AҊ݅ BҊ݅ CҊ݅ ϑϩϯτΤϯυ όοΫΤϯυ TODO
  55. λεΫϘʔυͷܗࣜΛมߋɻՁ஋͋Δ୯ҐͰͷDONEʹͩ͜ΘΔ AҊ݅ BҊ݅ CҊ݅ TODO DOING REVIEW DONE ઃܭ όοΫ

    ࣮૷ ϑϩϯτ ࣮૷ ςετ ςετέʔ ε࡞੒ ઃܭ όοΫ ࣮૷ ϑϩϯτ ࣮૷ ςετ ςετέʔ ε࡞੒ ઃܭ ϑϩϯτ ࣮૷ ड͚ ೖΕ ઃܭ ςετέʔ ε࡞੒ ϨϏϡʔ όοΫ ࣮૷ ϨϏϡʔ ςετ ࡞੒ ςετ ࣮ࢪ डೖΕ DONE AҊ݅ BҊ݅ CҊ݅ ϑϩϯτΤϯυ όοΫΤϯυ TODO ͪͳΈʹ͜ͷ࣌఺Ͱ ͸·ͩʮλεΫϘʔυʯ Ͱͨ͠
  56. ϦʔυλΠϜΛ ΧΠθϯ͍ͨ͠ʂʂʂ ·ͩ·ͩΧΠθϯͰ͖Δͱ͜Ζ͸ ͋Γͦ͏ʂ

  57. ຖேͷࠔΓ͝ͱڞ༗ձʹͯ ϦϦʔε ϦϦʔε ॱௐͩΑ

  58. ຖேͷࠔΓ͝ͱڞ༗ձʹͯ ϦϦʔε ϦϦʔε ॱௐͩΑ

  59. ຖேͷࠔΓ͝ͱڞ༗ձʹͯ ϦϦʔε ϦϦʔε ςετͰόάݟ ͔ͭͬͯ஗Εͦ͏…

  60. ຖேͷࠔΓ͝ͱڞ༗ձʹͯ ϦϦʔε ϦϦʔε ϨϏϡʔͷमਖ਼ʹ ͕͔͔࣌ؒΓͦ͏Ͱ ؒʹ߹Θͳ͍…

  61. ख໭ΓͰؒʹ߹Θͳ͍ʂʁ Ͳ͏΍ͬͯՄࢹԽ͠Α͏ʁ ؾ͖ͮ

  62. ڭՊॻతͳํ๏͕ͬ͘͠Γ͜ͳ͍ ʰThe DevOps ϋϯυϒοΫ ཧ࿦ɾݪଇɾ࣮ફͷ͢΂ͯʱΑΓhttps://www.amazon.co.jp/dp/B073PRMWR5 ׬શਖ਼֬཰ʢ%C/AʣͰ վળ఺Λݟ͚ͭΔͷ͕Ұൠత

  63. ڭՊॻతͳํ๏͕ͬ͘͠Γ͜ͳ͍ ׬શਖ਼֬཰ʢ%C/AʣͰ վળ఺Λݟ͚ͭΔͷ͕Ұൠత ϦʔυλΠϜʹͲͷ͘Β͍Πϯύ Ϋτ͕͋Δͷ͔͕ݟ͑ͮΒ͍ ϦʔυλΠϜΛ ΧΠθϯ͍ͨ͠ʂʂʂ ʰThe DevOps ϋϯυϒοΫ

    ཧ࿦ɾݪଇɾ࣮ફͷ͢΂ͯʱΑΓhttps://www.amazon.co.jp/dp/B073PRMWR5
  64. ࣍ͷ޻ఔʹҠͬͨ࣌ؒΛه࿥ 2/15 11:00 ઃܭ ϑϩϯτ ࣮૷ ϨϏϡʔ όοΫ ࣮૷ ϨϏϡʔ

    ςετ ࡞੒ ςετ ࣮ࢪ डೖΕ DONE ϑϩϯτΤϯυ όοΫΤϯυ TODO AҊ݅ AҊ݅
  65. ࣍ͷ޻ఔʹҠͬͨ࣌ؒΛه࿥ 2/16 11:00 ઃܭ ϑϩϯτ ࣮૷ ϨϏϡʔ όοΫ ࣮૷ ϨϏϡʔ

    ςετ ࡞੒ ςετ ࣮ࢪ डೖΕ DONE ϑϩϯτΤϯυ όοΫΤϯυ TODO AҊ݅ AҊ݅
  66. ϨϏϡʔͰࢦఠΛड͚ͨʢख໭Γʣ ઃܭ ϑϩϯτ ࣮૷ ϨϏϡʔ όοΫ ࣮૷ ϨϏϡʔ ςετ ࡞੒

    ςετ ࣮ࢪ डೖΕ DONE ϑϩϯτΤϯυ όοΫΤϯυ TODO AҊ݅
  67. લ޻ఔʹ໭ͬͯ͠·ͬͨΒɺߦΛ௥Ճͯ͠໭ͬͨ ޻ఔʹͦͷ࣌ࠁΛه࿥ 2/19 9:00 ઃܭ ϑϩϯτ ࣮૷ ϨϏϡʔ όοΫ ࣮૷

    ϨϏϡʔ ςετ ࡞੒ ςετ ࣮ࢪ डೖΕ DONE ϑϩϯτΤϯυ όοΫΤϯυ TODO AҊ݅ AҊ݅
  68. ߦ਺͕ଟ͍Ҋ݅ʹख໭Γͷଟ͍Ҋ݅ ʩ ख໭Γଟ

  69. ࣍ͷϦϦʔεʹؚΉ༧ఆͩͬͨҊ͕݅ɺ׬͔ྃͨ͠Ͳ͏͔Ͱ৭෼͚ ϑϩϯτΤϯυ όοΫΤϯυ DONE DONE DONE UNDONE

  70. ϦʔυλΠϜ؍఺Ͱͷײ૝ઓ͕Ͱ͖ΔΑ͏ʹͳͬͨ ϑϩϯτΤϯυ όοΫΤϯυ ʮ੯͍ͬ͢͠Ͷख໭Γͳ ͚Ε͹ී௨ʹDONEʹͰ ͖ͨ΍ͭͰ͢Ͷɻʯ ʮ͜͜ҰൃͰਐΊΒΕ ͨΒ5೔͘Β͍ૣ͘ऴ ͑ΒΕͦ͏Ͱ͢Ͷɻʯ

  71. Χϯόϯ ؾ͖ͮΛยͬ୺͔ΒৼΓฦΓˍΧΠθϯ࣮ࢪ

  72. ϑϩϯτΤϯυ όοΫΤϯυ ؾ͖ͮ ख໭Γ͸૯ͯ͡ ଟ͍

  73. ϑϩϯτΤϯυ όοΫΤϯυ ख໭ͬͨΒ ϦΧόϦʔʹखͣ͜Δ ΋ͷ͕͋Δ ؾ͖ͮ ϦΧόϦʔʹ5೔

  74. ϑϩϯτΤϯυ όοΫΤϯυ ࣍ͷϦϦʔεʹࡌͤͨ ͍ʂʂ ͱ͍͏௚લͰ ख໭Δͱؒʹ߹Θͳ͍ ؾ͖ͮ ϦϦʔε͕͍ۙͱϦΧόϦෆೳ

  75. όάݟ͚ͭͨʂʂͦͷ࣌ʹ αʔόʔΤϯδχΞ ϑϩϯτΤϯδχΞ ରࡦ ؾ͖ͮ XXͷ࣌ͷϘλϯͷΫϦοΫͨ͠ ࣌ʹಈ࡞͠ͳ͍ΜͰ͚͢Ͳʔɻ ͓͔͍͠ͳ͊खݩͰݟͯΔͱ Ϋϥε͸͍ͭͯΔ͸ͣͳͷʹͳ͊ɻ

  76. ରԠʹ͕͔͔࣌ؒͬͯ͠·͏ αʔόʔΤϯδχΞ ϑϩϯτΤϯδχΞ XXͷ࣌ͷϘλϯͷΫϦοΫͨ͠ ࣌ʹಈ࡞͠ͳ͍ΜͰ͚͢Ͳʔɻ ͓͔͍͠ͳ͊खݩͰݟͯΔͱ Ϋϥε͸͍ͭͯΔ͸ͣͳͷʹͳ͊ɻ φϨοδͷ෼அ ରࡦ ؾ͖ͮ

  77. Ұॹʹ΍Δ αʔόʔΤϯδχΞ ϑϩϯτΤϯδχΞ XXͷ࣌ͷϘλϯͷ ΫϦοΫͨ࣌͠ʹಈ࡞͠ͳ ͍ΜͰ͚͢Ͳʔɻ ͋Εʁ͜͜Ͱ͚ͭͨ͸ͣͷ class͕෇͍ͯͳ͍ΜͰ͚͢Ͳɺ͜ ΕԿ͔ଞʹ৚݅ͳ͍ʁ ͋ɺ͜ͷifจݟಀͯͨ͠ɻ͜ͷ

    ৚݅͋Γ·͢Ͷɻ ͋ʔ͡Ό͋͜ͷ෦෼ͷߟྀͯ͠ ͳ͍͔Βमਖ਼͢ΔͶɻ ରࡦ
  78. ू߹ͯ͠ɺશһͰରॲͯ͠࠷଎ରԠ XXͷ࣌ͷϘλϯͷ ΫϦοΫͨ࣌͠ʹಈ࡞͠ͳ ͍ΜͰ͚͢Ͳʔɻ ͋Εʁ͜͜Ͱ͚ͭͨ͸ͣͷ class͕෇͍ͯͳ͍ΜͰ͚͢Ͳɺ͜ ΕԿ͔ଞʹ৚݅ͳ͍ʁ ͜ͷ෦෼ͬͯXXͳ৚͕݅͋ Δ͚Ͳͦͷߟྀ͕΋͔ͯ͠͠͞Ε ͯͳ͍Μ͡Όͳ͍ʁʁ

    ςετ؍఺ߟ͑ͨ࣌ʹ ଞͷը໘͔ΒͷભҠߟྀ͕ ͋ͬͨΜ͚ͩͲɺͦΕͬͯ ߟྀ͞ΕͯΔʁ ରࡦ
  79. ϑϩϯτΤϯυ όοΫΤϯυ ؾ͖ͮ ϨϏϡʔ ϨϏϡʔ ϨϏϡʔͰͷख໭Γ͕ ଟ͍

  80. ϑϩϯτΤϯυ όοΫΤϯυ ؾ͖ͮ ϨϏϡʔ ϨϏϡʔ 3೔ 13೔ 5೔ 9೔ 2೔

    ϨϏϡʔΛ௨ͨ͢Ίͷ ϦʔυλΠϜ͕௕͍
  81. ϑϩϯτΤϯυ όοΫΤϯυ ؾ͖ͮ ϨϏϡʔ ϨϏϡʔ 3೔ 13೔ 5೔ 9೔ 2೔

    ϨϏϡʔͬͯɺ ࣮͸ϜμͳͷͰ͸ʂʁ
  82. ϨϏϡʔͰࣦ͏ϦʔυλΠϜ ϨϏϡΠʔ ϨϏϡΞʔ ࣮૷࣌ͷ ೝࣝᴥᴪ ࣗಈԽͰ͖Δ΋ ͷΛؤுͬͯ νΣοΫ ରࡦ ؾ͖ͮ

  83. checkstyle ESLint ઃܭஈ֊Ͱ͖ͪΜͱ߹ҙʴࣗಈԽ ߹ҙ ઃܭ ̍λεΫ 2࣌ؒҎ಺ͷ λεΫϦετ ࣮૷ ϨϏϡʔ

    ରࡦ
  84. ϑϩϯτΤϯυ όοΫΤϯυ ؾ͖ͮ ςετͷ࡞੒ˍ ࣮ࢪͰͷख໭Γ ςετͷ࡞੒ͱ ࣮ࢪ

  85. ։ൃऀςετͰ݁ߏόάग़Δ ϑϩϯτ ࣮૷ αʔόʔ ࣮૷ ։ൃऀς ετ࡞੒ ։ൃऀς ετ࣮ࢪ ख໭Γ

    ಉ͡։ൃνʔϜ಺Ͱ࡞੒ ؾ͖ͮ
  86. ʮઌʹʯςετέʔεΛ࡞Δ ϑϩϯτ ࣮૷ αʔόʔ ࣮૷ ։ൃऀς ετ࡞੒ ։ൃऀς ετ࣮ࢪ ϑΟʔυόοΫ

    ରࡦ
  87. 2िؒ෼Λ·ͱΊͯઃܭʙ݁ہະணख ؾ͖ͮ

  88. ணख͢Δ௚લʹઃܭ ରࡦ Χϯόϯͷಋೖ

  89. ख໭Γ෯͕ܹ͍͠޻ఔ͕͋Δ ϑϩϯτΤϯυ όοΫΤϯυ ϑϩϯτΤϯυͷ όά͕ݟ͔ͭΔͱ େ͖͘ख໭Δ ड͚ೖΕͰͷख໭Γ͸ ෯͕େ͖͘ͳΓ͕ͪ ؾ͖ͮ

  90. ຊ೔ͷϝοηʔδ ʮΞδϟΠϧ/͡Όͳ͍ʯ͸ஔ͍ͱ͍ͯ ໨తݟఆΊͯ ஍ಓͳΧΠθϯ܁Γฦͯ͜͠͏ͥ ϦʔυλΠϜΛ ΧΠθϯ͍ͨ͠ʂʂʂ ͜͜·ͰͰͲͷ͘Β͍վળͰ͖ͨͷ͔ʂʁ

  91. ௕͍ฏۉϦʔυλΠϜ ։ൃணखʙ։ൃ׬ྃ·ͰͰ41.3೔ ੵΈ্͕ͬͨ ࡏݿ

  92. ։ൃணखʙ։ൃ׬ྃ 41.3೔ˠ31೔ ࡏݿͷݮগ

  93. ·ͩ·ͩΧΠθϯͰ͖ͦ͏͚ͩͲ ৽ͨͳ໰୊ൃੜ

  94. ϑϩϯτΤϯυ όοΫΤϯυ վળΛߟ͑Δˍ࣮ࢪ͢Δ͕࣌ؒऔΕͳ͍ ʢάϥϑͷ࡞੒ʹ͕࣌ؒΊͬͪΌ͔͔Δʣ

  95. HELP! ΋ͬͱϦʔυλΠϜΧΠθ ϯ͍ͨ͠ͷʹ͕࣌ؒे෼ʹ औΕ·ͤΜʂʂ ϓϩϚωಘҙͳνʔϜ ʹॿ͚ΛٻΊ͍͍ͯΑ ্࢘

  96. ϦʔυλΠϜվળͷͨΊ ʹख໭ΓΛՄࢹԽͨ͘͠ ͯͰ΋࣌ؒͳͯ͘ ͡Ό͋ͪ͜Β ͰࣗಈԽͯ͋͠ ͛·͠ΐ͏͔ ϓϩϚωಘҙͳνʔϜ

  97. ʂʁʂʁ ϓϩϚωಘҙͳνʔϜ ͋ͱɺϦʔυλΠϜͷվળ͕໨ తͳΒɺಉ͡σʔλιʔεͰҧ ͏άϥϑʹͨ͠ํ͕ྑ͍ͷͰ ͸ʁʁ

  98. ͛͑͑͑͑͑͑͑͑͑͑͑͢ ઈڣ͢Δ΄Ͳ͍͢͝

  99. ݩͷਤͰඞཁͳσʔλ

  100. ඞཁͳσʔλ Ҋ໊݅

  101. ඞཁͳσʔλ ֤޻ఔ

  102. ඞཁͳσʔλ ޻ఔ͕Ҡ ಈͨ͠೔ ෇

  103. ࠷ॳʹ࡞ͬͨਤ ʮख໭Γ͕͋ͬͨ͜ͱʯ͸ݟ͑΍͍͢ɻ Ͱ΋ɺͦΕ͕ ϦʔυλΠϜʹͲΜͳΠϯύΫτΛ༩ ͑ͨͷ͔ ͕ݟ͑ͮΒ͍ ϦʔυλΠϜΛ ΧΠθϯ͍ͨ͠ʂʂʂ

  104. ϦϫʔΫνϟʔτ Ҋ݅A

  105. Ҋ໊݅ ೔࣌ ϦϫʔΫνϟʔτ Ҋ݅A

  106. ύϫʔΞοϓͨ͠άϥϑ 24 = DONE 12 = ϑϩϯτΤϯυ͔ΒόοΫ Τϯυ΁ͷड͚౉͠ 1 =

    ઃܭ ֤޻ఔ
  107. ॱௐͳҊ݅ Ҋ݅A

  108. ख໭Γ Ҋ݅A

  109. ख໭Γ͕Ͳͷ͘Β͍ϦʔυλΠϜʹӨڹͨ͠ͷ͔͕Θ͔Γ΍͍͢ Ҋ݅A

  110. զʑ͕ຊ౰ʹઓ͏΂͖ख໭Γͷݟ͑ΔԽ Ҋ݅A

  111. ยͬ୺͔ΒৼΓฦΓ վળҊͷ࡞Γա͗ͷϜμ ;Γ͔͑ΓͷϜμ ൓ল

  112. ΫϦςΟΧϧͳख໭Γʹ ܏޲͕͋Δ͜ͱ͕ݟ͖͑ͯͨ όά͕ݟ͔ͭͬͯɺ όοΫΤϯυˠϑϩ ϯτΤϯυʹख໭Δ έʔε Ҋ݅A

  113. ϘτϧωοΫ Ҋ݅ͷ଺ཹ ϑϩϯτ࣮૷ͰҊ͕݅٧·Γͩ͢

  114. Կ͕ى͖͍͔ͯͨ

  115. ϨΨγʔίʔυ Javascript ʮόάΒͳ͍ํ͕ແཧͩͶ͜Εʯ

  116. มߋͷ͠΍͢͞͸ϦʔυλΠϜʹ௚݁͢Δ Ҋ݅A

  117. ϚΠϯυϚοϓ TWNʹ͓͚ΔϜμ ͳΜͱ͔ଞͷ෦෼ͰϦʔυλΠϜվળͰ͖ͳ͍͔ʂʁ

  118. ຊؙΛม͑ͳ͚Ε͹࢓ํ͕ͳ͍

  119. ϦʔυλΠϜվળ͠ ͍ͨͳΒϑϩϯτվ ળ͠·͠ΐ͏ʂʂʂ ͳΒ͹ॿͬਓͩ ্࢘

  120. ϦΫϧʔτϥΠϑελΠϧ ϦΫϧʔτΩϟϦΞ ଞαʔϏεࣄྫΛώΞϦϯά վળࣄྫ͋Γ ·ͤΜ͔ʁ ͜Μͳࣄྫ ͋ΔΑʂ ͜Μͳࣄྫ ͋ΔΑʂ ͜Μͳࣄྫ

    ͋ΔΑʂ
  121. ͍͖͞ΐ͏ͷ͚ͬ͢ͱʂ ϦΫϧʔτςΫϊϩδʔζ ٕज़ސ໰ @t_wadaࢯ ϦΫϧʔτςΫϊϩδʔζ γχΞΤϯδχΞ @yosuke_furukawaࢯ

  122. mizchi ૬खʹͱͬͯෆ଍ͳ͠ https://twitter.com/mizchi/status/961930910466678784

  123. ޻෉ΛڽΒͯ͠Ӷҙվળதʂ

  124. ޻෉ΛڽΒͯ͠Ӷҙվળதʂ Նαϛొஃ ૂ͍·͢ʂʂ

  125. ޻෉ΛڽΒͯ͠Ӷҙվળதʂ Նαϛొஃ ૂ͍·͢ʂʂ ಉ྅͕ग़·͢

  126. એ఻

  127. ·ͱΊ

  128. ຊ೔ͷϝοηʔδ ʮΞδϟΠϧ/͡Όͳ͍ʯ͸ஔ͍ͱ͍ͯ ໨తݟఆΊͯ ஍ಓͳΧΠθϯ܁Γฦͯ͜͠͏ͥ ϦʔυλΠϜΛ ΧΠθϯ͍ͨ͠ʂʂʂ

  129. ։ൃணखʙ։ൃ׬ྃ 41.3೔ˠ31೔ ࡏݿͷݮগ

  130. ख໭ΓՄࢹԽʹΑΔɺϑϩϯτΤϯυͷ ՝୊ͷՄࢹԽͱରࡦ Ҋ݅A

  131. ͍͞͝ʹ

  132. ΞδϟΠϧ͸΋͸΍ʮී௨ʯͰ΋… XXXXX(ஶ໊ͳΞδϟΠϧͷϓϥΫςΟεͱݺ͹Ε͍ͯΔ΋ͷ)ͬ Ά͍΋ͷΛ΍ͬͯΔͷʹചΓ্্͕͕͛Βͳ͍ ΞδϟΠϧͰ΍ͬͯΔ͸ͣͳͷʹKPI͕վળ͞Εͳ͍ ࣗ෼ͷ೰Έ ͦͷ΋ͷ

  133. Α͘ @PoohSunny ʹ͍͍ͬͯΔ಺༰ͱಉͩ͡ɻ ϑΝϯλδʔͷੈքͷग़དྷࣄͰऴΘΒͤͣʹɺݱ࣮ੈքʹͲ͏࡞༻Λ༩ ͑Δ͔ɻ ຖ೔͕ΤΫετϦʔϜϞʔυ ࣗ෼ͷ೰Έ ্࢘

  134. ςετۦಈ։ൃ XUTP͔ΒֶͿ هड़ੑͷߴ͍ Ϣχοτςετ Selenide or Geb? ೔ຊSeleniumϢʔβʔίϛϡχςΟ TDDBC Selenide

    or Geb? 〜あなた そ 時どちらを使う〜 JJUG CCC Fall 2017 @shimashima35 & @PoohSunny XUTP͔ΒֶͿ هड़ੑͷߴ͍ Ϣχοτςετ ʙԶͨͪΛॿ͚ΔϢχοτςετ΁ʙ ߴڮཅଠ࿠(a.k.a. @PoohSunny) 1 https://speakerdeck.com/poohsunny/xutp-in-number-xpjug https://www.slideshare.net/youtaroutakahashi/selenide-or-geb ϓϥΫςΟε͸ಘҙʢؾ͕͢Δʣɻ ஌ࣝ΋͋Δʢؾ͕͢Δʣɻ Ͱ΋ചΓ্͛΍KPIվળʹͭͳ͛Δ ͷ͸ۤखɻ https://github.com/tddbc http://www.selenium.jp/ ࣗ෼ͷ೰Έ
  135. Selenide or Geb? 〜あなた そ 時どちらを使う〜 JJUG CCC Fall 2017

    @shimashima35 & @PoohSunny XUTP͔ΒֶͿ هड़ੑͷߴ͍ Ϣχοτςετ ʙԶͨͪΛॿ͚ΔϢχοτςετ΁ʙ ߴڮཅଠ࿠(a.k.a. @PoohSunny) 1 https://speakerdeck.com/poohsunny/xutp-in-number-xpjug https://www.slideshare.net/youtaroutakahashi/selenide-or-geb ࣗ෼ͷख࣋ͪΛར༻͠ ͭͭ΋ɺ໨తʹϑΥʔ Χεͯ͠՝୊Λղܾ͠ ͍ͯͬͨɻ https://github.com/tddbc http://www.selenium.jp/ ࠓճ
  136. ࠓ೔ͷ࿩ εΫϥϜΛͪΌΜͱ΍ΔΑ͏ʹͨ͠࿩ʁʁ εΫϥϜΛΧελϚΠζͨ͠࿩ʁʁ εΫϥϜ͔ΒΧϯόϯʹҠߦͨ͠࿩ʁʁ Ϧʔϯιϑτ΢ΣΞ։ൃΛ࣮ફͨ͠࿩ʁʁ ΧϯόϯΛಋೖͨ͠࿩ʁʁ

  137. ຊ೔ͷϝοηʔδ ʮΞδϟΠϧ/͡Όͳ͍ʯ͸ஔ͍ͱ͍ͯ ໨తݟఆΊͯ ஍ಓͳΧΠθϯ܁Γฦͯ͜͠͏ͥ ϦʔυλΠϜΛ ΧΠθϯ͍ͨ͠ʂʂʂ

  138. Selenide or Geb? 〜あなた そ 時どちらを使う〜 JJUG CCC Fall 2017

    @shimashima35 & @PoohSunny XUTP͔ΒֶͿ هड़ੑͷߴ͍ Ϣχοτςετ ʙԶͨͪΛॿ͚ΔϢχοτςετ΁ʙ ߴڮཅଠ࿠(a.k.a. @PoohSunny) 1 https://speakerdeck.com/poohsunny/xutp-in-number-xpjug https://www.slideshare.net/youtaroutakahashi/selenide-or-geb ·ͩ·ͩΧΠθϯ͸ ࢝·ͬͨ͹͔Γ https://github.com/tddbc http://www.selenium.jp/
  139. Selenide or Geb? 〜あなた そ 時どちらを使う〜 JJUG CCC Fall 2017

    @shimashima35 & @PoohSunny XUTP͔ΒֶͿ هड़ੑͷߴ͍ Ϣχοτςετ ʙԶͨͪΛॿ͚ΔϢχοτςετ΁ʙ ߴڮཅଠ࿠(a.k.a. @PoohSunny) 1 https://speakerdeck.com/poohsunny/xutp-in-number-xpjug https://www.slideshare.net/youtaroutakahashi/selenide-or-geb ·ͩ·ͩΧΠθϯ͸ ࢝·ͬͨ͹͔Γ https://github.com/tddbc http://www.selenium.jp/ ໨తݟఆΊͯ ΧΠθϯ͍ͯ͠ ͖·͠ΐ͏ʂ
  140. ͭͮ͘

  141. Special Thanks! @i2key @t_wada @yosuke_furukawa @mizchi kaitaro @hageyahhoo yoshida_hiroyuki miyakawa_n

    masanori_matsuno