間違ったアジャイル開発をしていませんか?

アジャイル開発の大元にあるタイムボックスという考え方


ホーム=>グループ見出しページ=>詳細ページ 

間違ったアジャイル開発をしていませんか?

アジャイル開発の大元にあるタイムボックスという考え方

●Boundary(境界)とタイムボックス

この言葉には、あまり聞き覚えがないかもしれませんが、アジャイル開発のなかでは大変重要な概念です。もともとは、アジャイル開発のスクラムで使われるBoundary(境界)という言葉で、スクラムの基本として(の2つのGoalやFixed Teamとともに)唱えられていました。

では、境界とは何でしょうか?そう、時間の境界という意味です。そこからタイムボックス(時間の箱)の概念が生まれました。それでは、タイムボックスとはなんでしょうか?また時間の境界という考え方はどんな価値を提供するのでしょうか?

●ホワイトカラーの仕事をタイムボックスで見える化

今回はこの時間という概念についてお話します。

ホワイトカラー(システムをつくる、プログラムを書くといった仕事も同じ)の仕事では、時間の流れと同時に仕事も流れています。しかし、製造現場のように「部品を加工した」「部品を組み立てた」というような仕事の区切りをつくることが大変難しいです。ですから依頼された仕事はその仕事が終わるまで(完了)[TL1]も見えませんし、どんな問題を抱えているかも[TL2] わかりません。すべてが終わったに、はじめてその結果から状況がわかり、判断できるようになります。これがホワイトカラーの生産性を悪くする「やり直し(Re Do)」を多発させる要因になります。

もし仕事の途中でかチェックポイントのように『見える化』ができれば、やり方や品質レベルなどに対処できると思いませんか?そうです。もし途中経過がわかれば、納期や品質など事前に対処でき、やり直しを削減できます。

しかし残念ながら、今までのホワイトカラーの仕事の仕方では、このようなことが不可能でした。それは、時間の箱、時間の境界という考え方がなかったからです。そこでBoundary(境界)という概念の重要さに気づけていただけると思います。

流れる時間を一定間隔とし、Boundary(境界)を設定し、その時点に到達したら、なにかしらの[TL3] アウトプット(そこまでの作業の成果)を出す。このようにすれば、ホワイトカラーの流れていく仕事も映像のコマ送り的にその時点時点で切り出して、検討することが可能になります。この一定時間の枠をタイムボックス(時間の箱)と呼びます。

このように考えるだけで、ホワイトカラーの流れていく仕事を『見える化』でき、納期や品質を作業途中でも管理できるようになります。

●イテレーションは一番外側のタイムボックス

アジャイル開発ではこのタイムボックスの一番外側(一番大きな単位)としてイテレーション(スプリント)と言う概念が設定されています。この考え方を適用して一定時間の箱のなかで、なんらかのアウトプット(インクリメント)を見せることで反復開発を行う手法が定義されています。つまり、アジャイル開発の基本的な働き方の大元にこのタイムボックスという行動習慣があるのです。これに沿った行動(開発作業)をとることがアジャイルなやり方となります。アジャイル開発のプラクティス(技術手法)を実践するだけではアジャイル開発にはなりません。この行動習慣ができてはじめてアジャイル開発になるのです。

一番外側のイテレーション(スプリント)の内側には幾重にも小さなタイムボックスがあります。そのすべての同期がとれてはじめてアジャイル開発の効果が生まれてきます。

●タイムボックスの効果

もう少し詳しい説明をする前に、Boundary(時間の境界)、タイムボックスの効果を挙げておきます。

結果的に仕事が素早く片付けられる。どうでしょう。素晴らしい働き方ではないでしょうか?ちょっとした頭の切り替えで、こんなにもいろいろなメリットのある働き方ができる。アジャイル(スクラム)を試してみたくなりませんか?

ぜひチャレンジしてください。ジェフ・サザーランドが『スクラム』の本のなかで、『半分の時間で2倍の仕事ができる』と表現したことがまったくの嘘や夢物語でないことに気づくと思います。

ではメリットについて詳しく解説していきましょう。

▪︎ 時間を有効に使える

『仕事の量は、完成のために与えられた時間をすべて使い切るまで膨張する』

これはイギリスの歴史学者・経済学者であるパーキンソンの言葉です。妙に当たっていませんか?そうです、もともと時間には弾力性があり、なんとなく使ったのではいくらあっても足りないと感じます。また、同じ仕事量でも意識の違いでかかる時間はまったく異なると感じたことはありませんか?このように我々は時間という目に見えない流れを使って仕事をしていますが、何も意識しなければ無限大に膨張してしまいます。ですから『タイムボックス』という考え方を導入して、貴重な時間を有効に使えるように、『見える化』しなければなりません。『見える化』できれば当然有効に使おうという意識が芽生えます。

▪︎『効率良く仕事ができる(思い切りの良い意思決定ができる)

皆さん、ちょっとご自身の経験を思い出してください。締め切りが迫っていて、切羽詰まって慌てて仕事を片付けなければならない状況を想像してください。この時の仕事を片付ける速さ(スピード)は、いくらでも使いたいだけ時間が使える状況と比べて早くありませんか?また思い切りの良い判断(意思決定)をしていませんか?

そうです。締め切りが迫っているという気持ちから、グダグダしたことを避けて素早く意思決定しています。それでも大きな判断ミスはしていないと思います。如何でしょうか?我々ホワイトカラーの仕事とは、非常に小さな意思決定の連鎖で成り立っています。ですからグダグダ悩めば、それだけ時間を浪費します。


