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

ビジネスとエンジニアリングの接合点 そしてコード品質がそこに及ぼす影響 v1.1 / The ...

mtx2s
April 04, 2024

ビジネスとエンジニアリングの接合点 そしてコード品質がそこに及ぼす影響 v1.1 / The Intersections of Business and Engineering, and The Impact of Code Quality There (v1.1)

2024-04-04 Findy コード品質が及ぼすビジネスへの影響
https://findy.connpass.com/event/313471/

mtx2s

April 04, 2024
Tweet

More Decks by mtx2s

Other Decks in Technology

Transcript

  1. ਤʹ͢Δͱɺ͜͏ͳΔ ݟੵΓ࡞੒ ϓϩδΣΫτ਱ߦ ܭը ܭըͮ͘Γऴྃ ݟੵΓ Ϗδωε λʔήοτ ܭըͮ͘Γ։࢝ ΤϯδχΞ

    Ϧϯά Ϗδωε ϓϩδΣΫτൃ଍ݕ౼ ҙࢥܾఆ ϓϩδΣΫτϓϥϯχϯά ϓϩδΣΫτίϯτϩʔϧ ܭըͲ͓Γ 0O5JNFBOE0O#VEHFU XJUIBTBUJTGBDUPSZSFTVMU 5. Ϗδωελʔήοτઃఆ ͕ܽؕଟ͍ ։ൃ͕࣌ؒ௕͍ ݟੵΓ͕೉͍͠ μϝʔδ μϝʔδ ઀߹఺ Ձ஋ͷఏڙ μϝʔδ Ձ஋ ઀߹఺ Ϗδωελʔήοτ ୡ੒ ڠಇͰͷՁ஋ͷ୳ࡧ
  2. ʮܭըʯͱ͸ɺϏδωεͱΤϯδχΞ྆ํͷҙݟ͕ௐ੔͞Εͨ݁Ռ ܭը ݟੵΓ Ϗδωε λʔήοτ ΤϯδχΞ Ϧϯά Ϗδωε ௐ੔ εέδϡʔϧʢ·ͨ͸ίετɺ޻਺ʣ

    ׬ྃ͢Δ֬཰  Ϗδωεʢࠨ΁ʣ ΤϯδχΞϦϯά 
 ʢ্΁ʣ Ϗδωε୲౰ ࣌ظΛ ૣΊ͍ͨ ΤϯδχΞ ֬཰Λ ߴΊ͍ͨ
  3. ϓϩδΣΫτ੒ޭͷධՁج४͸ʮܭըͲ͓Γʯ͚ͩͰ͸ͳ͘ʮՁ஋ͷఏڙʯ΋ؚΉ ೥൛Ҏ߱ͷ$)"04ϨϙʔτͷධՁج४͸ɺ࣌ؒ಺͔ͭ༧ࢉ಺ɺͦΕʹՁ஋ͷఏڙ BTBUJTGBDUPSZ SFTVMU 0O5JNF 0O#VEHFU ϓϩδΣΫτ͕ ߹ཧతͳݟੵΓ࣌ؒ಺ʹ ղܾ͞ΕΔ͜ͱ ϓϩδΣΫτ͕

    ߹ཧతͳݟੵΓ༧ࢉ಺ʹ ऩ·Δ͜ͱ ౰ॳͷείʔϓʹؔΘΒͣ ސ٬ͱϢʔβʔʹ ຬ଍Λ΋ͨΒͨ͠ ʢΞ΢τΧϜʣ ϓϩδΣΫτ੒ޭͷධՁج४ ܭըͲ͓Γ Ձ஋ͷఏڙ BOE XJUI ࢀߟจݙɿ $)"043&1035c4UBOEJTI(SPVQ IUUQTXXXTUBOEJTIHSPVQDPNTBNQMF@SFTFBSDI@ fi MFT$)"043FQPSU'JOBMQEG
  4. ͜͜·Ͱͷ·ͱΊ ݟੵΓ࡞੒ ϓϩδΣΫτ਱ߦ ܭը ܭըͮ͘Γऴྃ ݟੵΓ Ϗδωε λʔήοτ ܭըͮ͘Γ։࢝ ΤϯδχΞ

    Ϧϯά Ϗδωε ϓϩδΣΫτൃ଍ݕ౼ ҙࢥܾఆ ϓϩδΣΫτϓϥϯχϯά ϓϩδΣΫτίϯτϩʔϧ ܭըͲ͓Γ 0O5JNFBOE0O#VEHFU XJUIBTBUJTGBDUPSZSFTVMU 5. Ϗδωελʔήοτઃఆ ઀߹఺ Ձ஋ͷఏڙ Ձ஋ Ϗδωελʔήοτ ୡ੒ ڠಇͰͷՁ஋ͷ୳ࡧ ઀߹఺
  5. ίʔυ඼࣭͸ɺʮܭըͲ͓ΓʯͱʮՁ஋ͷఏڙʯͷ྆ํʹӨڹ͢Δ ݟੵΓ࡞੒ ϓϩδΣΫτ਱ߦ ܭը ܭըͮ͘Γऴྃ ݟੵΓ Ϗδωε λʔήοτ ܭըͮ͘Γ։࢝ ΤϯδχΞ

    Ϧϯά Ϗδωε ϓϩδΣΫτൃ଍ݕ౼ ҙࢥܾఆ ϓϩδΣΫτϓϥϯχϯά ϓϩδΣΫτίϯτϩʔϧ ܭըͲ͓Γ 0O5JNFBOE0O#VEHFU XJUIBTBUJTGBDUPSZSFTVMU 5. Ϗδωελʔήοτઃఆ ઀߹఺ Ձ஋ͷఏڙ Ձ஋ ઀߹఺ Ϗδωελʔήοτ ୡ੒ ڠಇͰͷՁ஋ͷ୳ࡧ ίʔυ඼࣭ Өڹ
  6. ϓϩδΣΫτ੒ޭʹର͢Δ્֐ཁҼͱͳΔ w ߴ඼࣭ͳίʔυʹൺ΂ɺ௿඼࣭ͳίʔυ͸ʜʜ w ϓϩδΣΫτ੒ޭʹٻΊΒΕΔཁૉ w ଥ౰ੑͷ͋ΔϓϩδΣΫτϓϥϯχϯά w ࢢ৔౤ೖ·Ͱͷ࣌ؒʢ5.ʣͷ୹ॖ w

    ޮՌతͳϓϩδΣΫτίϯτϩʔϧ ༧ଌͮ͠Β͍ ͕͔͔࣌ؒΔ ରԠʹ௥ΘΕΔ 32d32͸ɺԼهࢀߟจݙ಺ʮ3&46-54ʯʹ͓͚Δه߸ʹରԠ $PEF3FE5IF#VTJOFTT*NQBDUPG$PEF2VBMJUZr"2VBOUJUBUJWF4UVEZPG1SPQSJFUBSZ1SPEVDUJPO$PEFCBTFTc"EBN5PSOIJMM .BSLVT#PSH IUUQTBSYJWPSHBCT ͕ܽؕଟ͍ʢ32ʣ ݟੵΓ͕೉͍͠ʢ32ʣ ։ൃ͕࣌ؒ௕͍ʢ32ʣ
  7. ։ൃ࣌ؒͷݟੵΓ͕೉͘͠༧ଌՄೳੑ͕௿͍ͨΊɺܭըͷଥ౰ੑ͕ࣦΘΕΔ εέδϡʔϧʢ·ͨ͸޻਺ʣ ׬ྃ͢Δ֬཰    ൣғ͸ΑΓ޿͘ ߴ඼࣭ ௿඼࣭ ʢ༧ଌՄೳੑ͕௿͍ʣ

    ͨͱ͑͹ɺ׬ྃ೔Λ͔Βͷ֬཰Ͱग़͢ͱ͢Δ ௿඼࣭ͳίʔυ͕ଟ͍ϓϩδΣΫτ͸ɺߴ඼࣭ʹൺ΂༧ଌͷൣғ͕޿͘ͳΔ ܭըͷଥ౰ੑ͕Լ͕Δ
  8. ͕ܽؕଟ͍ͱɺܽؕमਖ਼΍ຊ൪τϥϒϧ΁ͷରԠʹ௥ΘΕɺܭը஗ԆΛҾ͖ى͜͢ ௨ৗ ܽؕͷଟ͍ ϓϩδΣΫτ ઃܭͱ࣮૷ ςετ ܽؕमਖ਼ ஗Ԇ ։ൃ։࢝ ࢢ৔౤ೖ༧ఆ೔

    ઃܭͱ࣮૷ ςετ ܽؕमਖ਼ ܽؕͷଟ͍ ϓϩδΣΫτ ʢ࣮ଶʣ ઃܭͱ࣮૷ ςετ ܽؕमਖ਼ ։ൃதʹׂΓࠐΉຊ൪τϥϒϧ΁ͷରԠ ։ൃ։࢝ ࢢ৔౤ೖ༧ఆ೔ ͞Βʹ ஗Ԇ Ҏલͷࢢ৔౤ೖ࣌ʹ ݟಀ͕ͨܽؕ͠ τϥϒϧΛى͜͢ ܭըͱͷဃ཭ ܭըͱͷဃ཭
  9. ։ൃ͕࣌ؒ௕͍ͱɺ༧ఆ೔·Ͱʹظ଴͢ΔϨϕϧͷՁ஋ʹ౸ୡͰ͖ͳ͍ ࣌ؒ ։࢝ ϓϩμΫτͷՁ஋ ظ଴͢ΔՁ஋ ׬ྃ༧ఆ೔ ճΊ ճΊ ճΊ ճΊ

    ճΊ ճΊ ճΊ ճΊ ظ଴͢ΔՁ஋ ͱͷΪϟοϓ ୹͍ ௕͍ ΞΠσΞͷ෼ͷ͸Ձ஋͕ͳ͍ɺ͋Δ͍͸ٯʹՁ஋ΛଛͳΘͤΔ 0OMJOF&YQFSJNFOUBUJPOBU.JDSPTPGUc3POOZ,PIBWJ 5IPNBT$SPPLଞ IUUQTBJTUBOGPSEFEVdSPOOZL&Y15IJOL8FFL1VCMJDQEG ࣮ݧʢࢢ৔౤ೖ΍ސ٬΁ͷϨϏϡʔͳͲʣ͝ͱͷϓϩμΫτͷՁ஋ͷมಈΠϝʔδ ظ଴͢ΔՁ஋ʹ౸ୡ͢ΔͨΊʹɺԿ౓΋࣮ݧΛ܁Γฦ͢ඞཁ͕͋Δ ࣮ݧճͷϓϩδΣΫτ ࣮ݧճͷϓϩδΣΫτ
  10. ͭͷӨڹΛਤʹ͢Δͱɺ͜͏ͳΔ ݟੵΓ࡞੒ ϓϩδΣΫτ਱ߦ ܭը ܭըͮ͘Γऴྃ ݟੵΓ Ϗδωε λʔήοτ ܭըͮ͘Γ։࢝ ΤϯδχΞ

    Ϧϯά Ϗδωε ϓϩδΣΫτൃ଍ݕ౼ ҙࢥܾఆ ϓϩδΣΫτϓϥϯχϯά ϓϩδΣΫτίϯτϩʔϧ ܭըͲ͓Γ 0O5JNFBOE0O#VEHFU XJUIBTBUJTGBDUPSZSFTVMU 5. Ϗδωελʔήοτઃఆ ͕ܽؕଟ͍ ։ൃ͕࣌ؒ௕͍ ݟੵΓ͕೉͍͠ μϝʔδ μϝʔδ ઀߹఺ Ձ஋ͷఏڙ μϝʔδ Ձ஋ ઀߹఺ Ϗδωελʔήοτ ୡ੒ ڠಇͰͷՁ஋ͷ୳ࡧ
  11. ·ͱΊΔͱ w ߴ඼࣭ͳίʔυʹൺ΂ɺ௿඼࣭ͳίʔυ͸ʜʜ w ϓϩδΣΫτ੒ޭʹٻΊΒΕΔཁૉ w ଥ౰ੑͷ͋ΔϓϩδΣΫτϓϥϯχϯά w ࢢ৔౤ೖ·Ͱͷ࣌ؒʢ5.ʣͷ୹ॖ w

    ޮՌతͳϓϩδΣΫτίϯτϩʔϧ ༧ଌͮ͠Β͍ ͕͔͔࣌ؒΔ ରԠʹ௥ΘΕΔ ʮܭըͲ͓Γʯʹɺظ଴͢ΔϨϕϧͷʮՁ஋ͷఏڙʯ͕ਐ·ͳ͍ 0O5JNF BOE0O#VEHFU XJUIBTBUJTGBDUPSZSFTVMU 32d32͸ɺԼهࢀߟจݙ಺ʮ3&46-54ʯʹ͓͚Δه߸ʹରԠ $PEF3FE5IF#VTJOFTT*NQBDUPG$PEF2VBMJUZr"2VBOUJUBUJWF4UVEZPG1SPQSJFUBSZ1SPEVDUJPO$PEFCBTFTc"EBN5PSOIJMM .BSLVT#PSH IUUQTBSYJWPSHBCT ͕ܽؕଟ͍ʢ32ʣ ݟੵΓ͕೉͍͠ʢ32ʣ ։ൃ͕࣌ؒ௕͍ʢ32ʣ
  12. Ձ஋ ͭͷ઀߹఺ΛڬΜͰɺϏδωεͱΤϯδχΞ͕ରཱΛ࢝ΊΔ ܭը ݟੵΓ Ϗδωε λʔήοτ ΤϯδχΞ Ϧϯά Ϗδωε ରཱʹΑΔۓுؔ܎

    Ϗδωε୲౰ ࣌ظΛ ૣΊ͍ͨ ΤϯδχΞ ֬཰Λ ߴΊ͍ͨ ͕ܽؕଟ͍ ݟੵΓ͕೉͍͠ ։ൃ͕࣌ؒ௕͍ ݟੵΓʹ࣌ؒΛ͔͚Δ େ͖ͳݟੵΓόοϑΝΛऔΔ 5.͕ΑΓѱԽ ৴པؔ܎่͕ΕΔ ԿͰͦΜͳʹ ͕͔͔࣌ؒΔʁʂ ෆຬ Өڹൣғͷ ߟྀ࿙Ε ϓϨογϟʔ ΋ͬͱ ΋ͬͱ ઀߹఺ ઀߹఺
  13. վળ͕ਐ·ͳ͍Α͋͘Δཧ༝ w ਖ਼ࣜʹվળఏҊ͍ͯ͠ͳ͍ w ٕज़ࢹ఺Ͱ͔͠࿩͍ͯ͠ͳ͍ w ৘ใͷඇରশੑΛߟྀ͍ͯ͠ͳ͍ w Ϗδωε໨ඪ΁ͷߟྀ͕͚͍ܽͯΔ w

    ܭըԽ͍ͯ͠ͳ͍ w ΍Γ੾Δࣗ৴Λ͍࣋ͬͯͳ͍ w ৴པؔ܎͕ங͚͍ͯͳ͍ Ϗδωε୲౰ ΤϯδχΞ w վળఏҊʁ۪ஒ͸ฉ͍ͨ͜ͱ͋Δ͚Ͳʁ w ࿩ΛཧղͰ͖ͳ͍ w ຊ౰ʹͰ͖Δͷʁ্ख͍͘͘ͷʁ w ٕज़՝୊ͷղܾʹฉ͑͜Δ w ࠓظͷ໨ඪ͸Ͳ͏͢Δͷʁ w ͜ΕͰ͸ҙࢥܾఆͰ͖ͳ͍
  14. վળ͕ਐ·ͳ͍ஈ֊ͷཧ༝ ڞ௨ͷ໰୊͕ଘࡏ͢Δ͜ͱʹཧղΛಘ͍ͯͳ͍ ղܾࡦͷํ޲ੑʹಉҙΛಘ͍ͯͳ͍ ղܾࡦͷ۩ମҊͷ༗ޮੑΛઆ໌Ͱ͖͍ͯͳ͍ ࣮ࢪʹΑΔѱӨڹ΁ͷߟྀ͕͚͍ܽͯΔ ߟ͑ಘΔ༷ʑͳোนΛӽ͑ΒΕΔ͜ͱΛ͍ࣔͤͯͳ͍ ࣮ࢪ͢Δ͜ͱ΁ͷϦεΫςΠΫʹಉҙΛಘ͍ͯͳ͍ w ਖ਼ࣜʹվળఏҊ͍ͯ͠ͳ͍ w

    ٕज़ࢹ఺Ͱ͔͠࿩͍ͯ͠ͳ͍ w ৘ใͷඇରশੑΛߟྀ͍ͯ͠ͳ͍ w Ϗδωε໨ඪ΁ͷߟྀ͕͚͍ܽͯΔ w ܭըԽ͍ͯ͠ͳ͍ w ΍Γ੾Δࣗ৴Λ͍࣋ͬͯͳ͍ w ৴པؔ܎͕ங͚͍ͯͳ͍ Ϗδωε୲౰ ΤϯδχΞ ˞d͸ɺ੍໿৚݅ͷཧ࿦ʢ5IFPSZPG$POTUSBJOUT 50$ʣͷʮ఍߅ͷஈ֊ʯΛࢀߟʹهࡌ w վળఏҊʁ۪ஒ͸ฉ͍ͨ͜ͱ͋Δ͚Ͳʁ w ࿩ΛཧղͰ͖ͳ͍ w ຊ౰ʹͰ͖Δͷʁ্ख͍͘͘ͷʁ w ٕज़՝୊ͷղܾʹฉ͑͜Δ w ࠓظͷ໨ඪ͸Ͳ͏͢Δͷʁ w ͜ΕͰ͸ҙࢥܾఆͰ͖ͳ͍
  15. ԿΛͲ͏վળ͍ͨ͠ͷ͔ʁʢલϖʔδͷ͔Βʣ ʢ"T*TʣݟੵΓ͕೉͍͠ ʢ"T*Tʣ͕ܽؕଟ͍ ʢ"T*Tʣ։ൃ͕࣌ؒ௕͍ ʢ5P#FʣݟੵΓਫ਼౓ΛߴΊͯଥ౰ੑͷ͋Δܭը΁ ʢ5P#Fʣख໭Γ΍ຊ൪τϥϒϧΛݮΒͯ͠ߴ඼࣭Ͱ஗Ԇͷͳ͍ঢ়ଶ΁ ʢ5P#FʣσϓϩΠස౓ΛߴΊͯߴ଎ͳ࣮ݧαΠΫϧʹΑΔՁ஋ఏڙΛ w ʢ"T*TʣݟੵΓਫ਼౓ʢ༧࣮ࠩҟʣ w

    ʢ"T*TʣόοϑΝ཰ w ʢ"T*TʣςετͰͷख໭Γ཰ʢਖ਼֬ੑ$"ʣ w ʢ"T*Tʣຊ൪Ͱͷτϥϒϧൃੜස౓ʢ$'3ʣ 
 ˞ಛʹຊ൪ͰͷʮӨڹൣғͷߟྀ࿙Εʯͷൃੜස౓ w ʢ"T*TʣσϓϩΠස౓ w ʢ"T*TʣςετΧόϨοδ w ʢ"T*Tʣ։ൃɾอक޻਺ൺ཰ ݱঢ়ͷ໰୊Λ࠷΋ද͍ͯ͠Δࣄ৅ͱࢦඪΛબ୒͠ɺͦͷݱঢ়ʢ"T*Tʣͱ͋Γ͍ͨঢ়ଶʢ5P#FʣΛࣔ͢ ͦͷΪϟοϓΛ՝୊ͱͯ͠ղܾࡦΛ࿩͠߹͏ ྫɿ ྫɿ ྫɿ w ʢ5P#FʣݟੵΓਫ਼౓ʢ༧࣮ࠩҟʣ w ʢ5P#FʣόοϑΝ཰ w ʢ5P#FʣςετͰͷख໭Γ཰ʢਖ਼֬ੑ$"ʣ w ʢ5P#Fʣຊ൪Ͱͷτϥϒϧൃੜස౓ʢ$'3ʣ w ʢ5P#FʣσϓϩΠස౓ w ʢ5P#FʣςετΧόϨοδ w ʢ5P#Fʣ։ൃɾอक޻਺ൺ཰ ˞Ϗδωε΁ͷӨڹʹج͍ͮͯ ˞ٕज़໘ ίʔυ඼࣭͸ɺʮ໨తʯͰ͸ͳ͘ɺԿΒ͔ͷ໰୊ʹର͠ɺͦͷঢ়گΛʮઆ໌ʯ͢Δ΋ͷͰ͋Δ఺ʹ஫ҙ
  16. ͕ܽؕଟ͍ʢ32ʣ ݟੵΓ͕೉͍͠ʢ32ʣ ։ൃ͕࣌ؒ௕͍ʢ32ʣ શମͷ·ͱΊ w ϓϩδΣΫτ੒ޭͷධՁج४ w ࣌ؒͱ༧ࢉ͕ܭըͲ͓ΓͰ͋Δ͜ͱ w ౰ॳͷείʔϓʹؔΘΒͣސ٬΍ϢʔβʔʹՁ஋Λఏڙ͢Δ͜ͱ

    ʮܭըͲ͓Γʯʹɺظ଴͢ΔϨϕϧͷʮՁ஋ͷఏڙʯ͕ਐ·ͳ͚Ε͹ɺϏδωεʹѱӨڹΛ༩͑Δ 0O5JNF BOE0O#VEHFU XJUIBTBUJTGBDUPSZSFTVMU w ߴ඼࣭ͳίʔυʹൺ΂ɺ௿඼࣭ͳίʔυ͸ʜʜ w ϓϩδΣΫτ੒ޭʹٻΊΒΕΔཁૉ w ଥ౰ੑͷ͋ΔϓϩδΣΫτϓϥϯχϯά w ࢢ৔౤ೖ·Ͱͷ࣌ؒʢ5.ʣͷ୹ॖ w ޮՌతͳϓϩδΣΫτίϯτϩʔϧ ༧ଌͮ͠Β͍ ͕͔͔࣌ؒΔ ରԠʹ௥ΘΕΔ 32d32͸ɺԼهࢀߟจݙ಺ʮ3&46-54ʯʹ͓͚Δه߸ʹରԠ $PEF3FE5IF#VTJOFTT*NQBDUPG$PEF2VBMJUZr"2VBOUJUBUJWF4UVEZPG1SPQSJFUBSZ1SPEVDUJPO$PEFCBTFTc"EBN5PSOIJMM .BSLVT#PSH IUUQTBSYJWPSHBCT ϏδωεͱΤϯδχΞϦϯάͷ઀߹఺͸ɺʮܭըʢͮ͘ΓʣʯͱʮՁ஋ʢͷݕূʣʯͰ͋Δ
  17. Ձ஋ ਤʹ͢Δͱɺ͜͏ͳΔ ݟੵΓ࡞੒ ϓϩδΣΫτ਱ߦ ܭը ܭըͮ͘Γऴྃ ݟੵΓ Ϗδωε λʔήοτ ܭըͮ͘Γ։࢝

    ΤϯδχΞ Ϧϯά Ϗδωε ϓϩδΣΫτൃ଍ݕ౼ ҙࢥܾఆ ϓϩδΣΫτϓϥϯχϯά ϓϩδΣΫτίϯτϩʔϧ ܭըͲ͓Γ 0O5JNFBOE0O#VEHFU XJUIBTBUJTGBDUPSZSFTVMU 5. Ϗδωελʔήοτઃఆ ͕ܽؕଟ͍ ։ൃ͕࣌ؒ௕͍ ݟੵΓ͕೉͍͠ μϝʔδ μϝʔδ Ձ஋ͷఏڙ μϝʔδ ઀߹఺ Ϗδωελʔήοτ ୡ੒ ڠಇͰͷՁ஋ͷ୳ࡧ ઀߹఺