なぜアジャイル開発は変化に即応できるのか
VUCAの時代、すなわち、変化が早く、未来を予測できない時代にあっては、圧倒的なスピードこそが、唯一の対処方法だ。そのためには、大幅に権限を委譲された自律したチームに任せなくてはならない。
例えば、自動運転車(正確には自律運転車、英語では、autonomous vehicle と呼ぶ)を考えてみよう。もし、まっすぐなトンネルの中だけを走行するのならば、予めあらゆる事象を予測して、プログラミングし、確実にその通り動作するように、監視、制御すればいい。それで問題が起こっても、トンネルの状況は固定的なので、それに合わせて修正することで、以降のトラブルを確実に回避できる。
しかし、トンネルの中しか走れない自動運転車など、使いものにならない。目的地をインプットすれば、後は、時々刻々変化する現場の状況を自律的に判断し、その場で即応できなければ、事故を起こしてしまうだろう。起こりうるあらゆる事象を事前に想定することなどできないから、自動車自身に自律的な判断と動作を委ねるしかないわけだ。
アジャイル開発が、変化に即応できるのも同じ理屈が通用する。目的地の設定=「ビジネスを成功させること」、自動運転(自律運転)=「現場に権限を委譲し、現場を信頼して、自律的に判断、行動させること」という前提に立つからだ。
そんなアジャイル開発について、「現場に任せてしまうので、計画を立てても意味がない」という誤解をしている人たちがいる。アジャイル開発は、「変化に対応することを計画に従うことよりも重視する」という考えがあるからだと言う人がいる。あるいは、自分たちの計画の失敗を取り繕うために、「アジャイル開発だから、仕方がない」と言う人たちもいる。
結論から言えば、計画は必要である。ただし、それは一切の変更が許されず、その通りに実行しなければならない完全無欠の計画ではなく、どのような状況にも対応できる計画である。そして、計画とは仮設であり、変化とともに修正すべきものであるとのコンセンサスが前提にある。つまり、「計画を実行する過程で生じる変化に対応すること」こそが、大切だという考え方が、共有されていなければならないのだ。
また、アジャイル開発に従来と同様の役目を担うプロジェクト・マネージャーは不要だ。品質や進捗、トラブルへの対応は、プログラムを書く当事者である自律したチームに委ねるからだ。そんな彼らの取り組みの障害を排除し、最大限の支援を提供するのが、スクラム・マスターの役割であり、プロマネのような、プロジェクトを管理して、指示や命令を行う役割はない。
自律したチームは、自分たちのやっていることを自分たち自身でふり返り、どうすれば、もっとうまくいくかを、考え、知恵を絞り、変化に柔軟に即応し、不断の改善を繰り返す。
「現場、現物、現実=三現主義」という言葉ある。机上の空論ではなく、当事者が、実際に"現場"で"現物"を観察し、"現実"を認識した上で問題解決を図るという考え方のことで、品質やスピードを向上させるための日本の製造業における伝統的考え方だ。その考えを土台にしているのが、アジャイル開発であることは、ご存知の方も多いだろう。
このような前提があるにもかかわらず、管理者が、現場を信頼せず、作業の進捗や品質に、細かく介入しようとすれば、現場の自律は失われ、モチベーションも大きく下がり、変化への即応力もなくなってしまう。
自律したチームとは、変化に即応できるスピードを手に入れるための不可欠な要件であろう。これは、システム開発だけで言えることではなく、あらゆるビジネス・シーに於いて、通用する考え方である。