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
なぜフロントエンド開発の見積もりは当たらないのか / how we improve our...
Search
dexia2
October 24, 2019
Programming
1.3k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
なぜフロントエンド開発の見積もりは当たらないのか / how we improve our estimate
見積もりが大きくずれていたフロントエンド開発プロジェクトの見積もりをいかにして改善したかについて話します。
dexia2
October 24, 2019
Other Decks in Programming
See All in Programming
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
720
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
350
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
140
Oxlintのカスタムルールの現況
syumai
5
1k
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
300
今さら聞けないCancellationToken
htkym
0
220
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
610
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
110
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.2k
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
770
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
Marketing to machines
jonoalderson
1
5.4k
Everyday Curiosity
cassininazir
0
220
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
HDC tutorial
michielstock
2
690
Odyssey Design
rkendrick25
PRO
2
690
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
590
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
How to Talk to Developers About Accessibility
jct
2
220
Transcript
なぜフロントエンド開発の見積もりは 当たらないのか STORES.jp
Meetup for Front-end Engineers #1 2019.10.24
自己紹介 小林 礼幸 @dexia2 ストアーズ・ドット・ジェーピー株式会社 ⚙ フロントエンドエンジニア ⚙ 設計、コーディング、会議、諸々のルールを考える人 老荘思想、陽明学を勉強中
全体像 なぜ見積もりに向き合うことになったのか なぜ見積もりは当たらなかったのか 見積もりを改善するために何に取り組んだのか
なぜ見積もりに向き合うことになったのか
見積もりの推移 見積もりの精度が余りにもよくなかった 0.5ヶ月 開発者の経験 機能数 + バッファ 当初の見積もり 次回見積もり 最終見積もり
1.5ヶ月 3.5ヶ月
なぜ見積もりは当たらなかったのか
原因 ステークホルダーの要求を際限なく受け入れた 見積もりを行うタイミングが早すぎた
原因 ステークホルダーの要求を際限なく受け入れた 見積もりを行うタイミングが早すぎた
社内のステークホルダー フロントエンド バックエンド デザイナー ビジネスサイド フロントエンドは多くのチームから要求を受ける
社内のステークホルダー デザイナー 状況に応じた柔軟なデ ザインにしたい ビジネスサイド ビジネス上の定量的な 目標を達成したい バックエンド 技術的な負債を作らな いようにしたい
フロントエンドは多くのチームから要求を受ける
チーム内のステークホルダー ドキュメントを残 してほしい 例外に素早く 気づきたい CIの実行時間を 短くしたい 同じチームからは開発プロセスへの要求を受ける iPhone SE
切りたい 実装を共通化 したい レビュー してほしい
当初聞いていたこと 既存のUIをそのまま移行する WebAPIの動作は基本的には変わらない 共通コンポーネントを使い回せるから早く作れる
実際に起きたこと 既存のUIが大きくリニューアルされていた WebAPIのURLや動作が変更されていた 共通コンポーネントを使うたびに新しい仕様が発覚し、その度に調 査・修正が必要だった
学んだこと ステークホルダーはそれぞれ要求を持つ ステークホルダーが増えれば増えるほど調整コストは大きい 何をやらないかを定義するまで要求は増加し続ける => フロントエンドは中間管理職
原因 ステークホルダーの要求を際限なく受け入れた 見積もりを行うタイミングが早すぎた
フロントエンドの工程 フロントエンドは実装に入るまでの行程が長い 要求定義 デザイン 外部 設計 内部 設計 実装
不確実性のコーン 前工程で行った見積もりは後工程の1/4の精度に落ちる
見積もりと確率 個々の見積もりの誤差は相殺される
見積もりで失敗したこと 個々の見積もりの精度を追求して、確率を考慮しなかった 平均的な見積もりをしたつもりが、最良の見積もりだった 要求・デザインが確定する前に見積もりを行った
学んだこと 見積もりは個々ではなく全体で評価される 見積もりは確率的な幅で表現される どの時点で行われたかによって見積もりの精度は変わる => 見積もりの方法は欲しい精度によって変わる
見積もりを改善するために何に取り組んだのか
スクラムをやってみた
スクラムイベント スプリント 計画 デイリー スクラム スプリント レビュー スプリント レトロスペク ティブ
スクラムが見積もりに貢献できること ステークホルダーを巻き込んだ『場』ができる ⚙ スプリント計画、スプリントレビューに全員参加する ⚙ 要求が見積もり前に確定できる 実績を元に計画・見積もりができる ⚙ 確率的にそれらしい見積もりになりやすい
「その場に参加することで、自分の主観の 限界を超えて、相互主観性、みんなの主観 というものが作られる」 野中郁次郎
見積もりの推移 それらしい見積もりができるようになった 0.5ヶ月 開発者の経験 機能数 + バッファ 当初の見積もり 次回見積もり 最終見積もり
1.5ヶ月 3.5ヶ月 スクラム
参考文献 中鉢 慎『外資系コンサルが教える難題を解決する12ステップ プロ ジェクトリーダーの教科書』かんき出版(2018) スティーブ マコネル『ソフトウェア見積り 人月の暗黙知を解き明か す』溝口 真理子, 田沢
恵他訳 久手堅 憲之監修 日経BP(2006)