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
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
930
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
260
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
690
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
190
FDEとは、何者なのか?
masapyon1212
0
110
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
230
Loosening the Reins: Go Generics Get More Flexible
kuro_kurorrr
0
360
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
340
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
280
業務時間外もAIに働いてもらう話
colorful12
3
9.7k
ソフトウェアラスタライザ
fadis
1
760
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
610
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
300
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Ethics towards AI in product and experience design
skipperchong
2
360
Thoughts on Productivity
jonyablonski
76
5.3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
New Earth Scene 8
popppiees
3
2.5k
The Invisible Side of Design
smashingmag
301
52k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
550
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Balancing Empowerment & Direction
lara
6
1.3k
Everyday Curiosity
cassininazir
0
300
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)