2009-04-02 27 views
4

UI駆動型開発のアイデアはまったく意味がありますか?私たちのクライアントのほとんどは、画面の形で要件を伝えたいと思っています。例えば、私はこれとそれをする画面が欲しい。場合によっては、画面のレイアウトを自分で決定することさえできます(これは、今日のクライアントが、ほとんどのタスクでソフトウェアアプリケーションを使用しているためかもしれません)。UI駆動型開発

また、この要件収集の方法は、データと関連付けられた動作の両方を自動的に伝えるようです。

あなたはどう思いますか?

答えて

5

実際、この点では意味があります。ユースケースは、同じ方法で使用することができない点で異なります。ユースケースは、要件を抽出し正式化するのに便利です。

私はUIラボで作業していましたが、私たちはこのコンセプトを試していましたが、私たちはそれをそのように呼んでいませんでした。ここでの基本的なアイデアは、ユーザビリティのテスティングを使用して目的のソリューションに収束する開発のための、柔軟な反復アプローチを使用することです。

典型的なサイクルは次のようになります。

  • ドラフトは非常に範囲が限定されるいくつかの要件とユースケースは、非常に焦点を当てました。
  • この機能に関するデータを収集するためのテストプロトコルを作成します(ユーザビリティ、使いやすさ、受け入れ、パフォーマンスなど)。
  • この機能が含まれるようにアプリケーションを作成または拡張する少数のユーザーを持って、我々はdebreifing 15分で15分にテストセッションを制限する場所(Ruben's Handbook of Usability Testingを参照)ユーザビリティテストのアジャイル適応を使用してアプリケーションをテストします。
  • テストからの有用なデータを抽出して、将来の反復で注入します。

この方法は、ユーザーが望むものが正確にわからない場合や、わからない場合に便利です。したがって、ユーザーにソフトウェアの有用性に関する客観的なデータを収集し、結果として次の反復を試みるためのテストを考案する必要があります。 (私の "顧客"の多くは、私がそう呼ぶかもしれないが、ひどく身体障害を負って話すことができないので、私たちは創造的でなければならなかった)。

このように作業することで、ソフトウェアの開発期間の早い段階でクライアントにGUIを利用できるようになりました。また、テストの直接的な中心点であったため、コンバージェンスはユーザーとシステムとのやりとりでした。

私たちはこのテクニックを非常に特殊なケースのために開発しましたが、通常のソフトウェアで通常のユーザーといくつかのテストを行い、非常に肯定的な結果を得ました。 desingは、usreのニーズに向かって非常に迅速に収束します。また、彼らがこのアプローチに参加したという事実も、対象地域における製品の受け入れに非常に正の影響を与えました。

残念ながら、私たちの結果を公表してこの研究のラインを広げる前に、内部のストライプが研究室を解体してしまったのは残念です。

UIDD(悪意のある頭字語を赦免した場合)は、ソフトウェア開発に向けたTDDファミリーのアプローチのメンバーになります。反復はユーザーのやりとりに左右されます。


被験者に

Additionnalリーディング:

http://www.codinghorror.com/blog/archives/001091.html

http://cakebaker.42dh.com/2007/07/07/usability-driven-development/

http://www.springerlink.com/content/l413k76812896gnt/

http://www.agilemodeling.com/essays/agileUsability.htm

http://www.uxbooth.com/blog/how-test-driven-development-increases-overall-usability/

0

ここで実際に話していることは、の使用例 - イントロについてはthis articleを参照してください。

+0

私は同意しません...ユースケースはツールですが、必ずしもTDDやBDDのように開発を推進する必要はありません。ユースケースは、TDDのユニットテストと同じレベルにあります。ユースケースよりもUI DDがはるかに多いため、ユニットテストよりもはるかにTDDがあります。 – Newtopian

0

ストーリーテスト駆動開発私はそれを真剣にオートメーションの部分を取る限り、かなり良いアイデアだと思います。あなたのテストを自動化できないなら、あなたは困っている。 ここに論文をチェックしてください:​​ あなたのクライアントが自動化されたUIテストを提供しているようには聞こえませんが、これは最善の方法だと思います。

1

これは、要件を収集するための合理的な方法です。私は実際に画面を構築し、その直感的な機能を開発するのには注意が必要です。コードの再利用率が低いことがわかります。遅くなったり、正しく機能しない、見た目の良いアプリがあります。どのような複雑な要件や、データのボトルネックやキャッシュの問題などの問題を予見するかによって、他のプロジェクトでは機能しません。

これは動作駆動型開発、ワイヤーフレーム、ユーザーストーリーに似ています。

2

どのような開発をしていますか?私はWebアプリケーション(フレックスまたはPHP)を開発するときに、図面(ワイヤフレーム)を使って作業するので、コードを書くことなく、クライアントのフロー/外観を知ることができます。

誰もが「正しい方法で開発する」という方法はありません。あなたにとって最良の方法を見つける必要があります。乾杯!

関連する問題