タイムボックスとはなにか?

先日、あるAさんからこんな質問をいただいた。
アジャイル開発のScrumをはじめてから、打ち合わせの時間が増えて、コードを書く時間がなくなった。どうすれば時間を確保することが可能か?」
時と場合によるが、タイムボックスをきちんと守っていれば、必要な時間を確保することは可能だと答えた。

タイムボックスとは?

固定された期間であり、計画のときに作業を達成できる量を入れる箱のことである。
例えば、プログラム開発者にとっては、int型のようなものをイメージするとわかりやすいだろう。

タイムボックスの種類

・リリースまでのタイムボックス
・スプリント(イテレーション)のタイムボックス
・スプリントプランニングのタイムボックス
・朝会のタイムボックス
・ふりかえり(スプリントレトロスペクティブ)のタイムボックス
・デモ(スプリントレビュー)のタイムボックス
・プロダクトバックログリファイメントのタイムボックス
などがある。

タイムボックスを設定したときと設定しなかったときの違い

<タイムボックスを設定しなかったときの例>
・ダラダラと時間だけが過ぎてしまい、目標を達成することが難しい。
・長い時間を使っても、良いものが出来ないことがある。
・人任せになることがある。

<タイムボックスを設定したときの例>
・決まった時間内で、ゴールを達成できるように参加者全員が協力する。
・短い時間で最高のパフォーマンスを発揮しやすい。
・参加者自身が積極的に考えるため、チームのスキルが向上する。

タイムボックスで重要な3つのこと

1.チームで作業を達成できる量(時間)を決め、ゴールを達成できるように協力すること。
 チームで同じ目標のゴールに向かうことが大事。軌道修正が可能である。
2.短いタイムボックスを切って集中し、ダラダラと時間を使わないこと。
 人間には、集中できる時間が限られている。だから、短時間に最大のパフォーマンスを発揮することが大事。
3.決めたタイムボックスを超えた場合は、ふりかえりを行いカイゼンすること。
 手作業で実施していたものを自動化するなど、時間がかかったものを深堀して対策していくことが大事。
 同じ過ちを繰り返さないようにカイゼンすること。

さいごに

Scrumでタイムボックスを必要とするのは、固定された期間(スプリント)で、何個分の価値があるのかを把握して、プロジェクト全体の見通しを良くするために必要である。

タイムボックスは、チームや関係者と一緒に決めていき、時間を崩さずに達成することが大切である。
もし、崩している場合は、チームのカイゼンスキルアップが必要であることを示している。
したがって、短いタイムボックスを設定し実施することで作業時間の確保やより良い時間の確保ができることだろう。