『アジャイルな見積りと計画づくり』
https://gyazo.com/cb4d80353edbe9514c253b238cdb91ef
2009/1/29
感想
物理本を読んでいるが、font-sizeが小さい
各操作の根拠が明確に言語化されていて良い
話の展開の仕方も構造化して整理されているので理解しやすい
イントロダクション
「プロジェクトをアジャイルにしよう」ではなく、「見積もりをアジャイルにしよう」とい趣旨
第1部 問題とゴール
1章 計画の目的
良い計画づくりとは
アジャイルな「計画づくり」
アジャイルな「計画」ではない
2章 なぜ計画づくりに失敗するのか
計画づくりに失敗する5つの理由
フィーチャではなく作業を計画している
マルチタスク化が遅れを助長する
優先順位の順にフィーチャを開発していない
不確実性を無視している
見積りがコミットメントになっている
3章 アジャイル手法
見積もりにおけるアジャイルとはなんぞや、という話
プロジェクトへのアジャイルなアプローチ
アジャイルな計画づくり
第2部 規模を見積もる
4章 ストーリーポイントによる規模の見積り
5章 理想日による見積り
理想時間と現実時間
6章 見積りの技法
見積もりに時間をかけすぎない
7章 再見積り
いろんなレベルの再見積もりがある?
1ポイントにかかる時間を見誤ってた
e.g. 1ポイントを1日でできると思ったら、2日かかった
これは元々相対値でやってるので影響はさほどないはず
残ってるものも全て1ポイント=2日とすれば良いだけ
ただ、過去を修正するか、未来を修正するかの判断がある
ポイント側を変えるか、ベロシティ側を変えるか、というのもありそう
どっちも同じだけど
ポイントの方を変える
その結果、ベロシティも変わる
そもそも相対値の出し方がミスってそう
e.g. 1と6としてたが、1のほうが2かかって、6の方は6でいけた
部分的に終わったタスクの扱い
all or nothing
少しでも残ってるなら、そのイテレーションでは0
次のイテレーションでちょい増えになる感じ
特定のイテレーションでのベロシティに増減ができるが、気にしなくて良い
ベロシティは長期的な平均値が大事
そもそも、部分的に終わる、ということ無いぐらいに、1つ1つのタスクを小さくしておくと良い
地味に頭に入らなかったので再度読むと良さそう
8章 ストーリーポイントと理想日
1.ストーリーポイントの長所
1-1.ストーリーポイントは職能横断的な作業の進め方を促進する
1-2.ストーリーポイントによる見積りは長持ちする
1-3.ストーリーポイントは純粋に大きさだけをあらわす
1-4.ストーリーポイントで見積もるほうが早い
1-5.僕の理想日と君の理想日は違う
2.理想日の長所
2-1.理想日はプロジェクト関係者に説明しやすい
2-2.理想日は導入しやすい
3.私のお勧め
まとめ
第3部 価値のための計画づくり
9章 テーマの優先順位づけ
1.優先順位づけの判断要素
1-1.金銭価値
1-2.コスト
1-3.新しい知識
1-4.リスク
2.4 つの要素を総合する
3.優先順位づけの例
3-1.技術基盤の構築
3-2.ユーザーインターフェイスの設計
まとめ
10章 金銭価値による優先順位づけ
1.収益源
1-1.新しい収益
1-2.増加する収益
1-3.維持できる収益
1-4.業務の効率化
2.例題:WebPayroll
2-1.新しい収益を算出する
2-2.増加する収益を算出する
2-3.維持できる収益を算出する
2-4.業務の効率化の影響を算出する
2-5.開発コストを見積もる
2-6.コストと収益をまとめる
3.財務指標
3-1.貨幣の時間的価値
3-2.正味現在価値
3-3.内部収益率
3-4.回収期間
4.収益を比較する
まとめ
11章 「 望ましさ」による優先順位づけ
1.顧客満足度の狩野モデル
1-1.狩野モデルでテーマを評価する
1-2.回答を分類する
2.もう1 つの方法:相対的重み付け
まとめ
12章 ユーザーストーリーの分割
1.ユーザーストーリーをいつ分割するのか
2.データ境界に沿って分割する
3.操作の境界で分割する
4.横断的な関心事を分離する
5.パフォーマンス制約をストーリーにする
6.優先度に沿ってストーリーを分割する
7.ストーリーをタスクに分解してはならない
8.関連する変更への誘惑を断つ
9.ストーリーをまとめる
まとめ
第4部 スケジュールを立てる
13章 リリース計画づくりの基本
1.リリース計画
1-1.満足条件を決める
1-3.イテレーションの長さを決める
1-5.ユーザーストーリーに優先順位を付ける
1-6.ストーリーを選択し、リリース日を決める
2.リリース計画を更新する
3.例題
3-1.満足条件を決める
3-2.ユーザーストーリーを見積もる
3-4.ベロシティを見積もる
3-5.ユーザーストーリーに優先順位を付ける
3-6.ストーリーを選択し、リリース日を決める
まとめ
14章 イテレーション計画づくり
1.イテレーションプランニングではタスクの担当者を決めない
2.イテレーション計画とリリース計画の違い
3.ベロシティ駆動イテレーションプランニング
3-1.優先順位を調整する
3-2.目標ベロシティを決める
3-3.イテレーションのゴールを決める
3-4.ユーザーストーリーを選ぶ
3-5.ユーザーストーリーをタスクに分解する
3-5-1.プロジェクトに価値を与える作業のみを含める
3-5-2.慣れるまでは詳細に
3-5-3.ミーティングはタスクに含める(それも多めに)
3-5-4.バグ
3-5-5.依存関係の扱い
3-5-6.タスクへの分解が難しい場合
3-6.タスクを見積もる
3-7.多少の設計はOK
3-8.タスクの適切なサイズ
4.コミットメント駆動のイテレーションプランニング
4-1 .チームにコミットできるかたずねる
4-1-1.見積りを合計する
4-1-2.保守とコミットメント
5.私のおすすめ
6.タスクの見積りとストーリーポイントの関係
まとめ
15章 イテレーションの長さを決める
1.イテレーションの長さを決める要因
1-1.リリースまでの期間
1-2.不確実性の高さ
1-3.フィードバックの得やすさ
1-4.優先順位が安定している期間
1-5.外部からのフィードバックの必要性
1-6.イテレーションのオーバーヘッド
1-7.切迫感を感じ始めるまでの時間
2.イテレーションの長さを決める
3.ケーススタディ
まとめ
16章 ベロシティの見積り
1.過去の実績値を使う
2.実際に1 イテレーションやってみる
3.予想する
3-1.1日の作業可能時間を見積もる
3-2.1イテレーションあたりの作業可能時間を見積もる
3-3.ストーリーを分解して作業量を見極める
3-4.見積りに幅を持たせる
4.他のバリエーション
5.どのやり方で見積もるか?
まとめ
17章 不確実性に備えるバッファの計画
2-1.見積りの不確実性を反映する
2-2.プロジェクトバッファの大きさを決める
2-3.より単純なバッファ計算方法
2-4.バッファのガイドライン
3.複数のバッファを組み合わせる
4.スケジュールバッファは水増しではない
5.使用上の注意
まとめ
18章 複数チーム編成プロジェクトの計画づくり
1.共有できる見積り基準の確立
2.早い段階でのユーザーストーリーの詳細化
3.先を見越した計画づくり
4.合流バッファを取り入れた計画
4-1.なぜバッファを追加するのか
4-2.合流バッファの大きさを決める
5.だけどチーム間連携って大変じゃない?
まとめ
第5部 トラッキングと情報共有
19章 リリース計画のモニタリング
1.リリースのトラッキング
2.リリースバーンダウンチャート
2-1.リリースバーンダウン棒グラフ
3.パーキングロットチャート
まとめ
20章 イテレーション計画のモニタリング
1.タスクボード
2.イテレーションバーンダウンチャート
3.投入工数のトラッキング
4.個人のベロシティ
まとめ
21章 計画とコミュニケーション
1.計画の情報共有
2.進捗の情報共有
3.イテレーション終了報告書
まとめ
第6部 なぜアジャイルな計画づくりがうまくいくのか
22章 なぜアジャイルな計画づくりがうまくいくのか
1.頻繁に計画を見直している
2.規模の見積りと期間の見積りを分離している
3.複数レベルの計画を立てている
4.計画の基準がタスクではなくフィーチャである
5.小さなストーリーがよどみない流れをつくっている
6.イテレーションから仕掛り作業を持ち越さない
7.チーム全体を対象にトラッキングしている
8.不確実性を受け入れて、計画に取り込んでいる
9.アジャイルな見積りと計画づくりのための12のガイドライン
まとめ
第7部 ケーススタディ
23章 ケーススタディ:ボムシェルタースタジオ
1.1日目―月曜の朝
2.ユーザーストーリーの見積り
3.プロダクトリサーチの準備
4.イテレーションとリリースの計画づくり、第1 ラウンド
4-1.第1イテレーションの計画づくり
4-2.リリースプランニング
5.2週間後
6.第2イテレーションの計画づくり
7.さらに2週間後
8.リリース計画の見直し
9.見直した計画の報告
10.18週間後
リファレンス・リスト
訳者あとがき