contentタイムボックスとは今回は「タイムボックス」について解説する。アジャイル開発では「イテレーション」と呼ぶ、2~4週間程度の期間で開発を繰り返す。各イテレーションの開始時に達成すべきゴールを設定する。ゴールから逆算して必要最低限のタスクをイテレーションに割り当てる。したアジャイル開発特有の時間管理手法をタイムボックスと呼ぶ。タイムボックスの特徴は、最初から全体計画を詳細に決めなくてよい点である。全体計画は緩く立てておき、タイムボックス単位で具体的な計画を立てていく。計画はタイムボックスが始まるタイミングで見直して構わない。直近のタイムボックスしか詳細に計画しないので、先々を見通すことはできない。ある機能をいつ頃作るのか、いつまでにシステムができあがるのか。した問いに答えるのは難しい。タイムボックスのイメージ(筆者作成)対極にあるのがウォーターフォールだ。プロジェクト(もしくはプロジェクトのフェーズ)全体を初めに計画する。全体を見通すためタスクの依存関係を見通しやすく、クリティカルパスやクリティカルチェーンなどの考えに基づき作業の順序などを最適化できる。緻密であるが故に、計画を変更しなければならない場合は手間が掛かる。現実的にはプロジェクトでは予想外の出来事が頻繁に発生する。結果として絵に描いた餅になりやすい。ウォーターフォールのイメージ(筆者作成)タイムボックスは「完璧な計画などない。計画変更は必要になる」という前提に立っている。そもそも先々を正確に見通すことは困難である。計画の立案にはタスクの見積りが必要だが、半年後、1年後のタスクを正確に見積ることは難しい。プロジェクトマネージャーはリスクを避けるため余裕のあるスケジュールを立てるだろう。その結果、プロジェクト後半に根拠のないバッファを内包したタスクが並ぶことになる。アジャイルと比較して、ウォーターフォールはシステムの完成時期が明確であるといわれるが、実際にはそう精度は高くない。現実的な効用は視覚的に見える状態にあるため安心できるといった程度だろう。それでもないよりはましという考えもあり得る。したビジョンに固執するのを止めれば得られるものが多いのも事実だ。タイムボックスで開発チームのパフォーマンスを最大化するタイムボックスの効用は大きく2つある。1つは変化に柔軟に対応できること。1つは、チームメンバーのパフォーマンスを最大化できることだ。アジャイル開発では全体の詳細な予定は立てず、タイムボックスごとに達成すべきゴールを設定する。よって、タイムボックスの開始時に仕様変更も取り込むことができる。仕様変更に対応する分だけほかのことが後回しになるが、取捨選択の問題にできる。タイムボックスによるパフォーマンスの最大化はいくつかの要因がある。プロジェクト全体のゴールというと数カ月か数年先になるが、タイムボックスのゴールなら数週間先なので具体的にイメージできる。ゴールが具体的であれば開発チームのベクトルを揃えやすいし、結束も強めやすい。「自己組織化」を促進できる。タイムボックスは期間が一定なので作業のリズムを作りやすい。2週間単位であれば第1週の月曜日にイテレーション計画を策定し、火曜日から翌週の月曜日までは開発、第2週の火曜日から木曜日でテストと修正、最後の金曜日は振り返りに当てるといったリズムが作れる。結果として開発チームのパフォーマンスも向上する。割り込み作業を排除できる。タイムボックスの開始時にユーザー側の要求を積極的に取り入れるが、期間中は変更を受け付けない。することで開発チームは作業を中断されることなく、高いパフォーマンスを発揮できる。割り込み作業の防止は一見地味に映るかもしれないが、その効用は計り知れないくらいに大きい。Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。ついて運営会社サイトマップ当サイトは最新ブラウザでの閲覧を推奨します。permission.このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。