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

250220_OSC_Tokyo_LEADING-QUALITYから考えるソフトウェア品質とビ...

mkwrd
February 21, 2025

250220_OSC_Tokyo_LEADING-QUALITYから考えるソフトウェア品質とビジネス価値 /240220_OSC_Tokyo_Software_Quality_and_Business_Value_Based_on_LEADING_QUALITY

オープンソースカンファレンス2025Tokyo春で登壇した資料です。
書籍『LEADING QUALITY』をもとにソフトウェア品質とビジネス価値を考えます。
Written in Japanese

mkwrd

February 21, 2025
Tweet

More Decks by mkwrd

Other Decks in Programming

Transcript

  1. ʰLEADING QUALITYʱ͔Βߟ͑Δ ιϑτ΢ΣΞ඼࣭ͱϏδωεՁ஋ Masanori Kawarada, 2025-02-20, 45 min, OSC Tokyo

    @mkwrd ༏ΕͨϦʔμʔ͸ɺ͍͔ʹͯ͠ ߴ඼࣭ͷιϑτ΢ΣΞΛఏڙ͠ɺ੒௕ΛՃ଎ͤ͞Δ͔
  2. ࣗݾ঺հ @mkwrd ʻग़਎ͱ৬ྺ֓ཁʼ ਆಸ઒ݝਇ໺ࢢग़਎ɺ1988೥2݄15೔ੜ·Εɺਫළ࠲ɻ SESاۀͷ։ൃΤϯδχΞͱͯ͠ΩϟϦΞΛ࢝Ίͯ 2ࣾ໨ͰQAΤϯδχΞʹస৬ɻιϑτ΢ΣΞ඼࣭΍ 
 ΞδϟΠϧ։ൃͷܦݧΛੵΈɺ3ࣾ໨͔Βࣄۀձࣾ΁ɻ ຊۀ͸גࣜձࣾάϩʔϏεQAνʔϜγχΞΤϯδχΞɻ ຋༁ॻʹʰLEADING

    QUALITYʱʢ2023ʣͳͲ͕͋Δɻ ʻֶྺʼ •άϩʔϏεܦӦେֶӃʢ2022೥ʣमྃʢMBAʣ •໌࣏େֶ੓࣏ܦࡁֶ෦ʢ2011೥ʣଔۀ ʻࢿ֨ʼ •ISTQB-ALTM 
 ʢςετϚωʔδϟʔʣ •Scrum.org PSM-I 
 ʢεΫϥϜϚελʔʣ •TOEIC L&R Score 880 ʻझຯʼ •ςχε •ΫϧϚ •΢ΠεΩʔ Տݪా੓యʢMasanori KawaradaʣMark Ward
  3. @mkwrd ຊॻͷՁ஋ • ιϑτ΢ΣΞ඼࣭͸Ϗδωεͷ੒൱Λࠨӈ͢ΔܦӦ՝୊Ͱ͋Γɺ ςοΫͱϏδωεͷ֞ࠜΛ௒͑ͯऔΓ૊Ή΂͖ͱ׃ഁ • ʮ඼࣭ͷେ੾͞Λ͍͔ʹ૊৫ʹ޿Ίɺ඼࣭จԽΛৢ੒͢Δ͔ʯΛ 2೥൒ʹΘͨΓूΊͨࣄྫ΍ΠϯλϏϡʔΛݩʹղઆ • ٕज़ॻͱ͍͏ΑΓ΋ɺٕज़ྖҬʹޫΛ౰ͯͨϏδωεॻ

    ‣ ʮ໌֬ͳϏδϣϯ͕ͳͯ͘͸ɺͲΜͳઓུΛཱͯΑ͏ͱ΋ͷͷ໾ʹཱͨͳ͍ɻʯ ͜Ε·Ͱ೔ຊʹແ͔ͬͨλΠϓͷॻ੶Ͱ͢ ຋༁ऀ͕ͩ͜ΘͬͨϙΠϯτ • ຋༁͘͘͞ͳ͍ಡΈ΍͍͢จষ • ͔Ώ͍ͱ͜Ζʹख͕ಧ͘༁஫ • ͞ΒͳΔௐࠪɾݚڀʹ໾ཱͭ๛෋ͳࢀߟࢿྉʢ2 to 10ʣ
  4. @mkwrd ඼࣭ͱ͸Կ͔ɾɿ඼࣭Λఆٛͨ͠ͻͱͨͪ Philip B. Crosby, 1979 William E. Deming,1950 Gerald

    M. Weinberg,1994 James Martin, 1994 Joseph M. Juran, 1998 Robert L. Glass, 1998 Roger S. Pressman, 2005 ੴ઒֜ɾ1981 ङ໺ل໌ɾ1984 ൧௩ӻޭɾ2009 ISO 9000:2015 ISO/IEC 25000:2014 IEC 60300-1 Ed. 3.0:2014 JIS Z 8115:2019
  5. @mkwrd ඼࣭ͱ͸Կ͔ɾɿཧղ͠΍ͦ͢͏ͳ΍ͭ ඼࣭͸ɺ͋Δ࣌఺ͰɺͦΕ͕໰୊ͱͳΔ ୭͔ʹͱͬͯͷՁ஋Ͱ͋Δɻ Quality is value to some person,

    at some time, who matters. ϚΠέϧɾϘϧτϯ Michael Bolton * Revised the Words from Gerald Weinberg
  6. @mkwrd ඼࣭ͱ͸Կ͔ɾɿ4VCKFDUJWFͱ3FMBUJWF ඼࣭͸ओ؍తͳ΋ͷͰ͋Δɻ ͦͷ࣌఺ͰϓϩμΫτΛ࢖ͬ ͍ͯΔਓ͕ܾΊΔ΋ͷɻ Quality is subjective; it's determined

    by whoever is using the product at the time. ඼࣭͸૬ରతͳ΋ͷͰ͋Δɻ ࣌ؒͷܦաͱͱ΋ʹมԽ͢Δɻ Quality is relative; it changes over time.
  7. ඼࣭ͱ͸Կ͔ɾɿ1?2VBMJUZʢάϩʔϏεʣ Process Product ϓϩηε඼࣭ ϓϩμΫτ඼࣭ ඼࣭จԽ ඼࣭ઓུ ϐʔϓϧ඼࣭ • ਓࡐҭ੒ɾೳྗ։ൃ

    • νʔϜϏϧσΟϯά • ࠾༻ɾධՁ ͳͲ ޲্ࢪࡦ • ։ൃϓϩηεվળ • ໨తͷ໨ઢ߹Θͤ • ଞ෦ॺͱͷ࿈ܞ ͳͲ ޲্ࢪࡦ • ςετ • ސ٬ϑΟʔυόοΫ • UXվળ ͳͲ ޲্ࢪࡦ People Dev QA etc.
  8. @mkwrd ΅͘ͷ໰୊ҙࣝ ςετ ඼࣭޲্ࢪࡦ ςετ͸඼࣭޲্ࢪࡦͷத֩ʂ Ͱ͸ɺ඼࣭͕ߴ͍ͱ w ސ٬ʹͱͬͯ w Ϗδωεʹͱͬͯ

    ͳʹ͕͏Ε͍͠ͷ͔ʁ ඼࣭Λ্͛ΔͨΊͷ औΓ૊Έ͸ ςετҎ֎ʹ΋͋Δ ඼࣭ͱϏδωεͷ ໨ઢ߹Θͤ͸ Ͳ͏΍Δͷ͔ʁ
  9. @mkwrd ΰʔϧσϯɾαʔΫϧʢMarkվʣͰਂ۷ΓΛͯ͠Έ·͢ɻ Why How What How-to Λ௨ͯ͡ Λ։ൃɾൢചͯ͠ Λ࣮ݱͯ͠ ͓ۚΛṶ͚Δ͜ͱ

    .77ɾاۀཧ೦ͱ͍͏Ձ஋ج४ ސ٬ʹબ͹ΕΔϓϩμΫτ΍αʔϏε ͍Ζ͍Ζͳ΍ΓํɾϓϥΫςΟε ະདྷ΁ χʔζ
  10. ܦӦͱݱ৔ͷ໨ࢦ͢΋ͷͷဃ཭ @mkwrd ܦӦ ݱ৔ ࢦඪ ࢦඪ ࢦඪ ࢦඪ νʔϜ νʔϜ

    νʔϜ νʔϜ ࢦඪ νʔϜ શࣾ໨ඪ ෦໳໨ඪ ෦໳໨ඪ ܦӦ͸݁Ռϕʔε ݱ৔͸࡞ۀϕʔε ܦӦͱݱ৔ͷҧ͍͸ࢹ఺ͷஔ͖ํ
  11. @mkwrd ܦӦ ݱ৔ ࢦඪ ࢦඪ νʔϜ νʔϜ શࣾ໨ඪ ෦໳໨ඪ ڏӫͷධՁࢦඪʢWBOJUZNFUSJDTʣ

    ੒Ռʹͭͳ が ͍ͬͯΔΑ͏ʹײ じ ΒΕΔ が ɺ ߦಈʹͭͳ が Γʹ͘͘ɺ ビジ ωεͷ੒ޭͱ΋ ૬ؔ͠ͳ͍਺஋ ͨͱ͑͹ w ݕग़όά਺ w ࣗಈςετ࣮ߦ࣌ؒ w ొ࿥Ϣʔβʔ਺ ͳͲͳͲ ܦӦ͸݁Ռϕʔε ݱ৔͸࡞ۀϕʔε ˞ηʔϧενʔϜͳͲ ɹ༗ӹͳࢦඪΛൺֱత ɹग़͠΍͍͢νʔϜ΋͋Δ ܦӦͱݱ৔ͷ໨ࢦ͢΋ͷͷဃ཭ ͜ͷࢦඪ͸ʮ࢖͑Δʯ͔ʁ ͜ΕΒͷ਺஋͕ྑ͘ͳΔͱ Կ͕͏Ε͍͔͠ʁ🤔 ΤϦοΫɾϦʔεʰϦʔϯɾελʔτΞοϓʱΑΓ
  12. @mkwrd ܦӦ ݱ৔ ࢦඪ ࢦඪ νʔϜ νʔϜ શࣾ໨ඪ ෦໳໨ඪ ڏӫͷධՁࢦඪʢWBOJUZNFUSJDTʣ

    ੒Ռʹͭͳ が ͍ͬͯΔΑ͏ʹײ じ ΒΕΔ が ɺ ߦಈʹͭͳ が Γʹ͘͘ɺ ビジ ωεͷ੒ޭͱ΋ ૬ؔ͠ͳ͍਺஋ νʔϜ͕ॏࢹ͢Δࢦඪ͸ ڏӫͷධՁࢦඪͰ͸ͳ͘ Ϗδωεͷ੒௕Λଅ͢΋ͷͰ ͋Δ΂͖ ܦӦ͸݁Ռϕʔε ݱ৔͸࡞ۀϕʔε ܦӦͱݱ৔ͷ໨ࢦ͢΋ͷͷဃ཭ ဃ཭ΛຒΊ࢝ΊΔͷ͸ݱ৔ଆ͔Β
  13. اۀͷ੒௕ࢦඪͰ໨ઢΛἧ͑Δ @mkwrd 2,000௨Ҏ্ͷϝοηʔ ジ Λૹ৴ͨ͠ސ٬νʔϜ਺ νʔϜ νʔϜ νʔϜ νʔϜ νʔϜ

    ど ͏͢Ε ば ΑΓଟ͘ͷސ٬νʔϜʹϝοηʔ ジ Λ 2,000 ௨ ΍ΓͱΓͯ͠΋Β͑Δ だ Ζ͏? ͦΕΛ્Ή඼࣭໰୊͸ͳΜ だ Ζ͏? ϏδωενϟοτπʔϧͷελʔτΞοϓSlackࣾͷࣄྫ
  14. @mkwrd 1. Ξςϯγϣϯϕʔεʢ஫໨ϕʔεʣ ‣ Ϣʔ ザ ʔ がど Ε だ

    ͚ͷ࣌ؒΛඅ΍͔ͨ͠ 2. τϥϯβΫγϣϯϕʔεʢऔҾϕʔεʣ ‣औҾ͕ͲΕ͚ͩ੒ཱ͔ͨ͠ 3. ϓϩμΫςΟϏςΟʔϕʔεʢੜ࢈ੑϕʔεʣ ‣ Ϣʔ ザ ʔͷ׆ಈʹج づ ͍ͯఆΊΔࢦඪ Amplitudeࣾͷࣔͨ͠3छྨͷ੒௕ࢦඪ
  15. @mkwrd ஫໨͢ べ ͖ࢦඪ͸΄͔ʹ΋͋Γɺ্ه͸Ұྫʹ͢ ぎ ͳ͍ɻ੒௕ࢦඪͷ ゴ ʔϧ͸ɺ΄͔ͷ͢ べ ͯͷࢦ

    ඪΛஔ͖׵͑Δ͜ͱ で ͸ͳ͍ɻ ʢதུʣ༏Εͨ੒௕ࢦඪ が ͋Ε ば ɺ͋ͳͨͱ͋ͳ ͨͷνʔϜ が ຊ౰ʹॏཁͳ΋ͷʹूத͠ɺ·ͨͦ ΕΛվળ͢Δ͜ͱ で ΄͔ͷෆՄܽͳࢦඪʹྑ͍Ө ڹΛ༩͑ΒΕΔ だ Ζ͏ɻ ͳͥ੒௕ࢦඪΛ׆༻͢Δ͔ΛݟࣦΘͳ͍Α͏ʹ
  16. @mkwrd Ϗδωεͷ੒௕Λଅ͢࿩·Ͱಧ͍͍ͯͳ͍ʁ P^3 Quality [piː kjúːb] 
 ͷݴ༿ʴЋ ͞Βʹϝλͷ 


    ʮ඼࣭ʯΧςΰϦ͕ ͋ΔͷͰ͸ͳ͍͔ʁ 🤔 ϐʔϓϧ඼࣭ ϓϩηε඼࣭ ϓϩμΫτ඼࣭ αʔϏε඼࣭ ※ʴЋ͸Mark͕উखʹ૿΍ͨ͠΋ͷͰ͢
  17. @mkwrd 8IZ͔Β࢝ΊͯΈΔ P^3 Quality [piː kjúːb] 
 ͷݴ༿ʴЋ Whyʢͳͥʲཧ༝ɾ͋Γํʳʣ HowʢͲ͏ʲํ਑ɾ࿏ઢʳʣ

    WhatʢԿΛʲϓϩμΫτʳʣ How-toʢͲ͏΍ͬͯʲ΍Γํʳʣ Whoʢ୭͕ʲͻͱɾ૊৫ʳʣ ϐʔϓϧ඼࣭ ϓϩηε඼࣭ ϓϩμΫτ඼࣭ αʔϏε඼࣭ ΰʔϧσϯαʔΫϧͷݴ༿ʴЋ ※ʴЋ͸Mark͕উखʹ૿΍ͨ͠΋ͷͰ͢
  18. @mkwrd 8IZʹରԠ͢Δʮ඼࣭ʯ͸ͲΜͳ΋ͷ͔ʁɾ P^3 Quality [piː kjúːb] 
 ͷݴ༿ʴЋ Whyʢͳͥʲཧ༝ɾ͋Γํʳʣ HowʢͲ͏ʲํ਑ɾ࿏ઢʳʣ

    WhatʢԿΛʲϓϩμΫτʳʣ How-toʢͲ͏΍ͬͯʲ΍Γํʳʣ Whoʢ୭͕ʲͻͱɾ૊৫ʳʣ ϐʔϓϧ඼࣭ ϓϩηε඼࣭ ϓϩμΫτ඼࣭ αʔϏε඼࣭ Ϗδωε඼࣭ʁʁʁ ΰʔϧσϯαʔΫϧͷݴ༿ʴЋ ※ʴЋ͸Mark͕উखʹ૿΍ͨ͠΋ͷͰ͢
  19. @mkwrd 8IZʹରԠ͢Δʮ඼࣭ʯ͸ͲΜͳ΋ͷ͔ʁɾ P^3 Quality [piː kjúːb] 
 ͷݴ༿ʴЋ Whyʢͳͥʲཧ༝ɾ͋Γํʳʣ HowʢͲ͏ʲํ਑ɾ࿏ઢʳʣ

    WhatʢԿΛʲϓϩμΫτʳʣ How-toʢͲ͏΍ͬͯʲ΍Γํʳʣ Whoʢ୭͕ʲͻͱɾ૊৫ʳʣ ϐʔϓϧ඼࣭ ϓϩηε඼࣭ ϓϩμΫτ඼࣭ αʔϏε඼࣭ Ձ஋ ΰʔϧσϯαʔΫϧͷݴ༿ʴЋ ※ʴЋ͸Mark͕উखʹ૿΍ͨ͠΋ͷͰ͢
  20. @mkwrd 2VBMJUZJTWBMVFUPTPNFQFSTPO P^3 Quality [piː kjúːb] 
 ͷݴ༿ʴЋ Whyʢͳͥʲཧ༝ɾ͋Γํʳʣ HowʢͲ͏ʲํ਑ɾ࿏ઢʳʣ

    WhatʢԿΛʲϓϩμΫτʳʣ How-toʢͲ͏΍ͬͯʲ΍Γํʳʣ Whoʢ୭͕ʲͻͱɾ૊৫ʳʣ ϐʔϓϧ඼࣭ ϓϩηε඼࣭ ϓϩμΫτ඼࣭ αʔϏε඼࣭ Ձ஋ ΰʔϧσϯαʔΫϧͷݴ༿ʴЋ ※ʴЋ͸Mark͕উखʹ૿΍ͨ͠΋ͷͰ͢
  21. @mkwrd ౔୆ͳͯ͘͠Ո͸ݐͨͳ͍ɺॏཁͳͷ͸ʜʜ P^3 Quality [piː kjúːb] 
 ͷݴ༿ʴЋ Whyʢͳͥʲཧ༝ɾ͋Γํʳʣ HowʢͲ͏ʲํ਑ɾ࿏ઢʳʣ

    WhatʢԿΛʲϓϩμΫτʳʣ How-toʢͲ͏΍ͬͯʲ΍Γํʳʣ Whoʢ୭͕ʲͻͱɾ૊৫ʳʣ ϐʔϓϧ඼࣭ ϓϩηε඼࣭ ϓϩμΫτ඼࣭ αʔϏε඼࣭ Ձ஋ ඼࣭จԽ ΰʔϧσϯαʔΫϧͷݴ༿ʴЋ ※ʴЋ͸Mark͕উखʹ૿΍ͨ͠΋ͷͰ͢
  22. @mkwrd 1. ੹೚φϥςΟϒʢThe Ownership Narrativeʣ 2. ςετφϥςΟϒʢThe "How-to-test" Narrativeʣ 3.

    Ձ஋φϥςΟϒʢThe Value Narrativeʣ ߏ଄ͱφϥςΟϒ͔Βߟ͑Δ඼࣭จԽৢ੒
  23. ςετφϥςΟϒͱ͸…… •඼࣭อূͷιϦϡʔγϣϯͷͻͱͭ •ͭ·ΓHowͱͯ͠ͷςετͷ࿩ •ϓϩμΫτ։ൃʹܞΘΔͻͱͷଟ͕͘ɺɹɹɹɹ ඼࣭ͱ͍͑͹ςετͩͱߟ͍͑ͯΔ ςετ が اۀ׆ಈʹ͓͚Δॏཁ౓Λ૿͍ͯ͘͠ʹͭ Εͯɺ඼࣭ プ

    ϩϑΣογϣφϧʹٻΊΒΕΔ໾ׂ΍ ཁٻ͞ΕΔεΩϧ΋มΘ͖ͬͯͨɻ্खʹςετ が で ͖Δ だ ͚ で ͸΋͸΍े෼ で ͸ͳ͍ɻςετର৅ͷ ػೳ͔Βநग़ͨ͠ ビジ ωεʹ໾ཱͭಎ࡯Λཧ࿏੔વ ͱදݱ͠ɺෳ਺ͷνʔϜʹ·ͨ が ͬͨมԽΛओಋ͢ ΔೳྗΛൃش͢Δ͜ͱ が ٻΊΒΕ͍ͯΔɻ @mkwrd ʰLEADING QUALITYʱP.xiv ͚ΕͲ΋ʜʜ
  24. @mkwrd 1. ੹೚φϥςΟϒʢThe Ownership Narrativeʣ 2. ςετφϥςΟϒʢThe "How-to-test" Narrativeʣ 3.

    Ձ஋φϥςΟϒʢThe Value Narrativeʣ ߏ଄ͱφϥςΟϒ͔Βߟ͑Δ඼࣭จԽৢ੒
  25. ඼࣭จԽ ඼࣭จԽৢ੒ͷαΠΫϧ ૊৫จԽ ૊৫ઓུ ඼࣭ઓུ ੹೚φϥςΟϒ ςετφϥςΟϒ Ձ஋φϥςΟϒ ͲΜͳՁ஋Λ ΋ͨΒͨ͠Β

    ͏Ε͍͔͠ʁ ্ҐจԽͷ 
 มԽ͕Өڹ ͞ΒͳΔ ݕ౼ɾཱҊ ͓Αͼਪਐ ͞ΒͳΔ ݕ౼ɾཱҊ ͓Αͼਪਐ Ձ஋Λ΋ͨΒ͢ઓུΛ 
 ࣮ݱ͢ΔจԽ͸ʁ Ձ஋Λ΋ͨΒ͢ઓུΛ 
 ࣮ݱ͢ΔจԽ͸ʁ ઓུ࣮ݱʹ 
 ޲͚ͨจԽͷ 
 ৢ੒ ઓུ࣮ݱʹ 
 ޲͚ͨจԽͷ 
 ৢ੒ ͲΜͳՁ஋Λ ΋ͨΒ͢Α͏ ඼࣭ઓུΛඳ͔͘ʁ ΑΜͰͶˠ ྑ͍͜ͱ͚ͩࣔ͢ਤ͚ͩΕͲ 
 ઓུʹ൓ൃͯ͠จԽ͕ؤͳʹ 
 ಈ͔ͳ͍͜ͱ΋͋Δ͔΋Ͷɻ @mkwrd
  26. ඼࣭จԽΛਅ伨ʹೝࣝ͢Δ͜ͱ͔Β࢝ΊΑ͏ ૊৫จԽ ૊৫ઓུ ඼࣭ઓུ @mkwrd ඼࣭จԽ ੍໿৚݅ ۀք ༧ࢉ ૑ۀऀ

    ౤ࢿՈɾגओ εΩϧ ධՁ ظ଴ ૊৫ߏ଄ ͙͢ʹͲ͏ʹ͔Ͱ͖Δ΋ͷͰ͸ͳ͍ ૊৫ɾνʔϜͷʮ඼࣭จԽʯΛ඼࣭φϥςΟϒͰଊ͑ͯϦʔυ͢Δ ܦӦऀ ΑΜͰͶˠ
  27. ʰLEADING QUALITYʱ͔Βߟ͑Δ ιϑτ΢ΣΞ඼࣭ͱϏδωεՁ஋ Masanori Kawarada, 2025-02-20, 45 min, OSC Tokyo

    @mkwrd ༏ΕͨϦʔμʔ͸ɺ͍͔ʹͯ͠ ߴ඼࣭ͷιϑτ΢ΣΞΛఏڙ͠ɺ੒௕ΛՃ଎ͤ͞Δ͔