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
ThorVG Viewer In VS Code
nors
0
760
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
190
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
680
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
2
170
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
450
CSC307 Lecture 04
javiergs
PRO
0
650
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.4k
AIエージェントの設計で注意するべきポイント6選
har1101
7
3.4k
CSC307 Lecture 03
javiergs
PRO
1
490
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
150
Featured
See All Featured
A better future with KSS
kneath
240
18k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
280
YesSQL, Process and Tooling at Scale
rocio
174
15k
For a Future-Friendly Web
brad_frost
182
10k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Chasing Engaging Ingredients in Design
codingconduct
0
110
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
71
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
62
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
240
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)