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

Formula of Software Estimation

Koichi ITO
September 18, 2021

Formula of Software Estimation

Koichi ITO

September 18, 2021
Tweet

More Decks by Koichi ITO

Other Decks in Programming

Transcript

  1. @koic • OSS Programmer • Agile software development practitioner •

    Engineering Manager and Distinguished Engineer of ESM, Inc.
  2. 4QFBLFSTGSPN&4. *OD w !IJSBOBCF w !IBSV w !GLJOP w !DPMPS@CPY

    w !KVOL w !LPJD w !LBTVNJQPO w !PLBKJNB@ZVLJP
  3. w ۜͷ஄ؙ͸ଘࡏ͠ͳ͍͕ɺۚͷ஄ؙ͸͋Δ w ϓϩδΣΫτ੒ޭͷ伴͸༧ࢉͱεέδϡʔϧ ͷ४උ ෍ੴॏཁ  w ͭ·Γ͓ۚͷ࿩💰💰💰 w

    ༧ࢉऔΓʹ͍ͭͯ͸ɺ͔͠Δ΂͖ਓʹؤுͬ ͯ΋Β͍·͠ΐ͏ɺ͋Δ͍͸ؤுΓ·͠ΐ͏ ࠓ೔࿩͞ͳ͍͜ͱ
  4. ݟੵ΋Γ ਅ࣮ɿϓϩδΣΫτ͕େࣦഊ͢ΔݪҼʹ͸ೋͭ͋ΔɻҰͭ͸ݟੵ΋ ɹɹɹɹΓϛεͩʢ΋͏Ұͭ͸1ͷਅ࣮Λࢀরʣ ਅ࣮ɿιϑτ΢ΤΞ։ൃͷݟੵ΋Γ͸ɺϓϩδΣΫτͷ։ൃ࣌ʹ ɹɹɹɹ࣮ࢪ͢Δ৔߹͕ඇৗʹଟ͍ɻ͜Εͩͱɺཁٻఆ͕ٛݻ·Δ ɹɹɹɹલʹݟੵ΋Δ͜ͱʹͳΓɺͲΜͳ໰୊͕Ͳ͜ʹ͋Δ͔Λ ɹɹɹɹཧղ͢ΔҎલʹ༧ଌ͢ΔͷͰɺҙຯ͕ͳ͍ɻैͬͯɺ ɹɹɹɹݟੵ΋Γ࣌ظͱͯ͠ద੾Ͱ͸ͳ͍ɻ ਅ࣮ɿݟੵ΋Γ͸ɺ্૚෦͔ϚʔέςΟϯά͕࣮ࢪ͢Δ৔߹͕΄ͱ ɹɹɹɹΜͲͩɻ࣮ࡍʹϓϩάϥϜΛ։ൃͨ͠Γɺ։ൃϓϩδΣΫτ

    ɹɹɹɹͷ௚઀ͷϚωδϟ͕ݟੵ΋Δ͜ͱ͸ͳ͍ɻ݁ہɺద੾ͳਓ͕ ɹɹɹɹݟੵ΋͍ͬͯͳ͍ͷͩɻ ਅ࣮ɿϓϩδΣΫτ͕ਐΉʹैͬͯɺݟੵ΋ΓΛௐ੔͢Δ͜ͱ͸ɺ ɹɹɹɹ·ͣͳ͍ɻैͬͯɺෆద੾ͳ࣌ظʹෆద੾ͳਓ͕࣮ؒࢪͨ͠ ɹɹɹɹݟੵ΋ΓΛ͕मਖ਼͢Δ͜ͱ͸ɺ΄ͱΜͲͳ͍ɻ ద੾ͳਓ͕ؒݟੵΓΛߦ͍ଓ͚Α͏ ιϑτ΢ΣΞ։ൃͷਅ࣮ͱͷ΢ι ϩόʔτɾ-ɾάϥε
  5. w ཁ݅ ϢʔβʔετʔϦʔ ΛϦετΞοϓ͠ Α͏ w ϦετΞοϓ࣌఺Ͱ࣮ݱͷن໛ײ ϙΠϯτ ͸͍͍ͭͯͳͯ͘ྑ͍ w

    ࢲ͕ؔΘͬͨϓϩδΣΫτͰ͸πʔϧͱͯ͠ 1JWPUBM5SBDLFS͕࢖ΘΕΔ͜ͱ͕ଟ͍ ݟੵΓͷ͸͡·Γ
  6. w ཁ݅ΛͲ͏ղܾ͢Δ͔࿩͠߹͏ͨΊɺ։ൃʹؔ ΘΓͦ͏ͳʙਓͰݟੵΓ ઃܭ Λߦ͏   w ن໛ײͷ஋͕ճͰ߹Θͳ͍ͷ͸໰୊Ͱ͸ͳ͘ ҟͳΔࢹ఺͔ΒͷϦεΫநग़ͷର࿩ͷػձ

    ݟੵΓͱ͍͏ ࣄલ ઃܭߦҝ ΦϯϥΠϯ࣌୅ʹೖͬͨޙ͸ ϏσΦձٞͰٞ࿦ΛਐΊΔத ʮͤʔͷʯͷ੠Ͱνϟοτཝ΁ ਺ࣈೖྗ͢Δӡ༻Λ͍ͯ͠Δ
  7. w ن໛ײΛද͢ϙΠϯτͰѻΘΕΔϙϐϡϥʔͳ ηοτ͸     ͷϑΟϘφον਺ྻ w ܦݧ্ɺϙΠϯτҎ্͸खʹ༨ΔͷͰ࡞ۀ

    ෼ղ͕଍Γ͍ͯͳ͍͔֬ೝͯ͠ΈΑ͏ w Λઃ͚ΔͷͰ͸ͳ͘ɺͱͷͲͪΒʹ͍͔ۙ Λ࿩͠߹͓͏ ϑΟϘφον਺ྻʹΑΔن໛ײ
  8. w ղܾ ઃܭ࣮૷ ํ๏͸ଟ༷͕ͩɺͲ͏͍ͬͨΞϓϩʔν Ͱ࡞Δ͔ΒͲΕ͚͕͔͔ͩ࣌ؒΔ w ϝιουͷ࠷ऴతͳ໋໊ͳͲৄࡉ͸ஔ͍͓͕ͯ͘ɺσʔλ ϕʔεɺΫϥεઃܭ͸ݟੵΓ͕ऴΘͬͨ࣌఺Ͱ͞Ε͍ͯΔ w ͦͷνέοτணख·Ͱ͕͔͔࣌ؒΓͦ͏Ͱ

    ๨Εͯ͠·͍ͦ ͏Ͱ ͋Ε͹ɺͲΜͳઃܭΛͯͦ͠ͷϙΠϯτʹͳ͔ͬͨɺ ඞཁʹԠͯ͡νέοτʹه͓ͯ͘͠ͱྑ͍ w ྫͳͥɺϙϦϞʔϑΟοΫؔ࿈Λ࠾୒͢Δͷ͔ٞ࿦·ͱΊ Ͳ͜·Ͱ ݟੵΓͷͨΊ ઃܭ͢Δʁ
  9. w ਐḿͷਆ࿩ งғؾͷ஋ͰΤΫηϧʹ্ॻ͖ʂ  w ࡞ۀதͷঢ়ଶ͸ਐḿOύʔηϯτͰ͸ͳ͘ɺऴΘͬͯ ͍ͳ͍ʹৼΓ੾Δ θϩαϜͷΤΫετϦʔϜ  w

    งғؾతʹਐḿྑͦ͞͏͕ͩͬͨɺܭଌͯ͠ݟͨΒ ҰिؒͰϙΠϯτ͔͠ਐΜͰͳ͍ͳΒɺͦΕ͕ݱ࣮ w Կ͕໰୊ͳͷ͔Λૣظʹ࿩͠߹͏ݺͼਫΛ࡞Δ FHϨϏϡʔ͕଺ཹͯ͠׬ྃ·Ͱਐ·ͳ͍ ݟੵͬͨΒθϩαϜͰτϥοΩϯά͢Δ
  10. pr1 > git checkout main > git pull —rebase origin

    main > git branch -b main_of_feature > git push origin main_of_feature > git branch -b pr1 > git push origin pr1 ن໛ײΛϒϥϯνઓུͰද͢ͱ trunk_of_feature pr2 main(release) ✦ த௕ظ෼͔ΕΔதؒ૚ͷϒϥϯνѼʹ։ൃ͢Δ ௚઀NBJOʹೖΒͳ͍
  11. ि࣍ͰͷτϥοΩϯάྫ ͱ͋ΔΞδϟΠϧϓϩδΣΫτ ೔ͷه࿥ !DPMPSCPY 04/09: 10/ 86 pt 04/16: 16/

    94 pt 04/23: 27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt
  12. Ұݸྲྀ͠ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt w ׬ྃͷఆٛΛ͢ΔɻFH ʮडೖࢼݧ͕ऴΘ͍ͬͯΔʯ w ཁ݅ͷ࣮ݱ͕ʮऴΘͬͯΔ͔ʯ ʮऴΘ͍ͬͯͳ͍͔ʯͷ஋ w ʮҰݸྲྀ͠ʯΛෳ਺ϝϯόʔͰ ฒྻͰྲྀͨ݁͠ՌΛ଍͢
  13. Ұݸྲྀ͠ͷྦྷܭ  04/09: 10/ 86 pt 04/16: 16/ 94 pt

    04/23: 27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt w QU QU QU QU  QU QUͷ͕ͭऴΘΓ QU
  14. Ұݸྲྀ͠ͷྦྷܭ  04/09: 10/ 86 pt 04/16: 16/ 94 pt

    04/23: 27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt w QU QU QU QU  QU QUͷ͕ͭऴΘΓ QU w QU QU QU QUͷ ͕ͭऴΘΓɺ͞ΒʹQU
  15. Ҏ߱ͷཁྖ͸Θ͔Γ·͢Ͷʁ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt w ׂѪ
  16. ΋͏Ұͭͷ଍͠ࢉ ෼฼ 04/09: 10/ 86 pt 04/16: 16/ 94 pt

    04/23: 27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt w ෼฼΋૿͍͑ͯΔ఺ʹ͓ؾ͖ͮͰ ͢ΑͶʁ w ࣄલʹચ͍ग़͠੾ΕΔͱݴ͑Δʁ w ͋Δఔ౓ͷେৎ෉ͦ͏Ͱελʔτ ͨ͠ޙɺखΛಈ͔͔ͤͨΒ෼͔ͬ ͨ͜ͱɺ৽ͨʹൃੜͨ͠ඞਢཁ݅ ΍ݟམͱ͠෼Λ଍͠ࠐΜͰ͍Δ
  17. ϙΠϯτΛ࢖ͬͨࠓޙͷݟཱͯ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt
  18. ϙΠϯτΛ࢖ͬͨࠓޙͷݟཱͯ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt w աڈि (8আ͘ ͰQUऴΘͬͨ QUQU౗ͤΔ w ࢒Γ૯QU͸QUQUQU w QUΛ࢒ΓिͰऴΘΔඞཁ͕͋Δ w QUQU౗ͤΕ͹ऴΘΔ w QUͳͷͰे෼ऴΘΓͦ͏ ʰ࣮ફ6.-ʱʹ΋͋Δ Α͏ٳՋ͸Քಇ೔͔Β ֎͓͖ͯ͠·͠ΐ͏
  19. ϙΠϯτΛ࢖ͬͨࠓޙͷݟཱͯ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt w աڈि (8আ͘ ͰQUऴΘͬͨ QUQU౗ͤΔ w ࢒Γ૯QU͸QUQUQU w QUΛ࢒ΓिͰऴΘΔඞཁ͕͋Δ w QUQU౗ͤΕ͹ऴΘΔ w QUͳͷͰे෼ऴΘΓͦ͏
  20. ϙΠϯτΛ࢖ͬͨࠓޙͷݟཱͯ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt w աڈि (8আ͘ ͰQUऴΘͬͨ QUQU౗ͤΔ w ࢒Γ૯QU͸QUQUQU w QUΛ࢒ΓिͰऴΘΔඞཁ͕͋Δ w QUQU౗ͤΕ͹ऴΘΔ w QUͳͷͰे෼ऴΘΓͦ͏
  21. ϙΠϯτΛ࢖ͬͨࠓޙͷݟཱͯ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt w աڈि (8আ͘ ͰQUऴΘͬͨ QUQU౗ͤΔ w ࢒Γ૯QU͸QUQUQU w QUΛ࢒ΓिͰऴΘΔඞཁ͕͋Δ w QUQU౗ͤΕ͹ऴΘΔ w QUͳͷͰे෼ऴΘΓͦ͏
  22. ϙΠϯτΛ࢖ͬͨࠓޙͷݟཱͯ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: ??/114 pt 06/11: ??/114 pt 06/18: ??/114 pt 06/25: ??/114 pt 07/02: ???/114 pt 07/09: ???/114 pt 07/16: ???/114 pt w աڈि (8আ͘ ͰQUऴΘͬͨ QUQU౗ͤΔ w ࢒Γ૯QU͸QUQUQU w QUΛ࢒ΓिͰऴΘΔඞཁ͕͋Δ w QUQU౗ͤΕ͹ऴΘΔ w QUQUͳͷͰे෼ऴΘΓͦ ͏
  23. ͦͷ্Ͱݱ࣮͸༧ଌෆೳͰ೉͍͠ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: 71/136 pt 06/11: ??/136 pt 06/18: ??/136 pt 06/25: ??/132 pt 07/02: ???/132 pt 07/09: ???/132 pt 07/16: ???/132 pt w ๲ΕΔཁ݅ w ॳظͰݟམͱ͞Ε͍ͯͨཁ݅ w ࣄલʹશ෦ݟੵ΋Ε͍ͯΕ͹ ྑ͔͚ͬͨΕͲɺɺɺ w ͋͞ɺϓϥϯ#ΛͲ͏͢Δʁ
  24. %POU1BOJD ୡਓϓϩάϥϚʔ 04/09: 10/ 86 pt 04/16: 16/ 94 pt

    04/23: 27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: 71/136 pt 06/11: ??/136 pt 06/18: ??/136 pt 06/25: ??/132 pt 07/02: ???/132 pt 07/09: ???/132 pt 07/16: ???/132 pt w ·ͣ͸ͲΕ͘Β͍ύϫʔ͕଍Γͳ ͍͔ݟͯΈΑ͏ w ઌʹߜΕΔཁ݅͸ߜͬͯͷ QU w ෆ଍͍ͯͨ͠ཁ݅Λݟੵ΋ͬͨͱ ͜ΖɺͰQUͷ௥ Ճͱ͍͏͜ͱ͕Θ͔ͬͨ
  25. ৽ͨͳݱ࣮Λड͚ೖΕͯ࢓੾Γ௚͢ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: 71/136 pt 06/11: ??/136 pt 06/18: ??/136 pt 06/25: ??/132 pt 07/02: ???/132 pt 07/09: ???/132 pt 07/16: ???/132 pt w Ͱ࢒ΓQU w ࢒ΓिͰQU౗͢ QU w ਓͰिQU ਓिQU ऴΘΒ͍ͯͨ͠ͷͰɺਓύʔτ λΠϜ૿һ͢Ε͹ऴΘΒͤͦ͏
  26. ݱ࣮తʹϕλʔͳௐ੔Λબ୒Λ͢Δ 04/09: 10/ 86 pt 04/16: 16/ 94 pt 04/23:

    27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: 71/136 pt 06/11: ??/136 pt 06/18: ??/136 pt 06/25: ??/132 pt 07/02: ???/132 pt 07/09: ???/132 pt 07/16: ???/132 pt w ֤ॴʹεέδϡʔϧௐ੔͢ΔΑ Γ΋ɺଞͷػೳ։ൃʹ͋ͨͬͯ ͍ΔϝϯόʔΛҰ࣌తʹॿͬਓ ʹདྷͯ΋Β͏ํ͕ݱ࣮త w ऴ൫ͰΧπΧπͳλΠϛϯάͰ ͸ͳ͔ͬͨͷͰ։ൃମ੍ͷௐ੔ ͰղܾͰ͖ͯྑ͔ͬͨࣄҊ
  27. ҰํͰ෼฼Λ҆ఆͤ͞Δ ͜ͷؒ΍Γ͍ͨ͜ͱ͸ ૿͍͑ͯͳ͔͔ͬͨʁ 04/09: 10/ 86 pt 04/16: 16/ 94

    pt 04/23: 27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: 71/136 pt 06/11: 83/136 pt 06/18: 89/136 pt 06/25: 99/132 pt 07/02: 113/132 pt 07/09: 126/132 pt 07/16: 132/132 pt
  28. ෆཁͳείʔϓ࡟আΛૂ͏ ࡞ۀ͕ਐΉதͰෆཁͱ ൑அͰ͖ΔͳΒ࡟Ζ͏ 04/09: 10/ 86 pt 04/16: 16/ 94

    pt 04/23: 27/ 95 pt 04/30: 33/ 97 pt 05/07: 33/ 97 pt 05/14: 40/ 97 pt 05/21: 51/108 pt 05/28: 63/114 pt 06/04: 71/136 pt 06/11: 83/136 pt 06/18: 89/136 pt 06/25: 99/132 pt 07/02: 113/132 pt 07/09: 126/132 pt 07/16: 132/132 pt
  29. 

  30. w ໰୊ ཁ݅ ʹରͯ͠Ͳ͏ղܾ ઃܭ࣮૷ ͢Δʁ w ࠷ॳʹఆٛͨ͠ཁ͕݅ཉ͍͠΋ͷͩͬͨอূ͸ ͳ͘ɺ༧ظ͠ͳ͍໰୊͕ى͖͏Δͷ͕ݱ࣮ w

    εέδϡʔϧΛॏࢹ͢Δ৔߹ɺ࣮૷؍఺͔Β΋ ཁ݅Λఆٛ͠௚͢͜ͱΛࢹ໺ʹೖΕΒΕΔ ͔ʁ ࢹ໺ࢹ࠲ F9USFNF1SPHSBNNJOH