発見するためには?
アジャイルな開発での「発見」について書いてみます。
「発見する」シーン
アジャイルなプロジェクトでは「発見」と「フィードバック」が大きなカギになります。
「発見」→「フィードバック」が発生するシーンの例を挙げてみましょう。
- ストーリーカードを元に顧客と要件を掘り下げていったら、ストーリーが大きくなりすぎていることに気づいた
- ICONIXプロセスの要求レビューをしたら、新たなドメインモデルを発見した
1の例は、顧客が書いたストーリーカードを元に話を聞き、工数を見積もったり、処理イメージを出すようなシーンです。一緒に話していくうちに新たなストーリーを話し出したり、複数のストーリーにしたほうが取り扱いやすいことに気づいたりします。ここで大事なのは気づくことです。この場合、「違うストーリーの話だ」「分けたほうがよさそうだ」と気づくことができれば、
「その話はこれとは別のストーリーとして話しましょう。簡単にストーリーを書いてもらえますか?」
とか、
「ストーリーがひとつで取り扱うには大きすぎるようです。ストーリーを分けますね。」
というような感じで顧客にフィードバックして、上手に話しをすすめていくことができます。それができない場合、顧客との認識にギャップが生じたり、取り扱いにくいストーリーができてしまうことになります。
「発見できない」ケース
「見つかったものをフィードバックしない」ケースの多くは、
「見つかったことに気づかない」ケースが多いように思います。
1の例で言うと、ストーリーが違う話に変わったり、掘り下げるうちに違うストーリーが出てきているのに、そのまま見過ごしてしまうような場合です。
このような場合には、今何について話しているのか明確に意識していれば、話が変わったことや違うストーリーが出てきたところで、何かしらの違和感を感じるでしょう。そのためには、取り扱っているドメインに対してある程度の理解も必要かもしれません。
2の例で言うと、要求レビュー中に顧客が何の気なしに発言した単語が実はドメインモデルに組み入れるべきものだったりします。何の気なしに発言しているので、顧客も自分達も、その重要さに気づきません。
ですが、「ユビキタス言語で話す・聞く」ということを意識していれば、ユビキタス言語にない単語について、何かしらの違和感が生じるはずです。その違和感の正体がわかれば、
「その単語は重要そうです。詳しく聞かせてください」
というように、フィードバックしながらすすめていくことができるでしょう。
違和感を大事にする
大事なのは、
・取り扱うドメインに対して、少なくともある程度の理解をもつ
→そもそも顧客の話を理解するために、最低限理解すべき知識があるはず。ユビキタス言語が成り立つ前提かな?・「ユビキタス言語で話す、聞く」意識を持つ
→「ユビキタス言語」にない言葉には違和感があるはず。そういう言葉には敏感に反応する。・関心を分離して、今自分達が何について話しているのか明確に意識する
→顧客の関心がブレたら要注意。一旦置いておくか、入り込むかをジャッジする。(もちろん、自分もブレないこと。)
これらを実践すれば、顧客との話やレビュー中に「違和感」として感じ取ることができるはずです。その「違和感」を見過ごさないで追跡していけば、「発見」することができるでしょう。
コメントはまだありません。