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

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

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/

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&࣌୅ͷ͸͡·Γ

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

  4. ΞδϟΠϧ։ൃ͸ʮ౰ͨΓલʯʹ
    ˔ )1ʹΑΔௐࠪͰ͸ɺ͕ϋΠϒϦο
    υɺˋ͕ΞδϟΠϧ։ൃ΁

    ˔ ,1.((MPCBM"HJMF4VSWFZͰ͸ɺࠓ
    ޙ೥ͰاۀϨϕϧͷΞδϟΠϧ։ൃ͕
    ഒҎ্૿͑Δͱ༧૝ʢ

    ˔ EJHJUBMBJͷௐࠪͰ͸͕ΞδϟΠϧ
    ։ൃΛ࠾༻ʢ

    "HJMFJTUIFOFXOPSNBMIUUQTTPGUXBSFUFTUJOHHFOJVTDPNEPDTBBQEG

    ,1.((MPCBM"HJMF4VSWFZIUUQTBTTFUTLQNHDPOUFOUEBNLQNHCFQEGBHJMFUSBOTGPSNBUJPOQEG

    UI4UBUFPG"HJMF3FQPSUIUUQTEJHJUBMBJSFTPVSDFDFOUFSBOBMZTUSFQPSUTTUBUFPGBHJMFSFQPSU

    View full-size slide

  5. ΞδϟΠϧ඼࣭͸ʮ౰ͨΓલʯ͔ʁ
    ˔ࠜڧ͍2"͕Ϙτϧωο
    Ϋ໰୊
    ˔εϓϦϯτޙ൒ͷෛ୲૿
    ˔εϓϦϯτ͕ऴΘΒͳ͍

    View full-size slide

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

    View full-size slide

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

    ςετࣗಈԽαʔϏε
    ˔ϊʔίʔυɾϩʔίʔυͰ

    ςετͷ࡞੒΍मਖ਼Մೳ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    Ͳ͏ͳΔʁ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  20. 1SFWJFX؀ڥͰ&&ςετ࣮ߦσϞ
    IUUQTHJUIVCDPNEBJQSFTFOUTUFTUBVUPNBUJPOTBOECPYQVMM
    ᶃ13࡞੒ ᶄࣗಈݕ஌
    ᶅ1SFWJFX؀ڥ
    ʹσϓϩΠ
    ᶆςετ
    ։࢝Λ௨஌
    ᶇ&&࣮ߦ
    ᶈ4MBDLʹ
    ݁ՌΛ௨஌
    ᶉ࣮ߦ݁ՌΛ
    13্ʹදࣔ
    ʢ(JU)VC$IFDLTʣ

    View full-size slide

  21. ΤσΟλ ΞϓϦը໘
    (JU)VC $JSDMF$* NBCM

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  25. ΧελϚʔΤΫεϖϦΤϯεʢ$9ʣ͸࠷ॏཁ
    ͷফඅऀ͕ߪങͷҙࢥܾఆΛ͢Δࡍ
    ʹ69Λॏཁࢹ͍ͯ͠Δ
    ͷফඅऀ͸ɺͨͬͨҰ౓ͷݏͳܦݧ
    Ͱͦͷϒϥϯυ͔Β཭ΕΔ

    ͷैۀһ͕ɺ࢖༻͍ͯ͠Διϑτ΢
    ΣΞ͕ݪҼͰɺ৬৔ʹෆຬΛ๊͍ͯ
    ͍Δ




    18$ &YQFSJFODFJTFWFSZUIJOH)FSFTIPXUPHFUJUSJHIU (4UBUFPG4PGUXBSF)BQQJOFTT3FQPSU

    View full-size slide

  26. ςετΧόϨοδ͕ॏཁͳࢦඪʹ
    4UBUFPG5FTUJOHJO%FW0QT#FODINBSL3FQPSU NBCM

    View full-size slide

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

    View full-size slide

  28. "1*౷߹͞ΕͨΤϯυπʔΤϯυͷςετ
    ˔ϊʔίʔυͰ"1*ςετ
    ˔ϨεϙϯεΛม਺ʹ֨ೲ౳ɺ
    "1*ΛγφϦΦܗࣜͰ࣮ߦՄ

    ˔1PTUNBO૒ํ޲࿈ܞ
    ˔ϚΠΫϩαʔϏε޲͚ͷ౷߹
    ςετͱͯ͠΋ར༻Մೳ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  32. 2"ͷऴΘΓͱɺ2&ͷ͸͡·Γ
    2"ʢ඼࣭อূʣ
    ΞϓϦέʔγϣϯͷ඼࣭อূ͕
    ։ൃϓϩηεͷϫϯεςοϓ΁
    ඼࣭ΤϯδχΞϦϯάʢ2&

    ΞϓϦέʔγϣϯͷ඼࣭ͱΧε
    λϚʔΤΫεϖϦΤϯεΛܧଓ
    తʹվળ͢ΔͨΊʹɺσʔλΛ
    ׆༻ͯ͠ɺ։ൃαΠΫϧશମͰ
    ඼࣭ҡ࣋

    View full-size slide

  33. ඼࣭ΤϯδχΞϦϯάͷ੒Ռ


    9

    9




    ΑΓ଎͍ςετ࡞੒
    ςετ࣮૷࣌ؒͷ࡟ݮ ΑΓ଎͍ςετ࣮ߦ
    ςετΧόϨοδ ճؼαΠΫϧͷ࡟ݮ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  37. ஫໨͞ΕΔΞΫηγϏϦςΟ
    ೥͔Β೥ʹ͔͚ͯͷσδ
    λϧΞΫηγϏϦςΟૌুͷ૿Ճ཰

    6TFBCMF/FU`T.JE:FBS3FQPSU"%"%JHJUBM"DDFTTJCJMJUZ-BXTVJUT

    View full-size slide

  38. ςετʹର͢Δࢹ఺ͷมԽ
    ˔ ݕূɺ֬ೝ͕͍ۙ
    ˔ ࢓༷௨ΓͰ͋Δ͜ͱ
    ˔ ౰ͨΓલ඼࣭
    ˔ ଥ౰ੑ͕͍ۙ
    ˔ զʑ͕ఏڙ͍ͨ͠΋ͷͰ͋Δ
    ͔ʁ
    ˔ Ϣʔβ͕ٻΊ͍ͯΔ΋ͷͰ͋Δ
    ͔ʁ
    ˔ ັྗత඼࣭
    7FSJGJDBUJPOࢹ఺ʢࣗಈʣ 7BMJEBUJPOࢹ఺ʢखಈʣ

    View full-size slide

  39. σʔλͱΠϯαΠτ
    ͷ࣌୅΁
    1IPUPCZ.BSLVT4QJTLFPO6OTQMBTI

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  46. ΞδϟΠϧςεςΟϯάͷ࣮ફ
    ։ൃνʔϜͷݪଇ
    ˔ ୹͍ΠςϨʔγϣϯ΍εϓϦϯτͰ඼࣭׆ಈ
    Λܧଓతʹߦ͏
    ˔ ςετͱϨϏϡʔΛ൓෮͢ΔϓϩηεΛཱ֬
    ͢Δ
    ˔ εϓϦϯτ͝ͱʹΞʔΩςΫνϟϨϏϡʔΛ
    ߦ͍ɺΠϯΫϦϝϯλϧɺΠςϨʔςΟϒʹ
    γεςϜΛਐԽͤ͞Δ
    ˔ ܧଓతͳϑΟʔυόοΫΛ௨ͯ͡ϓϩμΫτ
    Λݕূ͠ɺ͞Βʹଥ౰ੑ΋֬ೝ͢Δ
    ˔ มԽʹڧ͍νʔϜɺϓϩϑΣογϣφϧΛҭ
    ͯ஁͍͑ͯ͘
    ։ൃνʔϜͷϓϥΫςΟε
    ˔ ΞδϟΠϧ։ൃ޲͚ςετશମܭըॻ
    ˔ ίʔυϨϏϡʔ
    ˔ ϦϑΝΫλϦϯάج४ͷఆٛ
    ˔ ৽͍͠ϝτϦΫε
    ˔ ৽͍͠όά؅ཧϓϩηε
    ˔ ୯ମςετ
    ˔ ୳ࡧςετ
    ˔ .VUBUJPOUFTUJOH
    ˔ ຊ൪ςετ
    ˔ ςετͷࣗಈԽ

    View full-size slide

  47. z͔ͬ͠Γͱͨ͠ςετͷ
    ϓϥΫςΟε͕͋Ε͹ɺ
    มԽ͸ڪΕΔʹ଍Βͳ͍z
    (PPHMFͷιϑτ΢ΣΞΤϯδχΞϦϯάʕʕ࣋ଓՄೳͳϓϩάϥϛϯάΛࢧ͑Δٕज़ɺจԽɺϓϩηεIUUQTXXXPSFJMMZDPKQCPPLT

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  53. 5IBOLZPVWFSZNVDI
    ݄࣍΢ΣϏφʔ։࠵தʂ
    ʮ୳ࡧతςετʯʮςετࣗಈԽʯʮ࣍ੈ୅
    2"૊৫ʯͱ͍ͬͨςʔϚΛ΋ͱʹʮΞδϟ
    Πϧɾ%FW0QT࣌୅ͷςετ΍඼࣭อূʯΛ
    ໨ࢦ͢΢ΣϒφʔͰ͢ɻ
    ࠓޙ΋ɺ͞·͟·ͳτϐοΫ΍ɺͦͷಓͷϓ
    ϩϑΣογϣφϧʹ͝ొஃ͍ͨͩ͘༧ఆͰ
    ͢ɻ
    IUUQTNBCMKBQBODPOOQBTTDPN
    ࠓ͙͢Ͱ͖ΔिؒͷແྉτϥΠΞϧʂ
    τϥΠΞϧ͸ແྉɻೲಘߦ͘·ͰػೳΛ͓ࢼ͠
    ͍ͩ͘͞ɻ
    σϞϦΫΤετ΋େ׻ܴʂ
    ٕज़τϨϯυ΍࣮ࣄྫΛ·͑ͨ͡σϞ.5(΋͓
    ؾܰʹͲ͏ͧʂ
    IUUQTXXXNBCMDPNKBQBO

    View full-size slide