質問

私たちの開発プロセスへのアジャイルの原則を適用しようとしますが、特定のスクラムの原則とXPのようなユーザーストーリーでは、我々はアーキテクチャに関する問題に直面します。

多分私達はまだあまりしかし、我々はアジャイルモデリングの原則と混合し、強力なコンポーネントベースの開発を、維持しようとしている、アーキテクチャ中心の開発にリンクされています。私たちの目的は、開発中に、フロントまで進化しやすい小さなデザインを持つことです。

開発ストーリーだけでなく、使い方の物語:

私が探している私のアーキテクチャとその内部のコンポーネントについての私のバックログの物語の中に置いてみましょう可能性が何かです。 システムの話は、厳密にビジネス価値とは関係のない何かを伝え、ユーザーストーリーの異なる種類の、かもしれないが、それは代わりに、システムのアーキテクチャと品質の問題にリンクされます。

編集を 私は、「の開発者の話の」についてのオールボー大学のこの研究を見つけます。

あなたがどんな経験、アイデアや反対をお持ちですか?

事前にありがとうございます! (これは私の最初の質問です!:D)

役に立ちましたか?

解決

IMOバックログは、のないの開発者の話を含める必要があります。どんなプロダクトオーナーが賢明ビジネス機能と一緒にこれらの優先順位を設定することができます方法はありません。プロダクトオーナーは、そのうちの一つ、重要でないと認めるので、バックログを、それを引き出す場合と何が起こるのでしょうか?チームはその後、物語を維持を主張する場合は、バックログの所有権が不明確になり、状況にあります。

しかし、私は間違いなくチームは、プロジェクトの早い段階でアーキテクチャを構築する必要があると思います。私のプロジェクトの一つの問題は、我々は最初の数スプリントで機能に過度に焦点を当てていることだった。

のインフラストラクチャとアーキテクチャの構築に費やされるために必要な時間として、(技術的負債と同様に)「建築の借金」について考えてみましょう。 (ゼロから始まり、チームが適切なリファクタリングすることなく、機能性を作り出すよう構築)、チームの技術的負債とは異なり、建築債務とを開始して、それを減らすために働かなければなりません。時間は、建築借金を減らすことが少ない時間は、機能を生産、すなわち下のチームの速度と減少スプリント出力を費やしていることを意味過ごしました。このように、建築の債務は、技術的負債に似ています。要件が出現した場合、現在のアーキテクチャに適合していなかったこと、そして建築債務のレベルが増加するであろう。

心の中で

ベア、チームは、彼らが自分の時間を過ごすために起こっている方法を決定(およびプロダクトオーナーに正当化することができる)必要があること。彼らが合うようにと、そう、彼らは機能性、技術的負債と建築債務間の努力を分割することができます。

の建築作業はまだかかわらず、機能によって駆動されなければなりません。言い換えれば、チームがサポートし、特定のユーザーストーリーを有効にするインフラストラクチャを構築する必要があります。彼らはそれが将来的に有用であろうと思わないという理由だけで。 YAGNI原則にはアプローチのその種に適用されます。

他のヒント

ここで

私の回答は に適用されます。

建築作業や、より機能の特定の仕事をしている間には非常に挑戦的なバランスがあります。技術的には両方とも有効なアプローチと仕事であるが、より長いあなたには、いくつかの使用可能な生成物の量(スプリント結果)あなたが適切な製品を構築していないことをあなたが取るより大きなリスクを遅らせる(ユーザー要件、性能要件、電気ショック療法を。)。早くもすることができますように、あなたはあなたの製品の作品を証明するために、システム・レベルのテストを実行することができますし、自分の利害関係者との積の値と方向を示すことができるポイントに到達ます。

これはの他のすべてのコンポーネントから会員部品が外れてテストすることができることを確認します。の「ユーザー」の物語を置くのと同じくらい簡単です、あなたのバックログがあればのように、システム/開発-物語を持っているべきですこのような実装の製品の所有者の欲望とsync'edされます。

これは、など、「ドメインモデルは、ロードバランシングの下に別のデータセンター上で実行する必要があります」のように、我々は通常、バックログに非機能要件を置く方法です。

私は開発者の話を取るために役立つ一つのレンズは、任意の話について、「利用者」は誰であるかを考えることです。あなたは社外の人に見られる機能を書いていないからといって仕事のその部分のためにユーザーが存在しないことを意味するものではありません。あなたは廊下のチームのためにコードを書くことができます。いくつかのケースでは、ユーザーが自分自身です。これは、多くの場合、開発者の物語のためのケースです。考えて「私は簡単に新しい機能を追加できるように、開発者として、私は、スケーラブルなアーキテクチャを持っています。」特定のユーザーを呼び出すことで、製品の所有者に物語の値が表示されます誰がいくつかの洞察を提供します。そして、指摘すると、「なぜ」の物語が達成したいと考えている恩恵を受けるものを伝えるためにも有用です。他の人が述べたように、バックログの管理は、製品の所有者とチーム間の交渉に降りてくるん。そしていつものように、あなたは関係なく、プロセスの教義の、あなたのチームのために最も適したものをうまくする必要があります。すべてのチームは、さまざまな状況があり、一方のチームのために働くのアイデアは常に別のものに変換されません。

私たちのチームでは、我々は、フォームのカードである、「IT-カード」と呼んで:「。。開発者として、私はXYZ成分をリファクタリングするwan'tメンテナンスコストを削減し、柔軟性を高めるために」

チームのメンバーは、彼らが代わりに優先順位バックログから「機能カード」を飛び出るのが重要と考えるあらゆるIT-カードを選ぶことは自由です。

私は、このアプローチは、許容可能なレベルで技術的負債を維持し、技術革新の健全なペースを可能にするために合理的にうまく動作するように見つけます。

私はそれが多少かかわらず、システムを再設計するための手段として欠けていることがわかりました。それは流れを生成する機能からの長い逸脱に正当化するのは難しいます。

私がこれを書いているとおり、

私は1つの物語をテーマ設定によるアーキテクチャに近づくことができると考えています。あなたが集中することをテーマに分解叙事詩と建築の目標を識別します。

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