開発プロセスデザイン v0.1

開発プロセスデザイン v0.1

5287c9b9576749092d3170ec738338b8?s=128

Yusuke Ito

May 11, 2013
Tweet

Transcript

  1. ։ൃ *ϓϩηε* σβΠϯ ͖ͨͨ୆(v0.1) Yusuke Ito (@novi_)

  2. What? • ։ൃϓϩηεࣗମΛσβΠϯ͢Δ • HCD, UXD, Agile, Scrum, Lean, Startup...

    • ͲΕΛ࠾༻͢Δ͔? • Ͳ͏࠾༻͢Δ͔? • ͢΂͕ͯ It Depends.
  3. ໰୊ • ਓؒతͳ੍໿(ݸੑɺٕೳϨϕϧɺϞν ϕʔγϣϯɺ࢓ࣄελΠϧ)ΛͲ͏৐Γ ӽ͑Δ͔? • ੓࣏త໰୊ɺᐆດྖҬ΋ؚΊΔ • աఔͰνʔϜΛҭͯΔ͜ͱ͕Ͱ͖Δ͔ •

    աఔͰจԽΛ࡞Δ͜ͱ͕Ͱ͖Δ͔
  4. ਓؒத৺։ൃϓϩηε σβΠϯ • ஫) ਓؒத৺σβΠϯ(HCD)Ͱ͸ͳ͍ • ҎԼʹଓ͘ΨΠυϥΠϯΛ࡞੒͢Δ • ϓϩδΣΫτ΍νʔϜ͝ͱʹͦͷΨΠ υϥΠϯΛద༻͢Δ

  5. λʔήοτ༻్ͱਓ • WebαʔϏε·ͨ͸ϞόΠϧΞϓϦΛ ৽نʹ࡞Δ • +ελʔτΞοϓ·ͨ͸খ͍͞νʔϜʹ ͍ͨ͠ • +ૣ͘ɺ҆શʹ࡞Γ͍ͨ

  6. Ͳ͏͍͏ਓ͕͍Δ͔ • WebελʔτΞοϓ • Webϕϯνϟʔ (डୗorࣗࣾ) • Web੍࡞ձࣾܥ (CMS...)

  7. Α͋͘ΔνʔϜߏ੒ ࣌ؒ ϓϩδΣΫτ ղܾ͢΂͖໰୊ (1ͭ) े਺ਓ ϓϩδΣΫτ Ϛωʔδϟʔ

  8. কདྷతʹୡ੒͍ͨ͠νʔϜ ࣌ؒ ϓϩδΣΫτ ղܾ͢΂͖໰୊ (1ͭ) ਺ਓ ϓϩδΣΫτ ϓϩδΣΫτ ਺ਓ ਺ਓ

    ϨϏϡʔ Ϛʔδ ϓϩδΣΫτ ϓϩδΣΫτ ϓϩδΣΫτ ϐϦΦυ
  9. จԽɾश׳ • ࣗ෼͔Βௐ΂Δश׳ • ͍͔ͭ͘ͷҙݟΛൺ΂Δश׳ • ࣗ෼Ͱߟ͑Δश׳ • σΟεΧογϣϯ͢Δश׳ •

    ӳޠͰௐ΂Δɺӳޠతʹߟ͑Δश׳ • ෺ࣄͷந৅Խʹ໾ʹཱͭ
  10. γϯϓϧࢦ޲ • UX, UI, ίϯηϓτ • ։ൃϓϩηε • APIɺίʔυ •

    ҰՕॴෳࡶʹͳΔͱɺ͔ͦ͜ΒҶͮΔࣜʹෳ ࡶʹͳΔ͜ͱ͕ଟ͍ɻৗʹγϯϓϧʹอͭ౒ ྗΛ͢Δɻ • γϯϓϧʹ͢Δʹ͸ඇৗʹߴ͍ந৅Խೳྗ͕ ඞཁ
  11. ΞδϟΠϧͷޡղ • ΢ΥʔλʔϑΥʔϧΛখͯ͘͞͠ɺߴ଎ ʹճ͢ͷ͕ΞδϟΠϧetc.... • ͳͷͰɺΞδϟΠϧͱ͍͏΋ͷ͸ଘࡏ ͠ͳ͍ • ຊདྷͷ΢ΥʔλʔϑΥʔϧͱͷҧ͍ •

    ϕʔε͸΍͸ΓPDCA
  12. DDD • RESTful API Ͱͷදݱ͕߹Θͳ͍αʔϏε(ες ʔτ͕ෳࡶͳͲ)Λ࡞Δͱ͖͸υϝΠϯΛϕʔ εʹઃܭ͢Δͱྑ͍͔΋͠Εͳ͍ • εςʔτ͕ෳࡶʹͳΔ৔߹͸αʔϏεͷઃܭ ͕ͦ΋ͦ΋ྑ͘ͳ͍(ෳࡶ)ͳ৔߹͕͋Δ

    • ޠΔ্Ͱ͸ඞ࣮ͣ༻্ͷ(Τϥʔॲཧ΋શ෦ؚ Ίͨ)ίʔυΛؚΊΔ • (ࢼߦࡨޡதͰ͢...)
  13. ՝୊ • ։ൃϓϩηεΛσβΠϯ͢Δਓ͕૊৫ ʹগͳ͘ͱ΋1ਓඞཁ • ࢓ࣄͱษڧͷཱ྆(࣌ؒతͳ໰୊ɺಛʹ ձࣾ૊৫ͷ৔߹)

  14. ΨΠυϥΠϯͷ໨త • ந৅తͳҰൠ࿦͚ͩͰ͸ͳ͘ɺλʔή οτʹࣔͨ͠ਓͨͪʹରͯ͠ͷ۩ମత ͳղܾࡦͱબ୒ࢶΛఏڙ͢Δ • ܦݧ্͏·͘ߦͬͨํ๏ͱͦͷ૊Έ߹ ΘͤΛఏࣔ͢Δ

  15. ద༻ํ๏ • ͜ͷΨΠυϥΠϯԽ͞Εͨख๏Λϕʔεʹɺ Ϛωʔδϟ΍ҙࢥܾఆऀ͕ͦͷνʔϜʹԠ͡ ͨΨΠυϥΠϯΛ࡞੒͢Δ • ϐϦΦυ͝ͱʹΨΠυϥΠϯΛ࠶ߏ੒͢Δ • (࣮ࡍ͸ͦΜͳʹ͏·͍͔͘ͳ͍Μ͚ͩͲͶ...)

  16. ΨΠυϥΠϯҰཡ • ։ൃϓϩηεͷΨΠυϥΠϯ(͜Εϕʔε) • υΩϡϝϯτͷΨΠυϥΠϯ • όʔδϣϯ؅ཧͷΨΠυϥΠϯ • ίʔσΟϯάͷΨΠυϥΠϯ •

    ͦͷଞඞཁͳΨΠυϥΠϯ
  17. ܭըͱϑΟʔυόοΫ • ϓϩδΣΫτͷܭըΛཱͯΔ→͏·͘ ͍͔ͳ͍ͷͰյ͢ • ίʔυΛॻ͘→Ԛ͍ɺഁ୼͢ΔͷͰࣺ ͯΔ • ͳͥ͏·͘ߦ͔ͳ͔ͬͨͷ͔ਖ਼͘͠ϑ ΟʔυόοΫ͢Δ

  18. ϓϩδΣΫτͷܭը • ਓ਺(ΫϥΠΞϯτ͕͍Δ৔߹ΫϥΠΞϯτଆ ΋ؚΊΔ) • ίετܭࢉ • ࠷ॳͷϦϦʔε(νʔϜ಺Ͱ΋)ͷػೳ͸Ұ൪ॏ ཁͳ΋ͷͷΈɻ࠷௿ݶγϯϓϧʹɻ •

    த్൒୺ͳ࣮૷ΛͩΒͩΒ࡞Βͳ͍ɻ
  19. ෼୲ • σβΠϯͱUXʹ͍ͭͯશһ͕ؔΘΔ • ࣗ෼ͷઐ໳ྖҬҎ֎΋ؔΘΔ

  20. σβΠϯ(=ઃܭ)ͷϨΠϠʔ • Layer 1: ໰୊Λߟ͑Δ(Problem) + ίϯηϓτ(Solution) • Layer 2:

    ϢʔβʔΤΫεϖϦΤϯε(UX) • Layer 3: γεςϜɾϞσϧ • Layer 4: ϢʔβʔΠϯλʔϑΣʔε • Layer 5: άϥϑΟοΫσβΠϯ • Layer 6: ςετઃܭ • Layer 7: ࣮૷ɾσβΠϯύλʔϯ Layer0: ͜ΕΒΛ୭ͱͲ͏ਐΊΔ͔=ϓϩηεͷσβΠϯ ࣌ؒ (ͨͩ͠ɺ ͨ·ʹ໭Δ)
  21. ։ൃ؅ཧ • ։ൃϑϩʔΛνʔϜ಺Ͱཱ֬͢Δ • ࢖༻ϑϨʔϜϫʔΫɺϥΠϒϥϦ • ࣗಈԽ͢Δͱ͜ΖɺCI • υΩϡϝϯτ΍Issue؅ཧγεςϜ

  22. υΩϡϝϯτ • ίʔυΑΖ͘͠ෛ࠴ • υΩϡϝϯτͷ੹೚ • ࡞੒ऀ͕Ξοϓσʔτ͢Δ੹೚Λ࣋ͭ • ࡞੒ऀ͕੹೚Λ࣋ͨͳ͘ͳΔ৔߹͸յ͢ •

    ΨΠυϥΠϯ·ͨ͸ςϯϓϨʔτΛ࡞੒
  23. UIσβΠϯ • ඞͣ૝ఆ͞ΕΔ࣮σʔλΛ࢖༻ • UX, UI͕ᐆດͳঢ়ଶͰ͸ϑϧػೳΛ࣮૷ ͠ͳ͍ • จݴ΋࠷ॳ͔ΒͪΌΜͱߟ͑Δ

  24. ࣮૷ͷઃܭ • কདྷ࣮૷͢Δ͔΋͠Εͳ͍ػೳͷઃܭ΋͢Δ • ͨͩ͠ɺ࠷ॳͷϦϦʔεͰ͸γϯϓϧͳػ ೳʹߜΔ • ࣮ࡍʹςετίʔυΛॻ͔͘ʹؔΘΒͣςε τ͢ΔલఏͰઃܭ͢Δ(ςετ͠΍͍͢ઃܭ) •

    ઌΛݟ͗ͨ͢ઃܭΛ͠ͳ͍ • HTTP API, UI..., Ϋϥε
  25. ίʔσΟϯά • ΨΠυϥΠϯΛ࡞੒ • ίʔυϨϏϡʔ • pull࣌ʹߦ͏ɺఆظతʹߦ͏(optional) • DRY •

    ͨͩ͠ҙࣝ͗͢͠ͳ͍ • ϞδϡʔϧԽɺΫϥεԽ
  26. όʔδϣϯ؅ཧ • ϒϥϯνΛ੾Γ͗͢ͳ͍ • ϏϧυͰ͖ͳ͍ίʔυɺςετ(खorϓ ϩάϥϜͰ)͍ͯ͠ͳ͍ίʔυ͸ίϛο τ͠ͳ͍ • ίϛοτϩάͷΨΠυϥΠϯΛ࡞੒

  27. ֎෦ϥΠϒϥϦ • ࢖͍͗͢ͳ͍ • 1ػೳ͚͔ͩ͠࢖Θͳ͍ͷʹશ෦ೖΕͳ͚Ε ͹ͳΒͳ͍΋ͷͳͲ→୅ସΛ୳͢orࣗ෼Ͱ ॻ͘ • ෭࡞༻ͷ͋Δ΋ͷ͸࢖༻͠ͳ͍ •

    ϝιουೖΕସ͑Λ͍ͯ͠Δ΋ͷͳͲ • ίʔυ͕௥͑ͳ͍΋ͷ͸࢖༻͠ͳ͍
  28. APIϑΝʔετ • αʔϏεΛఆٛ • RESTful API(=υΩϡϝϯτ)Λఆٛ • αʔόʔαΠυͷϞοΫΛ࡞Δ(optional) • ΫϥΠΞϯταΠυΞϓϦΛॻ͘(optional)

    • RESTful API ͷςετΛॻ͘ • αʔόʔαΠυΛ࣮૷͢Δ
  29. None