Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
数字で表すシリーズ 〜開発規模(工数⇔期間)の見積もり編①〜 / practice of es...
Search
Yu Kawanami
August 28, 2024
Technology
0
60
数字で表すシリーズ 〜開発規模(工数⇔期間)の見積もり編①〜 / practice of estimate part1
Yu Kawanami
August 28, 2024
Tweet
Share
More Decks by Yu Kawanami
See All by Yu Kawanami
数字で表すシリーズ 〜開発規模(工数⇔期間)の見積もり編②〜 / practice of estimate part2
kawanamiyuu
0
26
開発チームの自走力を育む「イテレーションマネージャー」という取り組み / iteration manager
kawanamiyuu
1
1.3k
スタートアップで 1 度は崩壊しかけたチームがこれからチームになっていくための第一歩 / re-startup team
kawanamiyuu
2
810
PHP でもアーキテクチャテストしたい! / #phperkaigi / PHPerKaigi 2021
kawanamiyuu
6
4.2k
3 つの “はじめて” から始まった OSS 活動。のその先で / OSS LT会 #osscontributelt / turning point of joy as a developer
kawanamiyuu
0
720
腕力と瞬発力(新年の抱負 超LT会- vol.2 #ultral)/ New Year’s Resolution 2021
kawanamiyuu
2
380
ArchUnit で始める Java アプリケーションアーキテクチャの自動テスト / 自動化大好きエンジニアLT会 / LT for Engineers who love Automation
kawanamiyuu
0
810
マイクロサービスアーキテクチャをあきらめないための、モノリスで始めるアーキテクチャテスト / #jjug_ccc_b #ccc_b8 / JJUG CCC 2020 Fall
kawanamiyuu
5
3.4k
Contribution to OSS
kawanamiyuu
0
100
Other Decks in Technology
See All in Technology
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
TypeScript、上達の瞬間
sadnessojisan
46
13k
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
強いチームと開発生産性
onk
PRO
35
11k
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
480
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
Platform Engineering for Software Developers and Architects
syntasso
1
520
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
130
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
230
DynamoDB でスロットリングが発生したとき/when_throttling_occurs_in_dynamodb_short
emiki
0
250
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.3k
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
Bash Introduction
62gerente
608
210k
Side Projects
sachag
452
42k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
It's Worth the Effort
3n
183
27k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
For a Future-Friendly Web
brad_frost
175
9.4k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
How STYLIGHT went responsive
nonsquared
95
5.2k
BBQ
matthewcrist
85
9.3k
Transcript
数字で表すシリーズ 〜開発規模(工数⇔期間)の見積もり編①〜 2024/08/28 BABYJOB 開発部 LT会 @kawanamiyuu
開発規模 • 工数(単位:人月) ◦ ※計算がしやすいので本発表内では “人月” で考えます ◦ ※1 人月
= 20 人日、1 人日 = 8 時間 • 期間(単位:ヶ月) 2
「工数」と「期間」の関係 「1 人月」とはざっくりいうと「1 人」で開発すると「1 ヶ 月」かかる仕事量のこと。 すなわち、 • 「工数(人月)」=「人数」×「期間(ヶ月)」 •
「期間(ヶ月)」=「工数(人月)」÷「人数」 という計算式が成り立つ。 3
「工数」と「期間」の関係 「1 人月」とはざっくりいうと「1 人」で開発すると「1 ヶ 月」かかる仕事量のこと。 すなわち、 • 「工数(人月)」=「人数」×「期間(ヶ月)」 •
「期間(ヶ月)」=「工数(人月)」÷「人数」 という計算式が成り立つ。とは限らない。 4
どういうことか? 5
「開発」だけが仕事ではない 1 日のうちずっと開発をしている(ができる)わけではな い。チャットに返信したり、MTG に出席したり、運用作業 をしたり... つまり、「実際に開発に使える時間がどれくらいか」を考慮 する必要がある。 6
「開発」だけが仕事ではない 1 日のうちずっと開発をしている(ができる)わけではな い。チャットに返信したり、MTG に出席したり、運用作業 をしたり... つまり、「実際に開発に使える時間がどれくらいか」を考慮 する必要がある。 →「開発稼働率」というパラメータを導入する。 7
「開発稼働率」とは? 8
開発稼働率とは 「実際に開発を行える時間の割合」 例えば、 • 1 日(8 時間)に開発を 6 時間行った場合、開発稼働率は「75 %」
• 1 ヶ月(20 人日)に開発を 12 人日行った場合、開発稼働率は「60 %」 9
開発稼働率を考慮した計算方法 10
「工数」の計算方法 「工数(人月)」 =「人数」×「期間(ヶ月)」×「開発稼働率(%)」 開発稼働率が 60 % の 4 人チームで、完了に 3
ヶ月かかる開 発の工数は「4 人 × 3 ヶ月 × 0.6 = 7.2 人月」 11
「期間」の計算方法 「期間(ヶ月)」 =「工数(人月)」÷「人数」÷「開発稼働率(%)」 開発稼働率が 60 % の 4 人チームで、工数が 7.2
人月の開発 の完了にかかる期間は「7.2 人月 ÷ 4 人 ÷ 0.6 = 3 ヶ月」 12
ところで、 「工数⇔期間」の変換ができると なにが嬉しいか? 13
開発規模を数字で表すことの意味 • 「工数」を見積もることができれば、スケジュール (「期間」)を立てることができる • 定性的に「期間」を予想できれば、定量的な「工数」に もあたりをつけることができる 14
開発規模を数字で表すことの意味 • 「工数」を見積もることができれば、スケジュール (「期間」)を立てることができる • 定性的に「期間」を予想できれば、定量的な「工数」に もあたりをつけることができる → 開発という営みを、観測可能な仕事として、ビジネス活動 に接続できる
15
まとめ 16
「工数」と「期間」の関係 「1 人月」とは開発稼働率が 100 % の人員が「1 人」で開 発すると「1 ヶ月」かかる仕事量のこと。 すなわち、
• 「工数(人月)」=「人数」×「期間(ヶ月)」×「開発稼働率(%)」 • 「期間(ヶ月)」=「工数(人月)」÷「人数」÷「開発稼働率(%)」 という計算式が成り立つ。 17
「工数」と「期間」の関係 「1 人月」とは開発稼働率が 100 % の人員が「1 人」で開 発すると「1 ヶ月」かかる仕事量のこと。 すなわち、
• 「工数(人月)」=「人数」×「期間(ヶ月)」×「開発稼働率(%)」 • 「期間(ヶ月)」=「工数(人月)」÷「人数」÷「開発稼働率(%)」 という計算式が成り立つ。とは、やはり限らない。 18
次回予告。 「バッファ」の正体 19