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

アジャイル開発と品質エンジニアリング - QA時代の終わりとQE時代のはじまり / Agile Development and Quality Engineering

A760a90c9afd981004343b9861f1e8b4?s=47 Dai Fujihara
February 17, 2022

アジャイル開発と品質エンジニアリング - QA時代の終わりとQE時代のはじまり / Agile Development and Quality Engineering

アジャイルコーチと名乗るようになって10年が経ちました。
10年前のアジャイル開発は、変化叫ぶ少数のロックスターが中心でした。しかし、現在では、小さなスタートアップだけなく、大企業でも当たり前に語らています。アジャイル開発は、「より」アジャイルになろうとしつつあるようです。

では、テストや品質保証は「アジャイル」になったのでしょうか?

このセッションでは、QA(品質保証)からQE(品質エンジニアリング)に変化する時代背景を解説しながら、アジャイル・DevOps時代のアジャイルテスティングを議論します。

デベロッパーズサミット2022 講演資料
17-C-7 02/17 16:00 ~ 16:45
https://event.shoeisha.jp/devsumi/20220217/session/3666/

A760a90c9afd981004343b9861f1e8b4?s=128

Dai Fujihara

February 17, 2022
Tweet

More Decks by Dai Fujihara

Other Decks in Programming

Transcript

  1. ΞδϟΠϧ։ൃͱ ඼࣭ΤϯδχΞϦϯά NBCM*OD౻ݪେ "HJMF%FWFMPQNFOUBOE2VBMJUZ&OHJOFFSJOH %FWFMPQFST4VNNJU $  2"࣌୅ͷऴΘΓͱ2&࣌୅ͷ͸͡·Γ

  2. "CPVU.F ʰΞδϟΠϧ։ൃͱεΫϥϜʱIUUQTXXXBNB[PODPKQEQɺʰϦʔϯ։ൃͷݱ৔ʱIUUQTXXXBNB[PODPKQEQ9 ౻ݪେ%BJ'VKJIBSB NBCM+BQBO גࣜձ͔͍ࣾͤ୅ද ˔ݱࡏɿಠཱͯ͠εʔύʔΞδϟΠϧίʔν ։ൃ૊৫ͷٕज़ސ໰ʢϓϩηεɺ2"ͳͲʣ $50΍&.΁ͷίʔνϯά NBCMͷ೔ຊސ٬޲͚αϙʔτ ˔ϝϧΧϦɿΤϯδχΞϦϯάϚωʔδϟʢ&.

     4PGUXBSF&OHJOFFSJO5FTUʢ4&5  ςετࣗಈԽɺ2"૊৫্ཱͪ͛ ˔ָఱɿ&.ɺΞδϟΠϧίʔν ˔๭4*FSɿ+BWBΤϯδχΞ ˔׆ಈ ˓ʰΞδϟΠϧ։ൃͱεΫϥϜʱدߘ ˓ʰϦʔϯ։ൃͷݱ৔ʱ຋༁ ˓5XJUUFS!EBJQSFTFOUT ˓#MPHIUUQTEBJQSFTFOUTDPNTFSWJDF
  3. ΞδϟΠϧ࣌୅ͷ ΞδϟΠϧ඼࣭Λࢧ͑Δ ඼࣭ΤϯδχΞϦϯά ͦͯ͠ɺ2"ͷऴΘΓͱ 2&ͷ͸͡·Γ ͜Ε͔Βͷ೥

  4. ΞδϟΠϧ։ൃ͸ʮ౰ͨΓલʯʹ ˔ )1ʹΑΔௐࠪͰ͸ɺ͕ϋΠϒϦο υɺˋ͕ΞδϟΠϧ։ൃ΁   ˔ ,1.((MPCBM"HJMF4VSWFZͰ͸ɺࠓ ޙ೥ͰاۀϨϕϧͷΞδϟΠϧ։ൃ͕ ഒҎ্૿͑Δͱ༧૝ʢ

     ˔ EJHJUBMBJͷௐࠪͰ͸͕ΞδϟΠϧ ։ൃΛ࠾༻ʢ "HJMFJTUIFOFXOPSNBMIUUQTTPGUXBSFUFTUJOHHFOJVTDPNEPDTBBQEG 
 ,1.((MPCBM"HJMF4VSWFZIUUQTBTTFUTLQNHDPOUFOUEBNLQNHCFQEGBHJMFUSBOTGPSNBUJPOQEG 
 UI4UBUFPG"HJMF3FQPSUIUUQTEJHJUBMBJSFTPVSDFDFOUFSBOBMZTUSFQPSUTTUBUFPGBHJMFSFQPSU
  5. ΞδϟΠϧ඼࣭͸ʮ౰ͨΓલʯ͔ʁ ˔ࠜڧ͍2"͕Ϙτϧωο Ϋ໰୊ ˔εϓϦϯτޙ൒ͷෛ୲૿ ˔εϓϦϯτ͕ऴΘΒͳ͍

  6. ΞδϟΠϧ։ൃͷͨΊͷ඼࣭ ˔ΞδϟΠϧ඼࣭ͷͨΊʹ͸ɺΞδϟ ΠϧͳςεςΟϯά͕ඞཁ ˔ΞδϟΠϧςεςΟϯάͷͨΊʹ ͸ɺ඼࣭ͷΤϯδχΞϦϯάԽ ʢ2VBMJUZ&OHJOFFSJOH2&ʣ͕ඞཁ ˔඼࣭ΤϯδχΞϦϯάͷத৺తͳϓ ϥΫςΟεʹͳΓͭͭ͋Δͷ͕ɺࣗ ಈԽʢ$*$%ɺςετͳͲʣ

  7. "*Λ׆༻ͨ͠ϒϥ΢βςετࣗಈԽαʔϏε ˔Ϛʔϒϧ͡Όͳͯ͘ϝΠϒϧ ˔ϘετϯͰ૑ۀʢγϦʔζ$ɺ ߹ܭˈ.ʣ ˔"*ɾΫϥ΢υɾ4BB4ܕ 
 ςετࣗಈԽαʔϏε ˔ϊʔίʔυɾϩʔίʔυͰ 
 ςετͷ࡞੒΍मਖ਼Մೳ

  8. IUUQTZPVUVCF5Y$F@S2@2 σϞಈը ΩϟϓνϟˍϦϓϨΠͰϊʔ ίʔυɾϩʔίʔυ

  9. ࣗಈςετͷਐԽ ͦͷ"* 1IPUPCZ1PTTFTTFE1IPUPHSBQIZPO6OTQMBTI

  10. Φʔτώʔϧʢࣗݾम෮ʣ

  11. ϏδϡΞϧςετɾϏδϡΞϧϦάϨογϣϯ ˔ ಈ͖ͷਖ਼͠͞ͱݟͨ໨ͷਖ਼ ͠͞ ˔ ਖ਼֬͠͞ೝ΋ࣗಈԽ ˔ ͞ΑͳΒʮਖ਼͘͠දࣔ͞Ε Δ͜ͱʯ εΫϦʔϯγϣοτςετͱ΋ݺ͹Ε͍ͯΔTDSFFOTIPUUFTUJOHGPSBMMZPVS$PNQPTF!1SFWJFXTIUUQTQSPBOESPJEEFWDPNBVUPNBUJDTDSFFOTIPUUFTUJOHGPSBMMZPVSDPNQPTFQSFWJFXTBEEGFDD

  12. ࣗಈςετͷਐԽ ͦͷߴ଎Խ 1IPUPCZ5ZMFS$MFNNFOTFOPO6OTQMBTI

  13. ςετͷߴ଎Խ ˔࣮ߦ؀ڥͷਐԽʹΑ ͬͯ໿ˋߴ଎Խ ˔ฒྻ࣮ߦͰ࣌ؒ୹ॖ ˔࡞੒ɾӡ༻΋ϊʔί ʔυɾϩʔίʔυͰ ୹ॖ

  14. IUUQTZPVUVCFFQ06*.Y+G$P σϞಈը $-*Ͱߴ଎࣮ߦ

  15. ςετϐϥϛουͷύϥμΠϜγϑτ 5FTU1ZSBNJEIUUQTNBSUJOGPXMFSDPNCMJLJ5FTU1ZSBNJEIUNM ˔6*ςετ͸ʮ͸΍͘ʯͳ ͬͨ ˔6*ςετ͸ʮ҆͘ʯͳͬ ͨ ˔ςετͷόϥϯε͸ 
 Ͳ͏ͳΔʁ

  16. ΞδϟΠϧ։ൃ࣌୅ͷ ΞδϟΠϧ඼࣭Λࢧ͑Δ ඼࣭ΤϯδχΞϦϯά ͦͯ͠ɺ2"ͷऴΘΓͱ 2&ͷ͸͡·Γ ͜Ε͔Βͷ೥

  17. ඼࣭ΤϯδχΞϦϯάͷϙΠϯτ ։ൃαΠΫϧશମͰ඼࣭ҡ࣋ 1IPUPCZ5IJTJT&OHJOFFSJOH3"&OHPO6OTQMBTI

  18. εϓϦϯτ࠷ޙʹςετͰ͸஗͍ $POUJOVPVT5FTUJOHJO%FW0QTʜIUUQTEBOBTICZDPVLDPOUJOVPVTUFTUJOHJOEFWPQT

  19. $*$%ͷͨΊͷΠϯςάϨʔγϣϯʢ౷߹ʣ $*$% 4063$&$0/530- *446&53"$,*/( 64&3%"5" $0--"#03"5*0/ 3&1035*/(

  20. 1SFWJFX؀ڥͰ&&ςετ࣮ߦσϞ IUUQTHJUIVCDPNEBJQSFTFOUTUFTUBVUPNBUJPOTBOECPYQVMM ᶃ13࡞੒ ᶄࣗಈݕ஌ ᶅ1SFWJFX؀ڥ ʹσϓϩΠ ᶆςετ ։࢝Λ௨஌ ᶇ&&࣮ߦ ᶈ4MBDLʹ

    ݁ՌΛ௨஌ ᶉ࣮ߦ݁ՌΛ 13্ʹදࣔ ʢ(JU)VC$IFDLTʣ
  21. ΤσΟλ ΞϓϦը໘ (JU)VC $JSDMF$* NBCM

  22. IUUQTZPVUVCFTCLN[('TKX σϞಈը 13༻1SFWJFX؀ڥʹ σϓϩΠˍ&&ࣗಈ࣮ߦ

  23. NBCM͸NBCMΛNBCMͰςετ͢Δ NBCM 5IF(VJEFUP5FTUJOHJO%FW0QT1JQFMJOFT

  24. ඼࣭ΤϯδχΞϦϯά ͷϙΠϯτ ސ٬ମݧॏࢹ 1IPUPCZ5BSBT4IZQLBPO6OTQMBTI

  25. ΧελϚʔΤΫεϖϦΤϯεʢ$9ʣ͸࠷ॏཁ ͷফඅऀ͕ߪങͷҙࢥܾఆΛ͢Δࡍ ʹ69Λॏཁࢹ͍ͯ͠Δ ͷফඅऀ͸ɺͨͬͨҰ౓ͷݏͳܦݧ Ͱͦͷϒϥϯυ͔Β཭ΕΔ  ͷैۀһ͕ɺ࢖༻͍ͯ͠Διϑτ΢ ΣΞ͕ݪҼͰɺ৬৔ʹෆຬΛ๊͍ͯ ͍Δ 

       18$ &YQFSJFODFJTFWFSZUIJOH)FSFTIPXUPHFUJUSJHIU (4UBUFPG4PGUXBSF)BQQJOFTT3FQPSU 
  26. ςετΧόϨοδ͕ॏཁͳࢦඪʹ 4UBUFPG5FTUJOHJO%FW0QT#FODINBSL3FQPSU NBCM

  27. ϊʔίʔυɾϩʔίʔυͰΧόϨοδΛߴΊΔ && *OUFHSBUJPO 6OJU ୳ࡧ

  28. "1*౷߹͞ΕͨΤϯυπʔΤϯυͷςετ ˔ϊʔίʔυͰ"1*ςετ ˔ϨεϙϯεΛม਺ʹ֨ೲ౳ɺ "1*ΛγφϦΦܗࣜͰ࣮ߦՄ ೳ ˔1PTUNBO૒ํ޲࿈ܞ ˔ϚΠΫϩαʔϏε޲͚ͷ౷߹ ςετͱͯ͠΋ར༻Մೳ

  29. IUUQTZPVUVCFX"9[KL6QLT σϞಈը "1*ςετͰ ΧόϨοδΞοϓ

  30. ඼࣭ΤϯδχΞϦϯά ͷϙΠϯτ ܧଓతϞχλϦϯά 1IPUPCZ/JDIPMBT$BQQFMMPPO6OTQMBTI

  31. σʔλɺσʔλɺσʔλ ˔ ΧόϨοδσʔλ ˔ ςετ࣮ߦσʔλ ˔ ςετͷϦεΫ΍τϨ ϯυͷධՁʹ׆༻

  32. 

  33. None
  34. None
  35. 2"ͷऴΘΓͱɺ2&ͷ͸͡·Γ 2"ʢ඼࣭อূʣ ΞϓϦέʔγϣϯͷ඼࣭อূ͕ ։ൃϓϩηεͷϫϯεςοϓ΁ ඼࣭ΤϯδχΞϦϯάʢ2&  ΞϓϦέʔγϣϯͷ඼࣭ͱΧε λϚʔΤΫεϖϦΤϯεΛܧଓ తʹվળ͢ΔͨΊʹɺσʔλΛ ׆༻ͯ͠ɺ։ൃαΠΫϧશମͰ

    ඼࣭ҡ࣋
  36. ඼࣭ΤϯδχΞϦϯάͷ੒Ռ   9  9    

    ΑΓ଎͍ςετ࡞੒ ςετ࣮૷࣌ؒͷ࡟ݮ ΑΓ଎͍ςετ࣮ߦ ςετΧόϨοδ ճؼαΠΫϧͷ࡟ݮ
  37. ΞδϟΠϧ࣌୅ͷ ΞδϟΠϧ඼࣭Λࢧ͑Δ ඼࣭ΤϯδχΞϦϯά ͦͯ͠ɺ2"ͷऴΘΓͱ 2&ͷ͸͡·Γ ͜Ε͔Βͷ೥

  38. ࣗಈςετͷ ΧόϨοδ͕ ͞Βʹ֦େ 1IPUPCZУѐщяіУѕћэхфѝщцPO6OTQMBTI

  39. ୭͔Ұਓ͕શ෦2"ͳΜͯແཧ $POUJOVPVT5FTUJOHJO%FW0QTʜIUUQTEBOBTICZDPVLDPOUJOVPVTUFTUJOHJOEFWPQT

  40. ஫໨͞ΕΔΞΫηγϏϦςΟ ೥͔Β೥ʹ͔͚ͯͷσδ λϧΞΫηγϏϦςΟૌুͷ૿Ճ཰  6TFBCMF/FU`T.JE:FBS3FQPSU"%"%JHJUBM"DDFTTJCJMJUZ-BXTVJUT

  41. ςετʹର͢Δࢹ఺ͷมԽ ˔ ݕূɺ֬ೝ͕͍ۙ ˔ ࢓༷௨ΓͰ͋Δ͜ͱ ˔ ౰ͨΓલ඼࣭ ˔ ଥ౰ੑ͕͍ۙ ˔

    զʑ͕ఏڙ͍ͨ͠΋ͷͰ͋Δ ͔ʁ ˔ Ϣʔβ͕ٻΊ͍ͯΔ΋ͷͰ͋Δ ͔ʁ ˔ ັྗత඼࣭ 7FSJGJDBUJPOࢹ఺ʢࣗಈʣ 7BMJEBUJPOࢹ఺ʢखಈʣ
  42. σʔλͱΠϯαΠτ ͷ࣌୅΁ 1IPUPCZ.BSLVT4QJTLFPO6OTQMBTI

  43. None
  44. σʔλͱΠϯαΠτΛܦͯਓ͕ܾؒஅ ΠϯαΠτ ෼ੳ σʔλ ՄࢹԽ ΞΫγϣϯ ࣗಈԽɺ҆ఆԽɺϦϑΝΫ λϦϯάɺΧόϨοδΞο ϓɺςελϒϧԽ ҙࢥܾఆ

    ΠϯςϦδΣϯε
  45. ΞδϟΠϧ࣌୅ͷ ΞδϟΠϧ඼࣭Λࢧ͑Δ ඼࣭ΤϯδχΞϦϯά ͦͯ͠ɺ2"ͷऴΘΓͱ 2&ͷ͸͡·Γ ͜Ε͔Βͷ೥

  46. ΞδϟΠϧϦʔμʔγοϓͱ૊৫վֵIUUQTTQFBLFSEFDLDPNEBJQSFTFOUTC

  47. None
  48. None
  49. ΞδϟΠϧͰ໨ࢦͨ͠ࡔͷ্ͷӢ%FW-07&)BOHBS'MJHIU4OPX#BSSBHFIUUQTTQFBLFSEFDLDPNEBJQSFTFOUTB[JZBJSVEFNV[IJTJUBCBOGBMTFTIBOHGBMTFZVOOVNCFSEFWMPWFIBOHBSGMJHIUTOPXCBSSBHF TMJEF

  50. zνʔϜΛ༐ؾ͚ͮΔz ΞδϟΠϧϦʔμʔγοϓͱ૊৫վֵIUUQTTQFBLFSEFDLDPNEBJQSFTFOUTC

  51. ΞδϟΠϧ։ൃͱ ඼࣭ΤϯδχΞϦϯά NBCM*OD౻ݪେ "HJMF%FWFMPQNFOUBOE2VBMJUZ&OHJOFFSJOH %FWFMPQFST4VNNJU$ 2"࣌୅ͷऴΘΓͱ2&࣌୅ͷ͸͡·Γ

  52. ΞδϟΠϧςεςΟϯάͷ࣮ફ ։ൃνʔϜͷݪଇ ˔ ୹͍ΠςϨʔγϣϯ΍εϓϦϯτͰ඼࣭׆ಈ Λܧଓతʹߦ͏ ˔ ςετͱϨϏϡʔΛ൓෮͢ΔϓϩηεΛཱ֬ ͢Δ ˔ εϓϦϯτ͝ͱʹΞʔΩςΫνϟϨϏϡʔΛ

    ߦ͍ɺΠϯΫϦϝϯλϧɺΠςϨʔςΟϒʹ γεςϜΛਐԽͤ͞Δ ˔ ܧଓతͳϑΟʔυόοΫΛ௨ͯ͡ϓϩμΫτ Λݕূ͠ɺ͞Βʹଥ౰ੑ΋֬ೝ͢Δ ˔ มԽʹڧ͍νʔϜɺϓϩϑΣογϣφϧΛҭ ͯ஁͍͑ͯ͘ ։ൃνʔϜͷϓϥΫςΟε ˔ ΞδϟΠϧ։ൃ޲͚ςετશମܭըॻ ˔ ίʔυϨϏϡʔ ˔ ϦϑΝΫλϦϯάج४ͷఆٛ ˔ ৽͍͠ϝτϦΫε ˔ ৽͍͠όά؅ཧϓϩηε ˔ ୯ମςετ ˔ ୳ࡧςετ ˔ .VUBUJPOUFTUJOH ˔ ຊ൪ςετ ˔ ςετͷࣗಈԽ
  53. z͔ͬ͠Γͱͨ͠ςετͷ ϓϥΫςΟε͕͋Ε͹ɺ มԽ͸ڪΕΔʹ଍Βͳ͍z (PPHMFͷιϑτ΢ΣΞΤϯδχΞϦϯάʕʕ࣋ଓՄೳͳϓϩάϥϛϯάΛࢧ͑Δٕज़ɺจԽɺϓϩηεIUUQTXXXPSFJMMZDPKQCPPLT

  54. zςετ͸ίετͰ͸ͳ͘ ςετͰεϐʔυΛ্͛Δz ߴڮणҰॻ੶ҰཡᠳӭࣾIUUQTXXXTIPFJTIBDPKQCPPLBVUIPS σδλϧϋʔπ$540 $IJFG5FTUJOH4PMVUJPO0GGJDFS ࠷ߴςετιϦϡʔγϣϯ੹೚ऀ ߴڮणҰࢯ

  55. zεϐʔυͱ඼࣭͸ ཱ྆Ͱ͖Δz ʰϦʔϯ։ൃͷຊ࣭ʱϝΞϦʔτϜɾϙοϖϯσΟʔΫஶIUUQTXXXBNB[PODPKQEQ9

  56. มԽ͸΋͏ා͘ͳ͍ɻ ςετ͸εϐʔυͷͨΊͷ౤ࢿͱͳΔɻ εϐʔυͱ඼࣭͸ཱ྆Ͱ͖Δɻ

  57. զʑ͸ΑΓΞδϟΠϧʹͳΕΔɻ ະདྷ͸ࠓͩɻ

  58. ʰϦʔϯ։ൃͷຊ࣭ʱϝΞϦʔτϜɾϙοϖϯσΟʔΫஶ

  59. 5IBOLZPVWFSZNVDI ݄࣍΢ΣϏφʔ։࠵தʂ ʮ୳ࡧతςετʯʮςετࣗಈԽʯʮ࣍ੈ୅ 2"૊৫ʯͱ͍ͬͨςʔϚΛ΋ͱʹʮΞδϟ Πϧɾ%FW0QT࣌୅ͷςετ΍඼࣭อূʯΛ ໨ࢦ͢΢ΣϒφʔͰ͢ɻ ࠓޙ΋ɺ͞·͟·ͳτϐοΫ΍ɺͦͷಓͷϓ ϩϑΣογϣφϧʹ͝ొஃ͍ͨͩ͘༧ఆͰ ͢ɻ IUUQTNBCMKBQBODPOOQBTTDPN

    ࠓ͙͢Ͱ͖ΔिؒͷແྉτϥΠΞϧʂ τϥΠΞϧ͸ແྉɻೲಘߦ͘·ͰػೳΛ͓ࢼ͠ ͍ͩ͘͞ɻ σϞϦΫΤετ΋େ׻ܴʂ ٕज़τϨϯυ΍࣮ࣄྫΛ·͑ͨ͡σϞ.5(΋͓ ؾܰʹͲ͏ͧʂ IUUQTXXXNBCMDPNKBQBO