# タスクボード
## 定義
タスクボード(task board)は、イテレーション中の作業を整理する方法と、残作業を一目で把握する方法という2つの仕組みをチームに提供する可視化ツールである。大きなホワイトボードやコルクボードを使うことが多い。イテレーションプランニングで書いたストーリーカードやタスクカードをテープや画鋲で留め、ストーリー(またはフィーチャ)ごとに行を区切って使う。アジャイルチームでは着手できる状況になるまでタスクにサインアップしない(アサインもされない)ため、タスクボードはイテレーション終盤まで残る「誰もサインアップしていないタスク」を目立たせる役割を持つ。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 20 イテレーション計画のモニタリング]] §1)
## 列構成
図20.1のタスクボードは、左から次の6列で構成される。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 20 イテレーション計画のモニタリング]] §1)
1. **ストーリー**: 見積りポイントの書かれたストーリーカードを貼る列。
2. **やること(To Do)**: このイテレーションで実装するために洗い出したタスクカードを貼る列。タスクカードの見積りは作業完了までの所要時間。
3. **受け入れテスト可能**: ストーリーの受け入れテストを定義できたかどうかを示す列。定義できたら大きなチェックマークをつける運用が紹介されている。
4. **作業中**: 開発者がサインアップしたカードを貼る列。幅をカード1枚分に絞ることで、1人が同時に2枚以上サインアップすることを防ぐ設計になっている。
5. **確認待ち**: 実装タスクは完了したが対応するテストタスクが用意されていない場合にカードを移す列。必須ではないが、チームがアジャイルに馴染むまでは用意したほうがよいとされる。
6. **時間**: ストーリーを実現するまでに残っているタスクの作業時間の合計を記す列。毎朝この列を行ごとに集計した値が、[[バーンダウンチャート]](イテレーションバーンダウンチャート)の更新に使われる。
![[wiki/sources/_attachments/agile-estimating-and-planning-ja/ch20-fig20.1-task-board.png]]
(図20.1 イテレーション途中でのタスクボードの様子。Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 20 イテレーション計画のモニタリング]] §1)
## サインアップの運用
開発者は着手時に「やること」列からカードを取り、自分のイニシャルを書き入れて(サインアップして)「作業中」列に貼る。サインアップできるのは1人1枚だけであり、2枚以上の同時サインアップは禁止される。これにより作業が開発プロセスの中を安定して流れ、マルチタスク化によるスイッチングコストも削減される。タスクカードの見積りはいつでも見直してよく、見積りが大きく外れたと気づいたら、現在のタスクカードを破り捨てて2〜3の新しいタスクに置き換えてもよい。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 20 イテレーション計画のモニタリング]] §1)
## バグトラッキングへの応用
タスクボードは既存バグへの対処にも応用できる。プロダクトオーナーが「重要なバグをN個修正する」という作業をイテレーション計画に含め、修正対象のバグをプロダクトオーナーが選ぶ。開発者は各バグをタスクカード化し(修正にかかる見積り時間も記入する)、「やること」列に貼って通常のタスクカードと同じ作業フローで処理する。イテレーション中に新しいバグが見つかり、それが現在「やること」列にある未着手のバグより優先度が高いとプロダクトオーナーが判断した場合は、新しいバグを「やること」列に貼り出し、その見積りと同じ分だけ未着手のバグをタスクボードから外す。この運用により、チームは新機能開発とバグ修正の配分をプロダクトオーナーの意図どおりに保てる。(Source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 20 イテレーション計画のモニタリング]] §1)
## 横断的知見
(単一ソース(20章)からの起こしであり、他ソースとの突き合わせによる知見はまだない。他章・他ソースがタスクボードに触れたら追記する。)
## 未解決の問い
- タスクボードの物理的な運用(ホワイトボード・コルクボード)は、[[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 19 リリース計画のモニタリング]]が触れた「作業場所が分散したチーム」ではどう代替されるか、20章の「話し合ってみよう」で問いとして投げかけられているのみで、本文に回答はない。
- 「確認待ち」列を経由させず、実装タスク完了後すぐにテストタスクへサインアップできる体制が整ったチームでは、この列を廃止すべきかどうかの判断基準は示されていない。
- タスクボードの列構成(6列)は本章の例(図20.1)であり、ストーリーの性質やチームの成熟度に応じて列を増減してよいかは論じられていない。
## 関連
- 概念: [[バーンダウンチャート]](タスクボードの「時間」列がイテレーションバーンダウンチャートの入力になる) / [[イテレーション計画づくり]](タスクボードに貼るストーリーカード・タスクカードを生成する活動)
- source: [[@2009__Mynavi__アジャイルな見積りと計画づくり - Chapter 20 イテレーション計画のモニタリング]]
- 書籍: [[wiki/entities/アジャイルな見積りと計画づくり|アジャイルな見積りと計画づくり]]
## 出典
- Mike Cohn 著, 安井力・角谷信太郎 監訳, 『アジャイルな見積りと計画づくり』, マイナビ, 2009, 20章.