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
370
見積もりの難しさ
kanayannet
October 30, 2016
Tweet
Share
More Decks by kanayannet
See All by kanayannet
github copilot と 心理的安全性
kanayannet
0
89
FW と ライブラリ の考え方
kanayannet
0
150
TDDと今まで
kanayannet
0
390
個人開発 稼げなくてもいいアプリ
kanayannet
0
440
システムの堅牢性
kanayannet
0
230
Agile的学習方法
kanayannet
0
220
GUIをエンジニアが考える
kanayannet
0
190
http2http3
kanayannet
0
140
old typeからのクラウドインフラ
kanayannet
0
330
Other Decks in Programming
See All in Programming
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
170
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
910
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
C++でシェーダを書く
fadis
6
4.1k
as(型アサーション)を書く前にできること
marokanatani
10
2.6k
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
2
660
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
Realtime API 入門
riofujimon
0
150
Pinia Colada が実現するスマートな非同期処理
naokihaba
4
220
Featured
See All Featured
Code Review Best Practice
trishagee
64
17k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Statistics for Hackers
jakevdp
796
220k
Visualization
eitanlees
145
15k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Building Your Own Lightsaber
phodgson
103
6.1k
A Tale of Four Properties
chriscoyier
156
23k
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 さんからの情報提供
ご清聴 ありがとう ございました!