Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
アジャイル・スクラム勉強会_規模による相対見積
Search
Satoshi Harada
June 15, 2020
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
アジャイル・スクラム勉強会_規模による相対見積
Satoshi Harada
June 15, 2020
More Decks by Satoshi Harada
See All by Satoshi Harada
心理学を学び活用することで偉大なスクラムマスターを目指す − 大学とコミュニティを組み合わせた学びの循環 / Becoming a great Scrum Master by learning and using psychology
psj59129
1
2.7k
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
210
製造業メカアジャイルへの挑戦!社内コミュニティを軸にした巻き込み / The challenge of mecha-agile manufacturing
psj59129
1
210
保育士チームが実践している連続的な観察と多面的な観察を共有するための振り返り / Reflection to share “continuous and multifaceted observations” as practiced by a team of childcare professionals
psj59129
1
6.3k
保育とふりかえりをコネクト! / connect childcare and retrospectives!
psj59129
1
1.5k
Whyから始めよう!スクラムチームが力強く前に進むための「なぜやるのか」を考える
psj59129
1
2.8k
その心理的安全性は間違っている!心理的安全性で陥りやすい間違いとその対策
psj59129
1
1.7k
これからのスクラムマスターのキャリアプランの話をしよう - スクラムマスターの前に広がる世界
psj59129
0
3.3k
ファーストペンギンを志すものに伝えたい - 1人目のアジャイル推進者がたどった成功と失敗
psj59129
0
530
Other Decks in Programming
See All in Programming
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
330
一人だけ、Kiroが静止する日
hideg
0
130
JRuby: Past, Present, and Future
headius
0
190
Intent as Code
shoppingjaws
6
1.1k
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
220
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
570
Jetpack Compose メカニズム
skydoves
0
470
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
100
FreeBSDでZabbixを動かす
kenkino
0
320
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
390
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
920
Building an Out-of-Order CPU
latte72
1
800
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Design in an AI World
tapps
1
330
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Spectacular Lies of Maps
axbom
PRO
1
1k
Mind Mapping
helmedeiros
1
370
Building the Perfect Custom Keyboard
takai
2
880
Balancing Empowerment & Direction
lara
6
1.3k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
340
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
340
Build your cross-platform service in a week with App Engine
jlugia
234
19k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Transcript
アジャイルな見積 規模による相対見積 アジャイル・スクラム勉強会 Satoshi Harada
見積タイミングの違い • WFは最初に1回で見積もる ► プロジェクト開始前に、開発スピードやリスクを予想して 見積もる ✔ プロジェクトの途中で思ったよりも早く開発が進んでいる場合 は? ✔
プロジェクトの途中で思ったよりも開発が進まない場合は? • アジャイルは分散させて複数回見積もる ► 1スプリント毎(1週間毎など)に見積もる ✔ それまでの経験や学習によって開発メンバーの開発スピードが 上がっていることを見積もりに反映できる ✔ 逆に、思ったよりもスピードが上がらない・不測の事態が発生 なども、見積もりに反映できる
見積で使用するツール • PBL(Product Back Log) − 優先順に並んだ機能の一覧 ► プロダクトやシステムで実現したい機能が優先順で並んでいる一 覧 ► 機能の内容はお客様の言葉で書かれている
例:<ユーザのロール>は<機能の内容>したい。なぜならば <ビジネス上の価値>をしたいからだ。 ► 各機能に対して、開発チームが“規模”を見積もる • SBL(Sprint Back Log) − スプリントのタスク一覧 ► 1スプリント(1週間など特定の期間)で実施するタスクの一覧 ► 日々のステータスを管理するため、カンバンボードを使用するこ とが多い ► 各タスクに対して、開発チームが“理想時間”を設定する ✔ 理想時間とは、スムーズに割り込み作業などがなければどれくらい の時間でタスクが終わりそうかということを示した日数
PBLとSBLの運用例 PBL SBL タスクA-1 機能A 機能B 機能C お客様の代表 (プロダクトオーナー) 開発チーム
More… タスクA-2 タスクB-1 タスクB-2 • PBLの項目はプロダクトやサー ビスの機能はどうあるべきか・ 優先度はどうするかという話な ので、PBLは基本的にお客様の 代表(プロダクトオーナー)が 管理する • SBLの項目は機能を実現するた めの具体的なタスク(画面を実 装する・DBを構築する・デー タを挿入すると言ったレベル) を示すので、SBLは開発チーム が管理する • SBLのタスクは、PBLの中から 優先順の高い機能をピックアッ プしてタスク分解して用意する • SBLのタスクに対するレビュー は開発チーム内で行う • PBLの機能に対するレビューは お客様の代表(プロダクトオー ナー)に対して行い、成果物と して受け入れてもらう必要があ る 優先度
PBLはなぜ“規模”で見積もるのか • 古から使われてきた見積手法 ► ステップ数 ✔ プログラムの行数から規模を見積もる。単純だが不正確。 ► ファンクションポイント法 ✔
機能の複雑性をもとに見積もる。正確だが複雑で時間がかかる。 ► 過去の実績日数から見積もる ✔ 熟練者が過去の経験をもとに見積もる。過去の実績と内容が一致していれば見積 もり精度も高いが、経験と違うところがあれば見積がズレる。 ✔ そもそも経験者がいないと正確に見積もれない。 • 規模を見積日数といった具体的な指標で見積もると問題が多い ► 今現在の見積日数と、1ヶ月後の見積日数は一致しない可能性がある ✔ 一ヶ月後は習熟が進んだことで見積日数が減るかもしれない ► 人ごとに作業に対する見積日数が異なる場合がある ✔ 熟練者と初級者で同じ作業なのに見積日数は異なる ► お客様に見積日数=現実日数であると誤解される恐れがある ✔ 見積が予測ではなく約束になってしまう そのため、人ごとに尺度が異なる・誤解されやすい“日数”ではなく、 ポイントなどの抽象的な“規模”で見積もる
規模を“相対見積”で見積もる理由 • 例えば、このビルの高さを見積 もってほしいと言われた場合、ど うするか? ✔ 過去に見たことがあるビルの高さか ら、当てずっぽうで言ってみる? ✔ 16階建てだから、1階あたりの高
さがわかればわかるかも? ✔ 隣のビルの高さがわかったら、ざっく り2倍くらいかも? • 機能の見積もこれと同じで、基準 となる規模見積に対して比べるこ とで相対的に見積もる ► 基準値を5ポイントとする例 ► 同じくらいの規模:5ポイント ► ちょっと大きい:8ポイント ► ちょっと小さい:3ポイント ► 2倍くらい:10ポイント ? 機能A 機能B 機能C 5pt 8pt 3pt
規模から期間への変換はどうする? • 以下のような手順を行うことで、ポイントなどの規模から期間へ変 換できる 1. 1スプリント(1週間など特定の期間)で何ポイントのPBL項目を消化 できるか測定する ► 例えば、1スプリントで10ポイントを消化できたとする 2.
PBLのすべての項目の合計ポイント数を、1スプリントで消化できた ポイント数で割る ► 例えば、PBLの全ての項目の合計ポイント数が100ポイントだとしたら、1 スプリントで10ポイントのPBL項目を消化できるので、10スプリント (10週間)でPBLの全ての機能が実現できる見込みとなる • このようにPBLの総規模(総ポイント数)から「限られた期間でど こまで機能を実現できそうか」を予測できる ► この情報を使って、プロジェクトの着地点(期間内でどの機能まで実 現できそうか)をお客様の代表(プロダクトオーナー)と会話するこ とができる ► 開発チームの本当の開発スピードを使って測定した結果なので、説得 力がある ✔ お客様や自社の上層部からの「もっと早くできるはずでは?」というプ レッシャーに現実的に回答できる
SBLのタスクには理想時間を設定する • PBLの機能をSBLでタスクレ ベルに分解する ✔ このタイミングで、担当す る人ごとに理想時間を設定 する ✔ ただし、理想時間は機能の
規模見積には使用しない点 に注意 • SBLで設定したタスクの理想 時間は1スプリント内の進捗 管理でのみ使用する ✔ 未着手・着手・レビュー中 ・完了で振り分けて、状況 を見える化する ✔ 1スプリントの最後に、お 客様に対して機能をレ ビューできそうか把握する 機能A タスクA-1 タスクA-1 初級者 熟練者 5pt 3日 5日 対象の機能の見積ポイントや、タスクの作業規模は 同じだが、習熟度によって理想時間が異なる。 しかし、チーム全体で「1スプリントあたり10ポイ ント消化できる」実績がわかっていれば、PBLで行 う機能の規模見積(ポイント見積)ではチーム全体 として見積もるので個々の習熟度の違いは無視でき る。 PBLの見積は、個人のパフォーマンスではなく、 チームのパフォーマンスで見積もるのがポイント
言葉の定義を整理 今回の勉強会で登場した新しい言葉について定義を整理します。 PBLやプロダクトオーナーなど、これまであまり馴染みのない言葉も多いので、慣れ るまで適宜日本語の言葉に置き換えてもよい。(言葉の正確性よりも目的を達成でき ることが大事) • PBL(Product Back Log) − 優先順に並んだ機能の一覧 ✔
プロダクトやシステムの機能を優先順で並べた一覧 ✔ 規模で見積もる • SBL(Sprint Back Log) − xサイクル目のタスク一覧 ✔ スプリント内で実施するタスクの一覧 ✔ PBL項目から作業分解してタスクを洗い出す ✔ 各タスクに理想時間を設定する • プロダクトオーナー − お客様の代表 ✔ お客様の代表者 ✔ 機能の定義や優先順の決定に責任を持つ • 開発チーム ✔ 開発者の集まり ✔ 機能の相対見積もりやタスクの見積もりに責任を持つ • スプリント − 開発サイクル ✔ 1週間など、区切られた期間
雑談Time 日数ではなく規模で見積もること について、どのような印象を持ち ましたか? 直近のスプリントの実績ポイント を用いることで、機能が完成する タイミングを未来予測できること について理解できましたか?