0

私たちには 2 つの異なるアジャイル チームがあり、それぞれが別々の、しかし関連するアプリケーションに取り組んでいます。
これまで、各チームは独立した方法で作業することができました (個別のコード ベース、永続ストア、スプリント、バックログなど)。最近、製品管理部門は、これらのアプリケーションをさらに緊密に統合することを決定しました。ちなみに、各チーム (QA、開発者、BA で構成される) の規模は、今後 6 ~ 12 か月で増加します。

経営陣は、アジャイル プロセスがうまく機能した (2 つのチームが可能な限り独立して作業している) ため、アジャイル プロセスをほぼそのまま維持することを決定しましたが、アプリケーションを統合する手段として、契約ベースのサービス レイヤーのアイデアを浮かび上がらせました。

各スプリントでは、他のアプリケーションとの統合が必要なストーリーが特定されます。その時点で、追加の「統合」ストーリーが他のチームのバックログに追加されます。その後、そのチームは契約を履行する任務を負います。その間、他のチームは元のストーリー作業を継続し、他のチームが実用的なサービスを作成するまでモック/フェイク サービスを代用できます。

アジャイルは KISS 哲学を説いているため、チームの何人かの人々は、このアプローチの「複雑さ」に異議を唱えています。彼らは、「過去にうまく機能した」より無駄のないシンプルな統合方法論として、ストアド プロシージャの共有を引き続き使用することを提唱しています。

私はさまざまな理由から契約ベースのプログラミングを好みますが、主な理由は、アプリケーションが提供することが期待される動作をコンパイル時に可視化できることです。また、誰がどのコードを所有しているのか、契約を破った場合に誰のコードを壊す可能性があるのか​​について、明確な境界線も得られます。ストアド プロシージャはそれを行いません。

私たちはすでにアジャイルから多くの利益を得ているので、この種のアプリの統合/同期に対処するための「アジャイルフレンドリーな」方法がすでにあると思います。コントラクト ベースの SOA レイヤーを作成することは、アジャイルの匂いテストを満たしていますか? 私が考慮していない 3 番目のオプションはありますか?

4

2 に答える 2

1

現在のプロセスをそのまま維持することは良い考えではないと思います。チーム間の協力とコミュニケーションを強化する必要があります。そうしないと、両方のチームに悪影響を及ぼします。スクラム オブ スクラムと同様のプラクティスに従う必要があります。

スクラム オブ スクラムの編集 : 複数のスクラム チームでプロジェクトを処理した経験はありませんが、デイリー スクラムでの非常に優れた経験から、スクラム オブ スクラムが機能し、すべてのチームの生産性が向上すると信じています。

于 2010-08-17T20:00:48.117 に答える
0

素晴らしい質問です。デザイン綱渡りを歩くことは常にトリッキーなものです。アプリケーションを可能な限り緩く結合しておくことが、間違いなく進むべき道だと思います。

可能な限り最も単純なことは素晴らしいアプローチですが、これをSOLIDの原則と一般的な優れた設計に関係なく独断的な目的に従えば、緊密に結合され、おそらく技術的負債に満ちた2つのアプリケーションが得られます。チームは将来のある時点で停止します。

まだ必要とされていない多くの追加の「フレームワーク」を追加しない限り、今では抽象化を切り離して追加することが最も賢明なことのように思われます。秘訣は、この時点で多くの不要なものを構築することなく、必要に応じてそのフレームワークを拡張できる十分な設計を確保することです。アプリケーションを分離するのに十分なことを行う必要があります。

于 2010-08-17T18:25:35.430 に答える