質問

私は開発プロセスにBDDを使用する方法を学ぼうとしていますが、UIデザインを暗示するものを執筆することがあるため、真新しい開発や新機能のために、UIが常に存在するとは限りません。

たとえば、「列ヘッダーがクリックされたとき」のシナリオでこれを言うと、この機能が何らかのテーブルまたはグリッドに基づいていることを意味しますが、この時点ではまだユーザーストーリーを書いているので、UIはありません。まだ。

その過程でどの時点でUIデザインを思いついたのかを知ることができます。

覚えておいてください、私はBDDに関する記事しか読んでいません。それは私たちのチームを大いに助けると思いますが、それでもこれは非常に新しいです!どうも!

役に立ちましたか?

解決

システムの機能に焦点を当ててシナリオを作成すると、これらのシナリオ内の基礎となる手順をより簡単にリファクタリングできます。それはそれらを柔軟に保ちます。だから私は尋ねます - 列をクリックするとあなたのために何が得られますか?何かを選択していますか?あなたは選択をどうするつもりですか?何かを探して、値で並べ替えていますか?

私は次のようなことを言うシナリオを見るのが好きです:

  • エントリを探すとき
  • 1月に日記に行くとき
  • 最新のエントリを見ると
  • 同じTシャツを黒で見るとき

これらはすべて列ヘッダーをクリックすることを伴う可能性がありますが、実装の詳細は重要ではありません。それはシステムの能力です。

これらの高レベルのシナリオと手順の下で、ボタンをクリックするなどの小さな手順を備えた画面またはページを作成するのが好きです。これにより、リファクタリングが簡単になります。

私はこれを英語ではなくDSLで書きましたが、同じアイデアで動作します - あなたはそれがGUIであるかWebページであるかのステップからわかりません、そしていくつかの手順には複数のUIアクションが含まれます。

http://code.google.com/p/wipflash/source/browse/example.petshop.scenarios/petregistrationandpurchase.cs

あなたがそれを面白くて、多分それが役立つことを願っています。幸運を!

他のヒント

私はあなたを推測します できる それを言ってそれについて書いてください 「情報をxで並べ替えると...」 ただし、シナリオを調整して、グリッド形式で表示されているデータの言及を削除する必要があります。

できるだけ早くUIデザインを開始することは良い考えだと思います。上記の場合は、関連するUIのスケッチでユーザーストーリーを想像して、それを調整することは完全に有効であると思います。紙の上の鉛筆のスケッチは大丈夫なはずです。または、タブレットを使用することもできます SketchBook Pro すべてのデジタルが必要な場合。

私のポイントは、UIデザインがユーザーストーリーから除外される本当の理由を見ていないということです。おそらく、Windows、WPF、またはWebアプリケーションを構築することをすでに知っているでしょう。また、表形式のデータを表示したい場合、グリッドを使用すると想定するのは安全です。これらの仮定を要件から締め出すことは、実際の価値を追加せずにそれらを難読化します。

ユーザーストーリーは、具体的な相互作用を説明し、具体的なデータとそのためのシステムの動作を知ったら、相互作用方法に関する情報を追加することもできます。これにより、Cucumberなどのツールを使用できます。セレンを使用すると、ストーリーをテストに翻訳できます。さらに進んで、Webアプリの場合、具体的なストーリーを開始し、そのページとのすべての対話を収集するすべてのページをキャプチャする場合があり、ドキュメントやプロトタイピング、およびその後のUIテストに使用する可能性のある情報アーキテクチャが作成されます。

一方、これにより、UIの変更に関しては、ストーリーがやや脆くなります。これについてのアジャイルな考え方は、デザインの変更に関して同じであると思います - 将来のためにデザインしないでください、可能な限り単純なことをしてください。

すべての具体的なもの(入力でさえ)のユーザーストーリーを剥奪した場合、ユースケースになります(少なくとも最も単純な形式では、ストーリーの作成方法によって異なります)。この点でユースケースはまったく脆くありません。目標のみを指定しています。これにより、変更に耐性がありますが、ツールを使用して情報を自動的に転送するのは難しくなります。

プロセスに関しては、RUP/UPはユースケースからUIを導き出しますが、アジャイルはその性質上の漸進的であると思います(私は反復的ではありません、これはFDDやKanbanなどのアジャイル方法を除外します)。これは、新しいストーリーを実装するときに、必要なものをUIに追加することを意味します。これにより、ストーリーにUIの詳細を追加するだけが合理的になります。問題は、これがUIまたはより一般的にUX(ユーザーエクスペリエンス)を作成するための非常に良い方法ではないことです。これはまさに、アジャイルの弱点と呼ぶかもしれないものです。アジャイルマニフェストは機能的なソフトウェアに集中していますが、それだけです。 UIまたはUXを設計するためのアジャイルテクニックはないと私は知っています。

少し後退する必要があると思います。

悪い: 列ヘッダーをクリックすると、クリックした列で行が並べ替えられます。

良い: 次に、「スミス」のように名前が非常に一般的な場合は、名前で行を並べ替えます。

ユーザーストーリー /ワークフローはシーケンスです ユーザーが達成したいこと, 、一連のアクションではありません どうやって 彼はそれを達成します。あなたはを集めています 何ですか だからあなたは最高のものを決定することができます どうですか すべてのユーザーとユースケースの場合。


あなたの投稿の特異な側面を見る:

「列ヘッダーがクリックされたとき」のシナリオでこれを言うと、この機能が何らかのテーブルまたはグリッドに基づいていることを意味しますが、この時点ではまだユーザーストーリーを書いているだけなので、UIはまだありません。

これがあなたからではなくユーザーから来た場合、それは隠されたものを示します 期待 実際には、列ヘッダー付きのテーブルまたはグリッドがあること。あなたからも、あなたがユーザーであるかもしれないので、それは完全に価値がないわけではありません。グリッドがSQLクエリから来ているという理由だけでグリッドを考えて、近視眼的かもしれません。 予想 データは、クリエイティブなUIが悪いことですが、ユーザーの期待を無視することです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top