変化に柔軟に--アジャイル開発チームの能力を最大化する「タイムボックス」

吉原庄三郎 (ウルシステムズ) 若井雅裕 (ウルシステムズ)

2015-11-16 07:30

タイムボックスとは

 今回は「タイムボックス」について解説する。アジャイル開発では「イテレーション」と呼ぶ、2~4週間程度の期間で開発を繰り返す。各イテレーションの開始時に達成すべきゴールを設定する。そして、ゴールから逆算して必要最低限のタスクをイテレーションに割り当てる。こうしたアジャイル開発特有の時間管理手法をタイムボックスと呼ぶ。

 タイムボックスの特徴は、最初から全体計画を詳細に決めなくてよい点である。全体計画は緩く立てておき、タイムボックス単位で具体的な計画を立てていく。計画はタイムボックスが始まるタイミングで見直して構わない。

 もちろん、直近のタイムボックスしか詳細に計画しないので、先々を見通すことはできない。ある機能をいつ頃作るのか、いつまでにシステムができあがるのか。こうした問いに答えるのは難しい。

タイムボックスのイメージ
タイムボックスのイメージ(筆者作成)

 対極にあるのがウォーターフォールだ。プロジェクト(もしくはプロジェクトのフェーズ)全体を初めに計画する。全体を見通すためタスクの依存関係を見通しやすく、クリティカルパスやクリティカルチェーンなどの考えに基づき作業の順序などを最適化できる。

 ただし、緻密であるが故に、計画を変更しなければならない場合は手間が掛かる。現実的にはプロジェクトでは予想外の出来事が頻繁に発生する。結果として絵に描いた餅になりやすい。


ウォーターフォールのイメージ(筆者作成)

 タイムボックスは「完璧な計画などない。必ず計画変更は必要になる」という前提に立っている。そもそも先々を正確に見通すことは困難である。計画の立案にはタスクの見積りが必要だが、半年後、1年後のタスクを正確に見積ることは難しい。プロジェクトマネージャーはリスクを避けるため余裕のあるスケジュールを立てるだろう。その結果、プロジェクト後半に根拠のないバッファを内包したタスクが並ぶことになる。

 よくアジャイルと比較して、ウォーターフォールはシステムの完成時期が明確であるといわれるが、実際にはそう精度は高くない。現実的な効用は視覚的に見える状態にあるため安心できるといった程度だろう。それでもないよりはましという考えもあり得る。しかし、そうしたビジョンに固執するのを止めれば得られるものが多いのも事実だ。

タイムボックスで開発チームのパフォーマンスを最大化する

 タイムボックスの効用は大きく2つある。1つは変化に柔軟に対応できること。もう1つは、チームメンバーのパフォーマンスを最大化できることだ。前者は分かりやすい。アジャイル開発では全体の詳細な予定は立てず、タイムボックスごとに達成すべきゴールを設定する。よって、タイムボックスの開始時に仕様変更も取り込むことができる。もちろん、仕様変更に対応する分だけほかのことが後回しになるが、取捨選択の問題にできる。

 タイムボックスによるパフォーマンスの最大化はいくつかの要因がある。まず、プロジェクト全体のゴールというと数カ月か数年先になるが、タイムボックスのゴールなら数週間先なので具体的にイメージできる。ゴールが具体的であれば開発チームのベクトルを揃えやすいし、結束も強めやすい。つまり、「自己組織化」を促進できる。

 また、タイムボックスは期間が一定なので作業のリズムを作りやすい。例えば、2週間単位であれば第1週の月曜日にイテレーション計画を策定し、火曜日から翌週の月曜日までは開発、第2週の火曜日から木曜日でテストと修正、最後の金曜日は振り返りに当てるといったリズムが作れる。結果として開発チームのパフォーマンスも向上する。

 さらに、割り込み作業を排除できる。タイムボックスの開始時にユーザー側の要求を積極的に取り入れるが、期間中は変更を受け付けない。こうすることで開発チームは作業を中断されることなく、高いパフォーマンスを発揮できる。割り込み作業の防止は一見地味に映るかもしれないが、その効用は計り知れないくらいに大きい。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]