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
2
1.3k
なぜフロントエンド開発の見積もりは当たらないのか / how we improve our estimate
見積もりが大きくずれていたフロントエンド開発プロジェクトの見積もりをいかにして改善したかについて話します。
dexia2
October 24, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
組織で育むオブザーバビリティ
ryota_hnk
0
180
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
130
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
CSC307 Lecture 05
javiergs
PRO
0
500
CSC307 Lecture 04
javiergs
PRO
0
660
Fluid Templating in TYPO3 14
s2b
0
130
Oxlintはいいぞ
yug1224
5
1.3k
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
470
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.4k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
Facilitating Awesome Meetings
lara
57
6.8k
Paper Plane (Part 1)
katiecoart
PRO
0
4.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
590
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
720
A Tale of Four Properties
chriscoyier
162
24k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
350
Everyday Curiosity
cassininazir
0
130
The Language of Interfaces
destraynor
162
26k
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)