PR

アジャイルではユーザーもチームの一員

図1●評価・使用者と開発者の立場が分かれていると、コミュニケーションの難しさが発生する
[画像のクリックで拡大表示]

 チームが成熟する過程で重要なのは、ユーザーと一緒に良いシステムのイメージを共有していくことでしょう。アジャイル開発では、ユーザーもチームの一員になって開発していきます。図1のように、開発者とユーザーという二つの立場があるとすれば、成果物を作り出す立場と、それを評価し使用する立場に分かれているため、基本的な知識と立場の相違によるコミュニケーションの難しさが発生します。

図2●評価・使用者と開発者が常にコミュニケートするアジャイルでは、知識や立場の相違に起因する差は小さくなる
[画像のクリックで拡大表示]

 しかし、アジャイル開発のように、システムを開発するチームにユーザーも参加していれば、常にユーザーと開発者がコミュニケーションをとりながら開発するのですから、知識や立場の相違に起因する差は小さくなります(図2)。開発過程で、開発者はユーザーが求めているものを知り、ユーザーは開発者がどういう意図を持って開発しているかを汲み取るのです。情報システムを開発する過程では、良いイメージを共有し、成熟させていくことがなにより大事だと思います。

 私の場合もユーザーの意図を汲み取りながら開発に取り組めました。ユーザーも要求の整理や分かりやすいフィードバックを開発メンバーに伝える方法などを工夫し、互いに歩み寄る努力をしていたと思います。私たちが恵まれていたのは、チームの一員であるユーザーが広い視野を持って接してくれたことでした。おかげで、場当たりな的な開発が避けられたのです。

間違いに早期に気付けば次に生かせる

 ユーザーの要求が間違っていれば、使いづらいシステムになってしまいます。しかしアジャイル開発の場合は、短いサイクルで自分の要求がシステムとして実現されます。そのため、ユーザーは自分の要求がすぐ形になり、それを使ってエンドユーザーや上司に説明する機会を設定できます。結果。多くのフィードバックを得られるでしょう。その過程で早く失敗に気づき、原因を理解し次に生かすというサイクルを回せるのです。

 しかし、このサイクルが回らなければ、どんどんと失敗へのシナリオを進めていってしまうことになります。

 最初から的確な要求を述べる能力を要求することは困難です。私自身は、そうした状況をまだ経験したことがありませんが、開発者はユーザーの考えをただ実現するだけではなく、要求を聞き出す役割があることを自覚しながら工夫していかなければならないのかもしれせん。今はまだ経験が足りないので断言はできませんが、開発者側だけではなく、ユーザー側も成長し、より良い情報システムを開発していくことこそが大切ではないでしょうか。

 アジャイル開発も最近は、開発手法の一つとして認知され浸透し始めています。しかし、あくまでもアジャイルは開発手法であり、チームが次のステップに進むための糧であり、きっかけに過ぎません。まずは自分のチームに目を向け、チームの現状を認識して少しずつ改善をしていくことが重要ではないでしょうか。その過程で、チームが利用できるアジャイルのプラクティスは何か少し考えてみることが大切なのではないかと感じています。