▪︎ 流れる仕事(時間)の見える化の最大のツールになる

これは、もう皆さんおわかりですね。流れる仕事、時間を『見える化』するために、一定時間で区切りを設定するのですから、ちょうど動画をコマ送りしているように途中経過を見ることができます。このコマ送りの状態一つひとつをログとして保管しておけば、れっきとした説明責任を果たすことができます。

▪︎ 働くリズムを整え、楽しく持続可能なペースで素早く仕事ができる

ジョギングやマラソンなどの長距離を走っていときのことを思い起こしてください。ある一定の自分にとって心地良いペース(リズム)で走っているときは疲れを感じにくく、気持ち良く走れていませんか?また気持ちに余裕ができ、周りの景色などを眺めるゆとりもできませんか?そうです、仕事でもこのような『ワーキングリズム』が大変重要です。人は皆自分独自のリズムを持っています。自分に合ったリズムで行動しているときには、疲れを感じにくく気持ち良く動けるものです。ちょうど「ランナーズハイ」という言葉がありますが、『ワーキングハイ』という言葉もあって良いのではないでしょうか?

特にチームで仕事(作業)をする時には、この個人個人で異なるリズム感を合わせる必要があります。そうすればチームとして全員が働きやすい環境を作り出せます。例えばこうです。今チームの中に2拍子(♪♪ズン、チャ。ズン、チャ。♪♪)で働く人がいます。また三拍子(♪♫ズン、チャチャ。ズン、チャチャ。♪♫)、さらに四拍子(♫♫ズン、チャチャチャ。ズン、チャチャチャ。♫♫)で働く人がいます。

どうやってリズムを合わせられますか?12拍子毎に合わせることは可能ですね。そうです12拍子毎にタイムボックスを区切れば、リズムの異なる人たちのチームでもリズムを合わせて全員が気持ち良く働くことが可能となります。これもタイムボックスの良いところです。ちょっと脱線してしまいました。話を戻します。

製造現場のように体を動かす仕事(作業)では、体が自然とリズミカルに動くことができます。このリズムを刻む(持続可能なペース)ための方法として、タクトタイムという概念があります。しかし残念なことに我々ホワイトカラーの仕事は、一日中椅子に座って、もくもくと仕事(作業)をするというリズミカルな仕事(作業)ではありません。ですから、リズミカルに仕事をするための『ワーキングリズム』を刻むことが大変難しいです。

そこで、ここに『タイムボックス』という概念を導入すれば、タクトタイムに替わって、持続可能なペースである『ワーキングリズム』を人工的に作り出せます。このワーキングリズムを刻むしかけは、やはりタスクの粒度を均一化することで(60分以内)、容易に実現可能です。

▪︎ 集中力を維持して仕事ができる

切羽詰まっている時は、集中していませんか?そうです人間の脳は、時間を意識して、スピードを上げるほど活性化します。タイムボックスはこの切羽詰まった感を人工的に作り出します。脳が活性化すると集中力が高まります。集中力が高まればミスは少なくなります。そうですね、仕事をしているときに集中力を高めて仕事ができれば、ミスを抑えられて、やり直し(Re Do)を防止でき、結果生産性が高くなります。

ただ残念なことに、人間誰しも長時間にわたって集中力を持続させることができません。集中力は長く続きません。脳科学の先生の言を借りれば、せいぜい60分間が限度だと言われています。休むこと(10分程度のリラックス)で脳が充電されて再び集中力を高めることができるそうです。ですから50分間の作業(仕事)、10分間の休憩というサイクルで仕事を継続すれば、集中力を絶やさずに働くことが可能となります。

もうおわかりですね、タイムボックスをこのように設定すると、常に集中力を維持した働き方が可能になります。このリズムを作りだすためには、タスクの粒度(大きさ)を60分以内になるように細かく切り分けていきます。

もう一度切羽詰まって働いているときを思い起こしてください。時間がない(時間を意識する)とグダグダ意思決定で迷うことも少なくなります。「これもやっておこう」「あれもやっておこう」といった無駄な作業を切り捨てていませんか?これが立派な『ムダ取り』になります。そうです時間を意識するだけで、無駄な作業を防止できるのです。タイムボックスのメリットは大きくありませんか?

▪︎ 残業(オーバータイム)や休出がなくなる

タイムボックスを行う上では、事前に自分達のチームにとって全員が働きやすい『ワーキングリズム』を刻めるように設定します。決して仕事の難易度や作業量の大きさなどで決めるものではありません。ここは注意が必要です。往々にして仕事の難易度や作業量の大きさでイテレーション(スプリント)の期間を2週間とか4週間と決めるアジャイル開発チームを見ますがこれは全くの誤りです。これでは高速で、高品質なソフトウエアを作れません。

全てがワーキングリズムで、それは仕事に関係なく事前に決めることです。事前にタイムボックスを決めますから、基本的には残業を見越すことはできませんし、休日出勤などもありません。すべてが通常の勤務時間内で終結さするようにタイムボックスを設定するはずです。

もし、皆さんの周りでアジャイル開発をやっています、でも残業しています、という状況を見たら、それはアジャイルマインドセットの欠如した『なんちゃってアジャイル』だと指摘してあげましょう。

令和4年4月12日

戸田孝一郎