アジャイルモデリング(AM)
公式サイト
モデリング成果物>ユーザ機能

ユーザ機能の概要

by Scott W. Ambler, Copyright 2003

ユーザ機能 (feature) とは、<action><result><object>という形式で表現される、クライアントにとって価値のある小さな機能です。名前から分かるようにユーザ機能は、ユーザ機能駆動開発(Feature-Driven Development: FDD) (Palmer and Felsing 2002)の重要な側面になっています。図1に大学システムのユーザ機能をいくつか示します。ユーザ機能は非常に小さく、通常は数時間で実装することができます。

 

図1. ユーザ機能

  • 学生をゼミの順番待ち名簿に追加する

  • 駐車券の料金を計算する

  • 成績証明書の平均点を計算する

  • 学生の名前と住所を成績証明書に表示する

  • 学生をゼミから脱退させる

  • 学生をゼミに登録する

  • ゼミの前提条件を一覧にする

  • 学生のゼミを成績証明書に一覧表示する

  • 駐車券の数を追跡する

図1のユーザ機能は、少なくとも表現の仕方の点では、基本的に従来のユーザ機能を形式化したものです。形式化するには、「しなければならない」という文でユーザ機能を記述する方法もあります。たとえば、「成績証明書の平均点を計算する」は「システムは成績証明書の平均点を計算しなければならない」となります。ただし、ユーザ機能では文末の表現の仕方は少し異なりますが、私の経験では「しなければならない」という文も実際上同じことを表します。

ユーザ機能の大きな利点は、サイズが小さいために見積もりや実装がしやすいことですが、そのサイズが理由で、1つのユーザ機能だけでは利害関係者に大きな価値をもたらすことがほとんどないという問題も発生します。これに対処するには、ユーザ機能を「ユーザ機能セット」というグループにまとめます。図2は、図1のユーザ機能を「成績証明書」「登録」「駐車券」という3つのユーザ機能セットに整理したものです。ユーザ機能セットにはそれぞれ、複数の関連するユーザ機能が含まれています。

 

図2. ユーザ機能セット

成績証明書

  • 成績証明書の平均点を計算する

  • 学生のゼミを成績証明書に一覧表示する

  • 学生の名前と住所を成績証明書に表示する

 

登録

  • ゼミの前提条件を一覧にする

  • 学生をゼミに登録する

  • 学生をゼミから脱退させる

  • 学生をゼミの順番待ち名簿に追加する

 

駐車券

  • 駐車券の料金を計算する

  • 駐車券の数を追跡する

 

要求という観点から言うと、FDDにとってのユーザ機能は、ラショナル統一プロセス(RUP)にとってのユースケースやXPにとってのユーザストーリーと同じで、要求のもっとも重要な情報源であり、計画を立てるときのもっとも重要な入力情報です。しかし、要求のまとまりの粒度という点からいうと、概念的にはユーザ機能セットの方がずっとユースケースに近いものになっています。ユーザ機能の見積もりや優先度の設定は、ユーザストーリーの場合と同じように行ないます。ユーザ機能の作り方は非常にシンプルなので、それを表現するにもインデックスカードやスプレッドシートなどの非常に単純な道具を使うのが一般的です。

 

 

注: この成果物の説明は『The Object Primer 3rd Edition: Agile Modeling Driven Development with UML 2』より抜粋しました。本ではより詳しく説明しています。


推奨文献

 

その他の文献

アジャイルモデリング(AM)について詳しく知るにはこの本をお薦めします。

 アジャイルモデリング

 

Let Us Help (以下、北米での話ですのでご注意ください)

Ronin International, Inc. continues to help numerous organizations to learn about and hopefully adopt agile techniques and philosophies.  We offer both consulting and training offerings.  In addition we host several sites - Agile Modeling, Agile Database Techniques, UML Modeling Style Guidelines, Enterprise Unified Process (EUP) - that you may find of value.

You might find several of my books to be of interest, including The Object Primer, Agile Modeling, The Elements of UML Style, and Agile Database Techniques.

For more information please contact Michael Vizdos at 866-AT-RONIN (U.S. number) or via e-mail (michael.vizdos@ronin-intl.com).

 

visits since November 17, 2003.