# 理想日 ## 定義 理想日(ideal days)とは、理想時間(ideal time)を単位としてユーザーストーリーの開発からテスト、受け入れまでの規模を見積もる手法である。理想時間とは、なにかをするのにかかる時間のうち周辺的な作業の時間を差し引いたものであり、時計やカレンダー上で実際に経過する現実時間(経過日)とは区別される。理想日を使ってユーザーストーリーを見積もる場合、チームの環境に起因するオーバーヘッドは無視して構わない。1理想日は、オーバーヘッドのない新興企業であっても、様々なオーバーヘッドを抱える大企業であっても「1理想日」のまま変わらない。実際に経過する時間(日数)は、オーバーヘッドの多寡によって変わってくる。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] §2) 組織に関係するオーバーヘッドを考慮しないため、理想日はストーリーポイントと同様に規模の見積りとみなせる。理想日の日数をベロシティで割ることで期間の見積りを導出でき、このやり方はストーリーポイントの場合とまったく同じである。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] §2) ## 理想日で見積もるための前提 理想日でユーザーストーリーを見積もるときは、以下の3つの前提を置く。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] §1) - ストーリーに必要な作業だけを見積もる。 - 作業に必要なものはすべて、作業の開始前に用意されている。 - 途中で割り込みは発生しない。 理想時間と現実時間が乖離する理由としては、リリース済みプロダクトのサポート・体調不良・会議・デモンストレーション・私用・電話応対・緊急の割り込み作業・トレーニング・メール・レビューやウォークスルー・候補者の面接・タスクの切り替え時間・リリース済みプロダクトのバグ修正・マネージャとの面談といった、日常的なオーバーヘッドが挙げられている。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] §1) 見積りに理想日を使うと決めたなら、各ユーザーストーリーの見積り値は1つだけにすべきである。担当者(プログラマ・データベースエンジニア・ユーザーインターフェイス設計者・テスターなど)ごとに理想日を分けて記載すると、チームが「全員が一丸となって取り組む」という考え方を維持できなくなり、リリースプランニングやベロシティ・残作業のトラッキングも担当ごとに個別化しなければならなくなる。ただし、複数プラットフォーム向けに同じ機能を並行開発し、チームメンバーが自分の担当プラットフォーム以外の開発スキルを持たない、といった状況では、担当ごとの理想日を分けて見積もる余地もある。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] §3) ## 横断的知見 - 6章「見積りの技法」は、プランニングポーカーの小規模セッションを説明する箇所で「あなたのチームが3ストーリーポイント(あるいは理想日)だと見積もって」と述べており、[[プランニングポーカー]]による見積り手順(カードによる複数ラウンドの投票と議論)がストーリーポイントだけでなく理想日にもそのまま適用できる技法として扱われていることがわかる。5章は理想日の定義とその見積り対象を述べるにとどまり、実際にチームで理想日の値を1つに収束させる具体的な手順までは示していなかった。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] §2, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 6 見積りの技法]] §4-1) - 理想日とストーリーポイントは、どちらも組織のオーバーヘッドを排した「規模」の見積りであり、見積り値の合計をベロシティで割ることで期間を導出するという同一のロジックを共有する。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] §2, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] §2) - ただし両者は同じ「規模の見積り」でも抽象度が異なる。ストーリーポイントは単位を持たない相対値であり、値そのものには意味がなく他の作業との比率だけが意味を持つ(作業量・複雑さ・リスクが渾然一体となった値)。これに対し理想日は「理想時間」という具体的な時間の単位を保持したまま見積もる。5章のまとめは、理想日は規模の見積りだが「ストーリーポイントほどには厳格に規模だけを考慮したものではない」と明言しており、これは理想日が具体的な作業時間のイメージと結びついたまま見積もられる単位であることの裏返しと読める。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] まとめ, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 4 ストーリーポイントによる規模の見積り]] §1) - 7章の再見積り論は、冒頭で明示的にストーリーポイントと理想日の両方を対象として述べられている。「ストーリーポイントも理想日も、実装するフィーチャの全体的な規模と複雑度をあらわす数値である」という前提から、再見積りが必要なのはストーリーの相対的な規模についての判断が変わったときだけであり、実装に想定より時間がかかったという事実だけでは再見積りしないという基準を導く。5章が理想日を「理想時間という具体的な単位を保持する規模の見積り」と位置づけたこと(上記の知見)が、7章でストーリーポイントと同列に扱われる根拠になっている。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] §2, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 7 再見積り]] 冒頭) - 8章は理想日の長所を2つ(プロジェクト関係者への説明のしやすさ・導入のしやすさ)に絞り込む一方、ストーリーポイントの長所は5つ挙げるという非対称な構成をとる。5章が理想日を「ストーリーポイントほど厳格に規模だけを考慮したものではない」と位置づけていたこと(上記の知見)と符合し、8章1-2節は、理想日が具体的な時間感覚と結びついているために開発者の熟達によって見積り自体が変化してしまうと指摘する。理想日というものさし自体はチームの環境オーバーヘッドを排した規模の見積りだが(5章§2)、開発者個人の熟練度という別の変数に対しては中立でないことが8章で明らかになる。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] §2, まとめ, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 8 ストーリーポイントと理想日]] §1-2) - 5章は理想日の欠点として「担当者ごとに数字を分けるべきでない」(§3)という運用上の注意にとどめていたが、8章1-5節はより根本的な欠点として、同じストーリーでも見積もる人によって理想日の値そのものが食い違うという問題を追加する。速いランナーと遅いランナーの比喩を用い、開発者間のスキル差が平均化される場合(チームメンバーがほぼ同スキル、あるいは常時ペアプログラミング)を除き、理想日という単位はチームメンバー間で一致しないと指摘する。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] §3, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 8 ストーリーポイントと理想日]] §1-5) - 6章はプランニングポーカーがストーリーポイントにも理想日にも同様に使える技法として紹介していたが、8章2-2節は理想日のほうが導入時の心理的ハードルが低いと述べる。ストーリーポイントには「1日を9時から17時までとする」のような基準も比較対象となる既見積りストーリーもないため最初は難しく感じられるが、理想日にはこうした導入の抵抗が少ない。6章がプランニングポーカーという手順レベルで両者を等価に扱っていたのに対し、8章は同じ手順を初めて使う際の心理的コストの面で両者を差別化している。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 6 見積りの技法]] §4-1, [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 8 ストーリーポイントと理想日]] §2-2) ## 未解決の問い - 1理想日を「割り込みなしで集中できる8時間の作業」とした場合に現実時間で何時間に相当するか、具体的な換算比率は5章の「話し合ってみよう」で読者に問われているのみで、章内では数値化されていない。16章「ベロシティの見積り」で具体的な換算例が示されるか要確認。 - 担当者ごとに理想日を分けてよい例外(複数プラットフォーム開発の事例)が、5章では1事例のみで説明されており、どこまで一般化できる原則なのかは示されていない。 - 8章は「現実日を理想日に近づけようとする組織的プレッシャー」が理想日を事実上の現実日に変質させてしまうと警告する(§3)が、この変質を防ぐ具体的な運用策までは示されていない。 ## 関連 - ソース: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 5 理想日による見積り]] / [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 6 見積りの技法]] / [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 7 再見積り]] / [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 8 ストーリーポイントと理想日]](ストーリーポイントとの比較・使い分けの判断基準) - 概念: [[ストーリーポイント]] / [[プランニングポーカー]] / [[再見積り]](7章担当分。再見積りの基準は理想日にも同様に適用される) - 書籍: [[wiki/entities/アジャイルな見積りと計画づくり|アジャイルな見積りと計画づくり]] ## 出典 - Mike Cohn 著, 安井力・角谷信太郎 監訳, 『アジャイルな見積りと計画づくり』, マイナビ, 2009, 5章, 6章, 7章, 8章.