本研究所では、アジャイル開発を素材に、より良いシステム開発のあり方を求めていきます。開発手法そのものを見直すことは、より良いシステムを作るだけではなく、開発を担当するチームが成長し、個人の満足度も高まると考えられるからです。今回は、アジャイルと要件定義の関係について考えてみます。

 みなさんはもう十分に実感されているかもしれませんが、ここ最近の私は、アジャイル開発における要件定義の重要性を改めて認識するようになりました。アジャイル開発といえば、要件定義よりも「まずは作ってみる」といったイメージが強いかと思いますが、要件定義が重要な作業であることには変わりがないと考えています。

 一般的に、アジャイルではユーザーが実施したいことを端的に表した「ユーザーストーリー」を作成し、開発を進めていきます。ですが、これまでの私が「それだけでは要件定義が不足している」と不安に感じていたのは事実です。

 そんなときに、アジャイルプロセスの一つ「スクラム」のプラクティスを中心に現場改善のヒントを探求するための勉強会「すくすくスクラム」において、ユーザーストーリーがテーマに取り上げられました。この勉強会がきっかけになり、アジャイルにおける要件定義に対する私の考えは、大きく変化したのです。

すくすくスクラムに参加してきました

 私が参加したのは、2010年2月25日に開催された、すくすくスクラムです。「アジャイルレトロスペクティブズ」の翻訳者であるワイクルの角征典さんによる、「ユーザーストーリーはこう書け!」がテーマです。初めての参加でしたが、内容が濃く、グループワークも活発で、とても楽しかったです。

 最初のグループワークでは、「要件定義はなぜ難しいのか」について意見を出していきました。私のチームの意見を大まかに分類すると、以下のようになります。

・分からない
・伝わらない
・気が付かない
・定まらない
・切りがない

 これらをみれば分かるように、いずれも「~ない」で終わっています。なんとなくネガティブなイメージが強いようです。何もないところからシステムの要件を決めていくことには、やはり誰もが苦労しているということでしょう(汗)。

 これに対し、角さんは、ユーザーストーリーの基礎や要求定義の歴史を紐解きながら、「3行で書くユーザーストーリー」というものが紹介してくれました(図1)。

図1●「3行で書くユーザーストーリー」の例
図1●「3行で書くユーザーストーリー」の例

 「3行で書くユーザーストーリー」は、次のような順序で作成します。

(1)まずはユーザーが3行のユーザーストーリーを書く
(2)それをもとに開発者が質問する
(3)開発者がユーザーストーリーを書き直す
(4)ユーザーストーリーが明確になるまで(2)と(3)を繰り返す

この先は会員の登録が必要です。今なら有料会員(月額プラン)登録で6月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら