本研究所では、アジャイル開発を素材に、より良いシステム開発のあり方を求めていく。開発手法そのものを見直すことは、より良いシステムを作るだけではなく、開発を担当するチームが成長し、個人の満足度も高まると考えられるからだ。今回は、私がアジャイル開発に取り組む中で抱いた、「アジャイルはすでに成熟しているのではないか」という疑問を基に、考えてみましょう。

 第1回では、私とアジャイル開発の出会いを紹介しました。いくつかのプロジェクトを経て、アジャイルには緻密に考えられた仕組みがあり、それらを利用することにより開発をスムーズにできるということを体験できました。

 そんなことを考えていると、ふと、「アジャイルはすでに成熟しているのではないか」という疑問が沸いてきました。アジャイルはツールや仕組みも安定しており、完璧とまでは言わないまでも、様々な開発現場にいつでも導入できると考えているからです。

 そこで、以前一緒に仕事をしたことがあるコンサルタントの方に「アジャイルの成熟」について質問してみました。そのコンサルタントの方の答えはこうです。

良い開発ができたと感じたのは、アジャイルが成熟したのではなく、あなたたちのチームが成熟したから上手く行ったように感じたのだと思います。あるチームで成功した方法を、そのまま他のチームで実践しても上手くいかないことだってありますよ

アジャイルはベストプラクティスの集まり

 さらに話を聞いてみると、そもそもアジャイルというのは、過去の開発者たちのベストプラクティスの集まりだということです。様々なチームがアジャイル開発に取り組み、様々な改善を繰り返している限り、アジャイルは常に変化(進化)し、アジャイルが成熟するということはないということです。

 私自身がこれまでに参加したプロジェクトチームを振り返ってみても、確かに本やインターネットで紹介されているプラクティスのすべてを取り入れているわけではありません。ペアプログラミングやかんばんボードなども、徐々に取り入れた結果、定着してきたのです。

 主要なプラクティスが安定し始めると、それぞれに工夫を凝らし、新しいツールやプラクティスを導入するようになります。すべての仕組みを取り入れる必要はなく、その時々に必要なものを取り入れることで、無理なく改善していくことができました。最初から山積みの課題を前にしたら尻込みしていたことでしょう。そんな状況では、挑戦することさえもあきらめざるを得ません。

 アジャイル開発の成熟を考える一方で、“チーム”の成熟とは何か考えてみましょう。私の意見としては、チームが成熟するということは、「改善をしながら安定して力を発揮できる」ということです。力を発揮するためには、ベストプラクティスを取り入れる柔軟性が必要です。

 そうです。アジャイルの成熟ではなく、チームの成長が大事と私は考えるようになりました。過去の成功事例も、ツールやプラクティスの導入効果だけではなく、チームの成長があってのものなのです。