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

プロダクトオーナー向けユースケース駆動開発入門

s10myk4
September 20, 2018
380

 プロダクトオーナー向けユースケース駆動開発入門

ビジネスサイドの人に向けて、要件定義や分析という設計の過程がどのようなものか、設計という観点が中長期的にビジネスの成功において重要な価値をもたらすんじゃない?っていう話

エンジニアがどのような方法で要求の理解を深め、要件定義を行い実装をするかを
ICONIXの手法を取り上げて説明している。

s10myk4

September 20, 2018
Tweet

Transcript

  1. ࣗݾ঺հ • Լଜ ๎೭
 ϓϩύʔ ͨͿΜ7೥໨ (ຬ30ࡀ) • CG ->

    GANMA! -> HaKaSe -> GANMA! • ΤϯδχΞΑΓ͔͸ɺ՝୊ղܾίϯαϧ
  2. ICONIXϓϩηε • ཁٻ • ػೳཁٻ • υϝΠϯϞσϦϯά • ৼΔ෣͍ཁٻ •

    ཁٻϨϏϡʔ • ෼ੳ/༧උઃܭ • ϩόετωε෼ੳ • Ϣʔεέʔεهड़Λߋ৽ / υϝΠϯϞσϧΛߋ৽ • ༧උઃܭϨϏϡʔ • ৄࡉઃܭ • γʔέϯεਤɺ੩తϞσϧߋ৽(Ϋϥεਤ) • ࣮૷ ίʔυ/ςετ
  3. ιϑτ΢ΣΞΛઃܭ͢Δ্Ͱߟྀ͢΂͖ ؍఺(Ұ෦) ▸ ֦ுੑ - ج൫ͱͳΔΞʔΩςΫνϟʹେ͖ͳมߋΛՃ͑Δ͜ͱͳ͘ɺ৽ͨͳػೳΛ௥ՃͰ͖Δ͜ͱɻ ▸ ؤ݈ੑ - ߴෛՙঢ়ଶ΍ෆਖ਼ͳೖྗ͕͋ͬͯ΋ಈ࡞͢Δ͜ͱɻྫ͑͹ɺ࢖༻ՄೳͳϝϞϦྔ͕গͳͯ͘΋ಈ࡞͢

    ΔΑ͏ઃܭ͢Δɻ ▸ ৴པੑ - ͋ΔҰఆظؒ·Ͱɺಛఆͷࠔ೉ͳঢ়ଶʹͳͬͯ΋ɺػೳ͢Δ͜ͱɻ ▸ ଱ো֐ੑ - ίϯϙʔωϯτͷো֐͕ൃੜͯ͠΋ɺͦΕʹ଱͑ͨΓɺճ෮ͤͨ͞ΓͰ͖Δ͜ͱɻ ▸ ηΩϡϦςΟ - ѱҙ͋Δߦҝʹରͯ͠଱ੑ͕͋Δ͜ͱɻ ▸ อकੑ - ͋ΔҰఆ࣌ؒͰɺಛఆͷঢ়ଶʹ෮ؼͰ͖Δ͜ͱɻྫ͑͹ɺΞϯν΢ΠϧειϑτͷΑ͏ʹɺఆظతͳ ߋ৽͕ՄೳͰ͋ΔͳͲɻ ▸ ޓ׵ੑ - ଞͷ੡඼ͱ૬ޓʹ΍ΓͱΓͰ͖Δ͜ͱɻ͋Δ͍͸ɺաڈͷ୅ସ͢΂͖੡඼ͱޓ׵Ͱ͋Δ͜ͱɻ ▸ Ϟδϡʔϧੑ - ϞδϡʔϧੑΛߟྀͨ͠ઃܭɻͦΕʹΑͬͯอकੑ΋޲্͢Δɻ։ൃʹ͓͍ͯ΋ίϯϙʔωϯ τ୯ҐͰ࣮૷͠ςετՄೳͳͲͷར఺͕͋Δɻ·ͨɺ։ൃ࡞ۀͷ෼ׂ͕༰қʹͳΔɻ ▸ ࠶ར༻ੑ - Ϟδϡʔϧੑ͕Α͚Ε͹ɺݸʑͷίϯϙʔωϯτΛଞͷ৔໘Ͱ࠶ར༻Ͱ͖ΔՄೳੑ͕ੜ͡Δɻ
 (wikiࢀর ιϑτ΢ΣΞઃܭ)
  4. γεςϜશମͷઃܭʹDDD with ICONIX ͕΋ ͨΒ͢Ձ஋ • Ϗδωεͷಛੑ΍ɺ࣮ݱ͍ͨ͠Ձ஋ΛΤϯδχΞ͕ղऍ͢Δ͜ͱͰɺޮ ཰తͳશମઃܭΛ࣮ݱ͢Δ
 (ओʹඇػೳཁٻɺอकੑɺηΩϡϦςΟɺύϑΥʔϚϯεɺ֦ுੑ etc)

    • த௕ظతͳϏδωεͷมԽɺ੒௕ʹରͯ͠ɺγεςϜ΋૬ରతʹ௿͍ ίετͰػೳͷ௥Ճɾมߋɾ֦ுΛ࣮ݱ͢Δ
 (υϝΠϯϞσϧΛίʔυམͱ͠ࠐΉͨΊ) • Ϗδωεͷ੒௕ʹରͯ͠ɺγεςϜ΋ಉ༷ʹεέʔϧ͢Δ͜ͱΛ௿͍ ίετͰ࣮ݱ͢Δ
 (γεςϜ͕εέʔϧ͢Δʹ͸ɺεέʔϧͰ͖ΔΑ͏ʹߟྀͯ͠ઃܭ͠ ͍ͨͱͰ͖ͳ͍)
  5. ཁ݅ఆٛʹDDD with ICONIX͕΋ͨΒ͢Ձ஋ • ཁٻ ͱ ࣮૷ͱͷؒͷᐆດ͞Λղফ͢Δ • ༧උઃܭʹΑͬͯɺཁٻ͕ͲͷΑ͏ʹ࣮ݱ͞ΕΔͷ͔Λ۩ମԽ ͢Δ͜ͱͰɺཁٻΛ࣮ݱ͢ΔͨΊʹඞཁͳυϝΠϯ஌ࣝ΍֓೦

    Λཧղ͢Δ • ۀ຿Λߦͳ͍ͬͯΔਓͷϝϯλϧϞσϧΛଊ͑ͯɺͦΕΛ࣮૷ʹམ ͱ͠ࠐΉ͜ͱͰɺ • ςετ͕͠΍͍͢ɺΤϥʔ͕ൃੜ͠ʹ͍͘ɺٻΊΒΕΔ඼࣭Λ ຬͨ͢(SLA)
  6. ↓ ػೳཁٻΛॻ͖ग़͢ ↓ ԾͷυϝΠϯϞσϧɾGUIϞοΫΞοϓ ↓ ॳ൛ͷϢʔεέʔεهड़ ↓ ଐੑ(ό΢ϯμϦɺΤϯςΟςΟɺίϯτϩʔϥ)Λ໌֬Խ ↓ ϩόετωεਤΛ࡞੒/෼ੳ

    ↓ ෆ໌ྎͳ෦෼ΛͲΜͲΜमਖ਼ Ϣʔεέʔεهड़ͱϩόετωεਤΛҰகͤ͞Δ ↓ ཁٻΛ࣮ݱ͢Δํ๏Λ໌֬Խ / ΦϒδΣΫτϞσϧͱৼΔ෣͍ཁٻ Λؔ࿈෇͚Δ
  7. GUIϓϩτλΠϓɺը໘ϞοΫΞοϓΛ ࢖͏΂͠ • ͩ͜ΘΓ͗͢Δͳ(look & feel) • ϝϦοτ • γεςϜڥք͕໌ࣔ͞Ε͍ͯΔͷͰɺϢʔεέʔεهड़Λ

    ߦ͍΍͍͢ • UIͷό΢ϯμϦɺγεςϜͷΠϕϯτ(xxը໘Λදࣔ͢ Δ)ɺϢʔβʔԠ౴(xxը໘ͷhogeϘλϯΛΫϦοΫ͢Δ) Λଊ͑Δ্ͰޮՌత
  8. جຊίʔε: • γεςϜ͸ɺϩάΠϯը໘Λදࣔ͢Δɻ • Ϣʔβʔ͸ɺϝʔϧΞυϨεͱύεϫʔυΛೖྗ͠ϩάΠϯϘλϯΛΫϦο Ϋ͢Δɻ • γεςϜ͸ɺϝʔϧΞυϨεΛݩʹର৅ͷϢʔβʔΞΧ΢ϯτ͕ଘࡏ͢Δ ͔֬ೝ͢Δɻ •

    ଘࡏ͢Δ৔߹͸ϢʔβʔΞΧ΢ϯτΛऔಘ͢Δɻ • γεςϜ͸ɺϢʔβʔΞΧ΢ϯτͷύεϫʔυͱೖྗ͞Εͨύεϫʔυ͕ Ұக͍ͯ͠Δ͔֬ೝ͢Δɻ • γεςϜ͸ɺ֘౰ͷϢʔβʔΞΧ΢ϯτͷೝূͨ͠ηογϣϯΛ։࢝͢Δ • γεςϜ͸ɺXXը໘Λදࣔ͠ɺϩάΠϯʹ੒ޭ͠·ͨ͠ͱϝοηʔδΛ දࣔ͢Δɻ
  9. جຊίʔε: • Ϣʔβʔ͸ɺදࣔ͞Ε͍ͯΔҿ৯ళͷϨϏϡʔϘλϯΛΫϦο Ϋ͢Δɻ • γεςϜ͸ɺϨϏϡʔ౤ߘը໘Λදࣔ͢Δɻ • Ϣʔβʔ͸ɺҿ৯ళධՁΛ5ஈ֊͔Βબ୒͠ɺҿ৯ళϨϏϡʔ ίϝϯτΛೖྗ͠ɺ׬ྃϘλϯΛΫϦοΫ͢Δɻ •

    γεςϜ͸ɺҿ৯ళϨϏϡʔίϝϯτ͕400จࣈҎ಺͔ɺҿ৯ ళධՁ͕બ୒͞Ε͍ͯΔ͔Λ֬ೝ͢Δɻ • γεςϜ͸ɺҿ৯ళϨϏϡʔΛอଘ͢Δɻ • γεςϜ͸ɺҿ৯ళϨϏϡʔ౤ߘ׬ྃը໘Λදࣔ͢Δɻ
  10. ୅ସίʔε: • Ϣʔβʔ͕ϩάΠϯͯ͠ͳ͍ • γεςϜ͸ɺϨϏϡʔ౤ߘը໘͔ΒϦμΠϨΫτͯ͠ϩάΠϯը໘Λදࣔ͢Δ • ϩάΠϯ͕੒ޭͨ͠ΒɺγεςϜ͸ϨϏϡʔ౤ߘը໘Λදࣔ͢Δɻ
 • ҿ৯ళϨϏϡʔίϝϯτ͕400จࣈҎ্ •

    γεςϜ͸ɺҿ৯ళϨϏϡʔ͕400จࣈҎ্Ͱෆਖ਼ͱ͍͏ϝοηʔδΛҿ৯ళ ϨϏϡʔը໘ʹදࣔ͢Δɻ
 • ҿ৯ళධՁ͕બ୒͞Ε͍ͯͳ͍ • γεςϜ͸ɺҿ৯ళධՁ͕ෆਖ਼ͱ͍͏ϝοηʔδΛҿ৯ళϨϏϡʔը໘ʹදࣔ ͢Δɻ