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
見積もりの難しさ
Search
kanayannet
October 30, 2016
Programming
0
380
見積もりの難しさ
kanayannet
October 30, 2016
Tweet
Share
More Decks by kanayannet
See All by kanayannet
github copilot と 心理的安全性
kanayannet
0
94
FW と ライブラリ の考え方
kanayannet
0
160
TDDと今まで
kanayannet
0
430
個人開発 稼げなくてもいいアプリ
kanayannet
0
460
システムの堅牢性
kanayannet
0
230
Agile的学習方法
kanayannet
0
230
GUIをエンジニアが考える
kanayannet
0
200
http2http3
kanayannet
0
140
old typeからのクラウドインフラ
kanayannet
0
340
Other Decks in Programming
See All in Programming
From Translations to Multi Dimension Entities
alexanderschranz
2
130
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
360
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
260
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
770
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
180
Spatial Rendering for Apple Vision Pro
warrenm
0
100
fs2-io を試してたらバグを見つけて直した話
chencmd
0
230
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
250
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
204
24k
The Cult of Friendly URLs
andyhume
78
6.1k
Building Applications with DynamoDB
mza
91
6.1k
Gamification - CAS2011
davidbonilla
80
5.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Docker and Python
trallard
42
3.1k
The Invisible Side of Design
smashingmag
298
50k
Speed Design
sergeychernyshev
25
670
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Optimising Largest Contentful Paint
csswizardry
33
3k
Making the Leap to Tech Lead
cromwellryan
133
9k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Transcript
見積もりの難しさ @kanayannet Gunma.web #25
自己紹介 名前 : 金澤 宏昭
SNS Twitter : @kanayannet Facebook : HiroakiKanazawa
今日話すこと 見積もりの定義 なぜ話すのか? 不確実性 見積り誤差 過大見積もりと過少見積もり チームの能力
問題は変化する まとめ
見積もりの定義
概要 製品の購入やサービスに掛かる費用を前もって算出す る行為、またはその金額・計算書の意として使われて いる。
web サービスだと.. 企画されたものを、デザイナー、エンジニアに見せ て... どのくらいかかるか計測 期間だったり 何人必要だったり? 人月計算のところもある?
なぜ話すのか?
きっかけ
書いてあった ポイントがいくつか書いてあった。 思い当たるものがある イタタ... 結構みなさんそうなんじゃない?
不確実性
なぜ? 不確実 見えないものを見積もろうとするから。 見えないもの = 認知できないもの
不確実性のコーン
種類があるよ 概算見積もり 確定見積もり
概算見積もり 費用や期間などのおおよその見積もり なるべく正確に表現しようとするが.. おおよその数 字までしか決まってない部分は出せないのでその 通りになる事を約束できない。
確定見積もり 最終的に確定したもの この見積もりで契約などを行うので、出した見積 もりを守る責任が発生する
見積り誤差
誤差はなぜ生まれるのか?
認知バイアス 社会心理学の理論 対象の特徴、自分の利害に沿った方向に考えがゆ がめられたりする現象。
例 営業「◦◦ 万円ならいける?」 幹部「5 日でいける?」
避ける方法はある 集合知を使う 複数人で見積もりを出す。 複数の立場、複数の人。
過小見積りと過大見 積り 過少: 実際のものよりも小さく見積もり 過大: 実際のものよりも大きく見積もる
スケジュールの狂い 過少: 人や時間が足りくなる 過大: 余裕がありすぎる = リソース取りすぎ
人への影響 過少: 残業する人( 自分も含む) が多くなりやすい。 過大: 余裕がありすぎると油断する人もいる?
チームの能力
得意不得意を理解する でも誰がどれが得意か解りづらいし、共有できない。
これも誤差につながる 一番作業が色々とできる人に他の人のスケジュールを 合わせてしまう。 例 : A さんが出来たのだから同じ事をB さんにもや らせてみよう。 例
: 人の数を単純に増やせば回るだろう。
見える化 スキルマップ化 Ruby HTML CSS JS jquery 障害対応 A さん
◦ ◦ ◦ ◦ ◦ ◦ B さん ◦ x x x x ◦ C さん x ◦ ◦ ◦ ◦ x D さん x ◦ ◦ x ◦ x
見積もり手法 ファンクションポイント法 システムユーザから見た機能を5 種類に分類し、そ れぞれを重み付けしてソフトウェアの規模を見積 もる ユースケースポイント数 システムのユースケースを複雑度で重み付けし、 それを集計してソフトウェアの規模を見積もる方 法
実施すればよいというものでは ない 過去の実績に依存する。 実績を評価出来てなければ中々うまくい。
誤差は色々なケース に 混入しやすい。
競争する場合でも区分けが必要 予測のための変換と競争の場合の変換は分ける 競争のため = 受注開発などで競合に勝つための提 案など 営業的な観点でバイアスがかかる。
バイアスがかかったものは 仮に無理をして乗り切ったとしても.. 次回の目安とし て使い物にならない。
問題は変化する 例: 実際に操作して見たら思っていたのと違った 作り直し!
これが起きると計測をいくら頑 張っても ...orz
ツブを小さくして.. 大きい規模のソフトウェアを作る -> 手間がかかる ポイントを一つ一つ小さく切って、確認( レビュー) し ながらゴールを目指す
どっかで聞いた? アジャイル スクラム
ここは話すと 15 分でも足りないので懇談会、2次会で話しましょう 汗
そもそも見積もらない? 見積もる意味が見出せない? 狂ってしまうのに何故見積もる? 安定しない技術を使う場合 システム要件が固められない場合 No Estimates
Mob Programming 5 人程度のチームで一人がドライバー残メンバーはガ イド役 残メンバーはドライバーがスムーズに進められる よう支援する。 一見非効率に見えるけど.. 見えない( 認知できない)
もの が多い場合は有効かもね。
まとめ 過大見積もりは自分の首を締める されたとしても( 間に合わなければ) した側の首が締まるw 認知できないの怖いね。 過大の自覚がない。 どうやって伝える? 何が大変なのか?見える可の工夫大事。
@track8 さんからの情報提供
ご清聴 ありがとう ございました!