$30 off During Our Annual Pro Sale. View Details »

アジャイル・アジャイル開発って何?/すぐ聞く・チームの課題にする/20190423

 アジャイル・アジャイル開発って何?/すぐ聞く・チームの課題にする/20190423

yoshitake_1201

April 23, 2019
Tweet

More Decks by yoshitake_1201

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ • ٢෢ ৳ହʢΑ͚ͨ͠ ͷͿͻΖʣ
 - @yoshitake_1201 • FusicͷςετΤϯδχΞʢ2018/05 ~ʣ

    • ࣾ֎׆ಈ
 ɹ- ςετञ৔ in ෱Ԭ װࣄ
 ɹ- ࠷ۙ͸݄1ͰςετϥδΦʹग़ԋத  
  2. ΞδϟΠϧιϑτ΢ΣΞ12ͷݪଇ • ސ٬ຬ଍Λ࠷༏ઌ͠ɺՁ஋ͷ͋Διϑτ΢ΣΞΛૣ͘ܧଓతʹ ఏڙ͠·͢ɻ • ཁٻͷมߋ͸ͨͱ͑։ൃͷޙظͰ͋ͬͯ΋׻ܴ͠·͢ɻมԽΛ ຯํʹ͚ͭΔ͜ͱʹΑͬͯɺ͓٬༷ͷڝ૪ྗΛҾ্͖͛·͢ɻ • ಈ͘ιϑτ΢ΣΞΛɺ2-3ि͔ؒΒ2-3ϲ݄ͱ͍͏Ͱ͖Δ͚ͩ୹ ִ͍࣌ؒؒͰϦϦʔε͠·͢ɻ

    • Ϗδωεଆͷਓͱ։ൃऀ͸ɺϓϩδΣΫτΛ௨ͯ͠೔ʑҰॹʹ ಇ͔ͳ͚Ε͹ͳΓ·ͤΜɻ • ҙཉʹຬͪͨਓʑΛूΊͯϓϩδΣΫτΛߏ੒͠·͢ɻ؀ڥͱ ࢧԉΛ༩͑࢓ࣄ͕ແࣄऴΘΔ·Ͱ൴ΒΛ৴པ͠·͢ɻ • ৘ใΛ఻͑Δ΋ͬͱ΋ޮ཰తͰޮՌతͳํ๏͸ϑΣΠεɾ τΡɾϑΣΠεͰ࿩Λ͢Δ͜ͱͰ͢ɻ • ಈ͘ιϑτ΢ΣΞ͕ͦ͜ਐḿͷ࠷΋ॏཁͳई౓Ͱ͢ɻ • ΞδϟΠϧŋϓϩηε͸࣋ଓՄೳͳ։ൃΛଅਐ͠·͢ɻҰఆͷ ϖʔεΛܧଓతʹҡ࣋Ͱ͖ΔΑ͏ʹ͠ͳ͚Ε͹ͳΓ·ͤΜɻ • ٕज़త୎ӽੑͱ༏Εͨઃܭʹର͢Δෆஅͷ஫ҙ͕ػහ͞ΛߴΊ ·͢ɻ • γϯϓϧ͞ʢϜμͳ͘࡞ΕΔྔΛ࠷େݶʹ͢Δ͜ͱʣ͕ຊ࣭Ͱ ͢ɻ • ࠷ྑͷΞʔΩςΫνϟɾཁٻɾઃܭ͸ɺࣗݾ૊৫తͳνʔϜ͔ ΒੜΈग़͞Ε·͢ɻ • νʔϜ͕΋ͬͱޮ཰ΛߴΊΔ͜ͱ͕Ͱ͖Δ͔ΛఆظతʹৼΓฦ ΓɺͦΕʹج͍ͮͯࣗ෼ͨͪͷ΍ΓํΛ࠷దʹௐ੔͠·͢ɻ ΞδϟΠϧιϑτ΢ΣΞ12ͷݪଇ https://agilemanifesto.org/iso/ja/principles.html
  3. ΢ΥʔλʔϑΥʔϧʹର͢ΔΞδϟΠϧ։ൃ • ༗໊ͳΞδϟΠϧ։ൃٕ๏ 
 → Scrum
 → XP(eXtreme Programing)
 →

    Crystal
 → ASD(Adaptive Software Development)
 → FDD(Feature Driven Development) • ͜ΕΒͷଟ͘͸ΞδϟΠϧ։ൃએݴҎલʹ͋ͬͨ ʰΞδϟΠϧ։ൃ΁ͷಓҊ಺ʱ
 ยԬ խݑ, খݪ ༝ل෉, ޫ౻ তஉ ஶΑΓ
 https://www.amazon.co.jp/dp/B075XC8K9P/
  4. ΞδϟΠϧܕ։ൃϓϥΫςΟε
 ɾϦϑΝϨϯεΨΠυ • ϓϩηεɾϓϩμΫτ • ϦϦʔεܭըϛʔςΟϯά / Release planning to

    release product increments • ΠςϨʔγϣϯܭըϛʔςΟϯά/ Iteration planning meeting • ΠςϨʔγϣϯ / Iteration • ϓϥϯχϯάϙʔΧʔ / Planning poker to estimate tasks during sprint planning • ϕϩγςΟܭଌ/ The project velocity is measured • ೔࣍ϛʔςΟϯά/ Short daily meeting to resolve current issues • ;Γ͔͑Γ / sprint retrospective to learn from previous sprint • ͔Μ͹Μ / Kanban • εϓϦϯτϨϏϡʔ/ Sprint review meeting to present completed work • λεΫϘʔυ(λεΫΧʔυ) / Task board(Task card) • όʔϯμ΢ϯνϟʔτ / Burn down chart to monitor sprint progress • ॊೈͳϓϩηε / Flexible process • ϢʔβʔετʔϦʔ / User stories are written • εϓϦϯτόοΫϩά/ Mutual commitment to sprint backlog between product owner and team • ΠϯηϓγϣϯσοΩ / Inception Deck • ϓϩμΫτόοΫϩά/ Priorities (product backlog) maintained by a dedicated role (product owner) • ਝ଎ͳϑΟʔυόοΫ/ Rapid feedback IPA ΞδϟΠϧܕ։ൃϓϥΫςΟɾϦϑΝϨϯεΨΠυ໨࣍ΑΓ https://www.ipa.go.jp/sec/softwareengineering/reports/20130319.html
  5. ΞδϟΠϧܕ։ൃϓϥΫςΟε
 ɾϦϑΝϨϯεΨΠυ • ٕज़ɾπʔϧ • ϖΞϓϩάϥϛϯά / Pair Programming •

    ࣗಈԽ͞Εͨճؼςετ / Automated regression test • ςετۦಈ։ൃ / Test Driven Development • ϢχοτςετͷࣗಈԽ/ Unit Test Automation • डೖςετ /Acceptance tests are run often and the score is published • γεςϜϝλϑΝ / System Metaphor • εύΠΫɾιϦϡʔγϣϯ / Spike Solution • ϦϑΝΫλϦϯά/ Constant refactoring • γϯϓϧσβΠϯ / Simple Design • ஞ࣍ͷ౷߹ / Only one pair integrates code at a time • ܧଓతΠϯςάϨʔγϣϯ / Continuous Integration/Integrate often • ूஂʹΑΔΦʔφʔγοϓ / Use collective ownership • ίʔσΟϯάن໿/ Code written to agreed standards • όά࣌ͷ࠶ݱςετ / When a bug is found, tests are created • ࢴɾखॻ͖πʔϧ/ Paper, Handwriting • νʔϜӡӦɾ૊৫ɾνʔϜ؀ڥ • ސ٬ϓϩΩγ/ Customer Proxy • ΦϯαΠτސ٬ / The customer is always available/Constant user interaction • ϓϩμΫτΦʔφʔ / Product Owner IPA ΞδϟΠϧܕ։ൃϓϥΫςΟɾϦϑΝϨϯεΨΠυ໨࣍ΑΓ https://www.ipa.go.jp/sec/softwareengineering/reports/20130319.html
  6. ΞδϟΠϧܕ։ൃϓϥΫςΟε
 ɾϦϑΝϨϯεΨΠυ • ϑΝγϦςʔλ(εΫϥϜϚελʔ) / Development process and practices facilitated

    by a dedicated role (Scrum master) • ΞδϟΠϧίʔν / Agile Coach • ࣗݾ૊৫ԽνʔϜ / Team members volunteer for tasks (self-organizing team) • χίχίΧϨϯμʔ / Niko-niko Calendar (Smiley Calendar) • ࣋ଓՄೳͳϖʔε / Set a sustainable pace • ૊৫ʹ͋ΘͤͨΞδϟΠϧελΠϧ / Right agile style for their organization • ڞ௨ͷ෦԰ / Give the team a dedicated open work space • νʔϜશମ͕Ұͭʹ/ One whole team • ਓࡐͷϩʔςʔγϣϯ / Move people around • ΠϯςάϨʔγϣϯઐ༻Ϛγϯ/ Set up a dedicated integration computer IPA ΞδϟΠϧܕ։ൃϓϥΫςΟɾϦϑΝϨϯεΨΠυ໨࣍ΑΓ https://www.ipa.go.jp/sec/softwareengineering/reports/20130319.html
  7. ΞδϟΠϧܕ։ൃϓϥΫςΟε
 ɾϦϑΝϨϯεΨΠυͷҰ෦ • ϓϩηεɾϓϩμΫτ
 → ϓϥϯχϯάϙʔΧʔ
 → ;Γ͔͑Γ
 → ͔Μ͹Μ

    • ٕज़ɾπʔϧ
 → ϖΞϓϩάϥϛϯά
 → ςετۦಈ։ൃ
 → ܧଓతΠϯςάϨʔγϣϯ • νʔϜӡӦɾ૊৫ɾνʔϜ؀ڥ
 → ࣗݾ૊৫ԽνʔϜ
 → χίχίΧϨϯμʔ
 → ࣋ଓՄೳͳϖʔε
 → νʔϜશମ͕Ұͭʹ  
  8. ΞδϟΠϧܕ։ൃϓϥΫςΟε
 ɾϦϑΝϨϯεΨΠυͷҰ෦ • ϓϩηεɾϓϩμΫτ
 → ϓϥϯχϯάϙʔΧʔ
 → ;Γ͔͑Γ
 → ͔Μ͹Μ

    • ٕज़ɾπʔϧ
 → ϖΞϓϩάϥϛϯά
 → ςετۦಈ։ൃ
 → ܧଓతΠϯςάϨʔγϣϯ • νʔϜӡӦɾ૊৫ɾνʔϜ؀ڥ
 → ࣗݾ૊৫ԽνʔϜ
 → χίχίΧϨϯμʔ
 → ࣋ଓՄೳͳϖʔε
 → νʔϜશମ͕Ұͭʹ ʮ͜ΕΒΛ΍͍ͬͯΔ = ΞδϟΠϧʯ ͱ͍͏Θ͚Ͱ͸ͳ͘ɺ ΞδϟΠϧܕ։ൃΛ΍Γ͍ͨ
 ˠ ۩ମతʹԿΛ΍ͬͨΒΑ͍͔Θ͔Βͳ͍ → ͜ΕΒͷϓϥΫςΟεগ͠ࢀߟʹͯ͠ΈΔ  
  9. ͜ͷ࿩ΛఏҊ͢ΔͱΑ͋͘Δฦ͠ • ࣗ෼Ͱௐ΂ΔྗΛ͚ͭͯ΄͍͠
 → ྫ͑͹ɺ৽ਓ͞Μ͍͖ͬͯͳΓௐ΂Δྗ͚ͭΔඞཁ͋Δʁ • ूத੾ΕΔ͔Β΍Ίͯ΄͍͠
 → ूத͢Δͬͯຊ౰ʹ͍͍͜ͱͳΜͩΖ͏͔ʁ •

    ͦ͏͍͏ͷ΋৐Γӽ͑ͯฉ͍ͯ͘Δ͔ΛݟͯΔΜͩΑʢධՁͯ͠ΔΜͩΑʣ
 → (ݸਓతʹ)ͦΜͳ͜ͱ͸Ͳ͏Ͱ΋͍͍
 → ࣭໰͠΍͍ۭ͢ؾײ͕͋Ε͹ͦΜͳϋʔυϧ͍Βͳ͍͠ɺࣗવʹฉ͍ͯ͘ΕΔΑ͏ʹͳΔͱࢥ͏ ΋͏1ͭࠔͬͯΔΜ͔ͩΒ͜ΕҎ্ࠔΓ͝ͱ૿΍͞ͳ͍Ͱ͍͋͛ͨɺͬͯࢥ͍ͬͯΔ  
  10. 8 ~ 10ਓ͙Β͍ͷςετνʔϜ • ςετϦʔμʔ1ਓɺ࢒Γ͸࣮ߦऀ • ίϯϙʔωϯτ͕4͙ͭΒ͍ʹ෼͔Εͯͨ
 → ͦΕͧΕͷίϯϙʔωϯτ͝ͱʹɺ͘͢͝ৄ͍͠ਓ͕1ਓ͸͍ͨ
 →

    ͦΕͧΕͷίϯϙʔωϯτͷ஌͕ࣝଐਓԽ͍ͯͨ͠ • ܗࣜ஌Խ͠Α͏ͱ͚ͯͨ͠Ͳɺͳ͔ͳ͔͏·͍͔͘ͳ͍
 → ·ͱΊΔจԽɺಡΈ΍͍͢ɾௐ΂΍͢͞͸೉͍͠
 → ࣭໰͸લड़ͨ͠ʮ˓෼ௐ΂ͨΒʯ΍ʮ˓ճ·Ͱ͔͠ʯͱ͍͏ϧʔϧͩͬͨ  
  11. ྑ͔ͬͨΞϓϩʔν • ͲΜͳʹ؆୯ͳ͜ͱͰ΋·ͣฉ͍ͨ
 → ஌͕ࣝ͋Δਓಉ࢜Ͱɺ͘͢͝؆୯ͳ͜ͱ͔Βฉ͍ͯΈͨ • ࣭໰͞ΕͨΠϥοͱͯͦ͠͏ͳΒׂͬͯೖͬͯΈͨ
 → 1ର1ʹͳΔͱͭΒ͍͚Ͳɺؒʹ1ਓೖΔͱͪΐͬͱྑ͔ͬͨײ͋Δ •

    ֤ίϯϙʔωϯτͷҰ൪ৄ͍͠ਓ͕ͦΕΛ΍ͬͨ
 → A͞Μ͸B͞ΜʹͳΒฉ͚Δ(ͱ͍͏ঢ়گ͕Ͱ͖Δ)
 → B͞Μ͸C, D, E͞Μʹฉ͚Δ(ͦͯͭ͠ͳ͍Ͱ͍͘)
 → ࠷ऴతʹA͞Μ͸C, D, E͞Μʹฉ͚ΔΑ͏ʹͳͬͨ  
  12. ࠷ۙؾ͍ͮͨฉ͖ʹ͍͘Λ࡞Δਓ • ฉ͘ଆ
 → มʹؾΛ࢖͏
 → ࣭໰͢ΔҰาΛ౿Έग़͞ͳ͍ • ฉ͔ΕΔଆ
 →

    ฉ͖ʹ͍͘งғؾΛग़͍ͯ͠Δ
 → ࣭໰͕ͳ͍͔࣭໰͠ʹ͍͘ҰาΛ౿Έग़͞ͳ͍ • ͦͷपΓ
 → ʮ͋ͷਓ͸๩ͦ͠͏͔ͩΒʯͱݴ͏  
  13. ࠷ۙؾ͍ͮͨฉ͖ʹ͍͘Λ࡞Δਓ • ฉ͘ଆ
 → มʹؾΛ࢖͏
 → ࣭໰͢ΔҰาΛ౿Έग़͞ͳ͍ • ฉ͔ΕΔଆ
 →

    ฉ͖ʹ͍͘งғؾΛग़͍ͯ͠Δ
 → ࣭໰͕ͳ͍͔࣭໰͠ʹ͍͘ҰาΛ౿Έग़͞ͳ͍ • ͦͷपΓ
 → ʮ͋ͷਓ͸๩ͦ͠͏͔ͩΒʯͱݴ͏ ฉ͔ΕΔଆɿ ฉ͔Εͯ໰୊ͳ͍ & ฉ͖΍͍ۭ͢ؾ͕͋ Δ
 पғͷਓɿʮˢͷਓ๩ͦ͠͏͔ͩΒฉ͔ͳ͍Ͱ͋͛ ͯʯతͳࣄΛݴ͏ ฉ͘ଆɿฉ͘ͷʹ᪳᪯͢Δ/ԕྀ͢Δ  
  14. ϨϏϡʔ͕ͭΒ͍ • νʔϜϝΠτ
 ʮϨϏϡʔґཔͨ͠ͱ͖ɺ٢෢ʹϨϏϡʔ͞ΕΔͷ͕ͭΒ͍ʯ
 → ݴ༿͕͖ͼ͘͠ײ͡Δɺ൱ఆ͞Ε͍ͯΔΑ͏ʹײ͡Δ
 ˞ ϨϏϡʔର৅͸νέοτຊจ΍ಛఆͷϨϙʔτͳͲͷจষ • ࢲ


    ʮޡղͳ͘ɺࣄ࣮Λ఻͔͑ͨͬͨʯ
 → ͖ͼ͘͠͠ͳ͍Α͏ʹ͍ͯͨ͠ʢͭ΋Γʣ
 → ϨϏϡʔ͕ݫ͍͠ͱײ͡Δͷ͸͠ΐ͏͕ͳ͍ʢͱएׯఘΊͯͨʣ  
  15. ࢲͷ͜Ε·Ͱ • ࢲͷࢥ͍
 → ϨϏϡʔͯ͠Α͍΋ͷʹ͍ͨ͠
 → ͭΒ͍ࢥ͍͸ͯ͠΄͘͠ͳ͍ (൱ఆ͍ͨ͠Θ͚͡Όͳ͍)
 → ʮޡղͳ͘ࣄ࣮Λ఻͑Δʯͷ΄͏͕ʮ૬ख͕ই͔ͭͳ͍ʯΑΓ΋༏ઌ͞Εͯͨ

    • ͜Ε·Ͱ΋Կ౓͔ݴΘΕΔ͜ͱ͸͋ͬͨͷͰɺͦͷ࣌ͷରࡦ
 → ϨϏϡʔͷͱ͖ɺݫ͘͠ͳΒͳ͍Α͏ʹҙࣝ͢Δʂ
 → ʮҙࣝ͢Δʯ͜Ε͸ରࡦͰ͸ͳ͍ʂ  
  16. νϟοτϘοτ • զʑͷϨϏϡʔͷ΍Γํ
 → νϟοτπʔϧͰຊจΛ౤͛Δ → ϨϏϡʔ͢Δ • ৽͍͠΍Γํ
 →

    ۀ຿༻ͷνϟοτπʔϧ(Slack)ʹϨϏϡʔઐ༻ͷChannelΛ࡞Δ
 → ϨϏϡʔґཔΛ౤͛Δ(ґཔ࣌ʹʮϨϏϡʔʯ΍ʮ@ʯͱϝϯγϣϯ͢Δ)
 → Ϙοτ͕ࢲʹରͯ͠ϨϏϡʔґཔΛ௨஌͢Δ
 → ϨϏϡʔ͢Δ  
  17. Α͍ϙΠϯτ • ֎͔ΒͷεΠονʹͨ͠ͷ͸΍͸ΓΑ͍
 → ରࡦɿҙࣝ͢Δʂ͸ରࡦͰ͸ͳ͍ • ͓ޓ͍ʹແཧ͕ͳ͍
 → ົͳґཔΛͨ͠Γ͢ΔͳͲ͕ͳ͍ •

    ͓ޓ͍ͷχʔζΛຬ͍ͨͯ͠Δ
 → NVC(Nonviorent Communication: ඇ๫ྗతίϛϡχέʔγϣϯ)ͬΆ͍ • ϘοτΛʮ͓ޓ͍ڞ௨ʹ஌͍ͬͯΔʯʮΞχϝͷΩϟϥΫλʔʯʹͨ͠
 → ۀ຿தʹ·͔͞ΞχϝͷΩϟϥΫλʔ͔Βϝοηʔδ͕དྷΔͱ͸ࢥΘͳ͍
 → ແҙࣝʹೖ͍ͬͯͨ٢෢ͷʮϨϏϡʔͷεΠονʯΛҙࣝతʹΦϑʹͰ͖Δ  
  18. ۝भιϑτ΢ΣΞςετษڧձ 
 vol.29 ʮQAೖ໳ʯ • 6/4(Ր) 19:00 ~ • ৔ॴɿϝϧΧϦ͞Μʢ෱ԬΦϑΟεʣ

    • https://q-te.connpass.com/event/127130/ • JaSST’19 TokyoͷʮQAೖ໳ʯηογϣϯͷ֦େ൛
 ˠ http://jasst.jp/symposium/jasst19tokyo/details.html#D4  
  19. ձ৔ͷ࣭໰ʹରͯ͠ • νϟοτͰͷϨϏϡʔ͕ͭΒ͔ͬͨͷ͔ɺ
 ͦΕͱ΋௚઀࿩࣌͢ͷϨϏϡʔ͕ͭΒ͔ͬͨͷ͔ʁ
 → ྆ํͰ͢ʢษڧձલʹຊਓʹ֬ೝ͖ͯ͠·ͨ͠ʣ
 → ҰԠ͜ͷऔΓ૊ΈΛ࢝Ίͯɺ
 ɹ ର໘ͷϨϏϡʔ΋งғؾมΘͬͨͱݴͬͯ΋Β͍·ͨ͠

    • ීஈͷ٢෢͔Β͸૝૾͕͖ͭʹ͍͘
 → ϨϏϡʔͷͱ͖͸มͳεΠον͕ೖΔ
 ʢѱ͍ҙຯͰूதͯ͠͠·͏ = ༨༟͕ͳ͘ͳ͍ͬͯΔ)ͷͰ
 ීஈͱͷམࠩ΋ܹ͘͠ɺͳ͓͠ΜͲ͍ͱײ͍ͯͨ͡Α͏Ͱ͢  
  20. ࢀߟࢿྉ • ʰΞδϟΠϧ։ൃ΁ͷಓҊ಺ʱ
 https://www.amazon.co.jp/dp/B075XC8K9P/ • ΞδϟΠϧιϑτ΢ΣΞ։ൃએݴ
 https://agilemanifesto.org/iso/ja/manifesto.html • ΞδϟΠϧιϑτ΢ΣΞ։ൃએݴ
 https://agilemanifesto.org/iso/ja/manifesto.html

    • IPA ΞδϟΠϧ։ൃͷݱঢ়ͱࠓޙ
 https://www.ipa.go.jp/files/000031073.pdf • IPA ΞδϟΠϧܕ։ൃϓϥΫςΟɾϦϑΝϨϯεΨΠυ 
 https://www.ipa.go.jp/sec/softwareengineering/reports/20130319.html