2011-01-15 5 views
2

私はアジャイル手法を使用してシステムを開発している学士論文レポートを作成しています。開発が一人のショーであることを考えると、もちろん私がした「アジャイル」は、少なくとも私の理解からは全く敏感ではありませんでした。アジャイル開発におけるモデリング

だから私は、大勢の経験を持つプロフェッショナルで現実味のある開発者であるSOの群衆からの視点が必要です。実世界の経験は、私が行った理論や実験よりも優れていると思います。

私の質問は:

  1. がアジャイルを使用して、開発時間の間、我々のモデルをしますか? UML? DFD?または機能仕様で十分です?
  2. モデリングが本当に必要でない場合、ユーザーはほとんど常にUMLやDFDを理解できないため、ユーザーとのコミュニケーションには何を使用しますか?私のシステムでは、重いプロトタイプでUI & UX Designを使用していますが、UMLをそれ以上描画する時間がありません。どちらがいいですか?

http://www.joelonsoftware.com/articles/fog0000000036.html

私はこの質問が原因でアジャイル開発にご理解の私の不足の存在を知っているとして質問は「主観的議論」ではありません願っています。そうであれば、誰かが私にそのことについてのポインタやリファレンスを与えることができますか?

可能な重複:私のアジャイルプロセスでDo you use UML in Agile development practices?

答えて

3

アジャイルメソッドを使用して開発する場合、ユーザーと通信するために(少なくとも)2つの異なるメカニズムを使用します。最初のコミュニケーションはストーリーを使用して行われます。ストーリーは、軽量の方法論を使用してキャプチャされたシステムインタラクションの簡単な説明です。ここに価値を加えるなら、UMLを使うことができます。後者が一般的であるユースケースやストーリーカードがより一般的に使用されます。私は一度に複数のプロジェクトが進行しており、壁のスペースが限られているため、紙の上ではなく、ウィキで私の話を捉えています。遠隔地の顧客(私が遠隔地のキャンパスにいると遠隔地)にも役立ちます。

私が顧客と、そして繰り返しの中で主要なものと通信する他の方法は、実際のコードです。早期に提供し、敏感なマントラであることが多い。システムが何をしているかを伝えるための実際のシステムに代わるものはありません。顧客が何らかの変更を加えたい場合は、後の反復のために新しいストーリーのフィードバックを取り込むことができます。

他のツールを使用することはできません。フレキシブルでなければアジャイルは何もありません。特定のプラクティスを省略した場合、特定のアジャイルテクニックを実行していないかもしれませんが、それがまだアジャイルな方法で開発しているわけではありません。たとえば、ペアプログラミングなしでXPをやっていると言うのは難しいでしょう。 Agileの中心的な考え方、つまり軽量の成果物を早期に、頻繁に提供し、変化を期待して受け入れ、顧客との協調で協調的に開発していくことが重要です。アジャイルコミュニティで流行しているかどうか。

+0

本当に私を助けます。遅く受け入れて申し訳ありません - 今週は忙しいです。 – bertzzie

0

、我々は通常、顧客と通信するために携帯電話を使用しています。

+0

はい!素敵なメソッドX) –

+0

と紙と鉛筆。非標準のシンボルでは、私は賭けました。ありがとうございます。 – PerformanceDBA

0

エリックエヴァンス「ドメイン駆動設計」のコピーを入手してください。ビジネスモデルや用語を使用してドメインモデルを作成し、その言語をコードに組み込むことに重点を置いています。Eric氏は、部門、サードパーティのソフトウェアやソフトウェア、他のチームから提供された情報、ドメインオブジェクトをデータにマッピングするなどのさまざまな定義を処理するための優れたパターンをいくつか書いています。本書の最後の部分(私のアーキテクチャ上の聖書です) 。

これをビジネスに表現するには、通常、ボックスと矢印を使用します。 UMLよりも形式的ではありません。通常、人々はそれを変更するのがより喜んでおり、ディスカッションの成果物と同じ種類の正式な完全性を持つ必要はありません。モデルをボード上にブルータックして文字列を使用して接続することができれば、誤解を訂正できるので、これは良い方法です。私たちは、現在のストーリーバックログよりもわずかに大きいドメインモデルを成長させる傾向があります。これは、私たちが作り出しているソフトウェアが他のビジネスにどのように役立つかを理解するのに役立ちます。

また、BDDのシナリオを見ることもできます.BDDのシナリオは、基本的な詳細を心配することなく、ユーザーがその機能をどのように実現できるかについて議論する素晴らしい方法です。エッジケースや予期しない範囲と複雑さについて議論し、発見するのに役立ちます。また、必要に応じて自動テストを実行することもできます。

0

私はこれらの質問に対して私の意見を持っていますが、私はあなたに必要な答えを提供する資格はないと思います。しかし、Scott Ambler's Agile Modeling websiteを読むことに興味があるかもしれません。 Amblerは、アジャイル開発環境でのモデリングのための方法論とベストプラクティスを文書化しました。

0

、ユーザーストーリーは、アジャイルソフトウェアエンジニアリングとほぼ同義であるシステムと何かの要件を記述するための最も便利なツールです。しかし、あなたの質問にお答えしてください:

  1. 必要な場合のみ。アジャイルを使って新しいツイッターアグリゲーターをデザインしているのであれば、おそらくそうではありません。しかし、アジャイルを使用して病院での使用を想定した心臓監視装置のソフトウェアとユーザーインターフェイスを作成している場合は、おそらくはいです。

  2. 必要がない場合は、何が一番効果的ですか!これはおそらくクライアントからクライアントに変わり、プロジェクトに変わるでしょう!しかし、ユーザーのストーリーは、最も柔軟性の高い最善の基礎です。

また、私は(すでに場所で何かを持っているし、機能を追加する場合http://gomockingbird.com、またはhttp://www.protoshare.com/のようなものを使用して)モックアップの使用を奨励するだろう - もっと便利なものは何もあなたのことを一緒に何かをステッチすることができるということはありません曖昧さを取り除くことができます。しかし、紙と鉛筆はこれでもうまくいきます。

アジャイルであるという基本的な考え方の1つは、コミュニケーションです。本当にクライアント/顧客/ステークホルダーと頻繁にやり取りしていることを示している限り、頻繁に配信して彼らの入力は絶えず常に良いです!

関連する問題