2つの別々のアプリケーション/チームを統合するアジャイルフレンドリーな方法[閉鎖

StackOverflow https://stackoverflow.com/questions/3505601

質問

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

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

各スプリントでは、他のアプリケーションとの統合が必要なストーリーが特定されます。その時点で、他のチームのバックログに追加の「統合」ストーリーが追加されます。そのチームは、契約の履行を任されます。それまでの間、他のチームはオリジナルのストーリー作業を継続し、他のチームがワーキングサービスを作成するまで模擬/偽のサービスを代用することができます。

アジャイルはキスの哲学を説教して以来、チームの何人かの人々がこのアプローチの「複雑さ」に問題を抱えています。彼らは、「過去にうまく機能してきた」よりスリム/シンプルな統合方法として、ストアドプロシージャ共有の継続的な使用を提唱しています。

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

私たちはすでにアジャイルから多くの利点を享受しているので、この種のアプリ統合/同期に対処するための「アジャイルに優しい」方法がすでにあると思いたいと思います。契約ベースのSOA層を作成すると、アジャイル臭いテストに会いますか?私が考慮していない3番目のオプションはありますか?

役に立ちましたか?

解決

素晴らしい質問。デザインの綱渡りを歩くことは、常にトリッキーなものです。アプリケーションをできるだけゆるく結合しておくことは間違いなく行く方法だと思います。

可能な可能性のある最も単純なものは素晴らしいアプローチですが、それに伴い、堅実な原則と一般的な優れたデザインに関係なく独断的な目的に従うことは、緊密に結合され、おそらく技術的な借金でいっぱいの2つのアプリケーションを提供することです。将来のある時点でチームが停止するチーム。

抽象化の分離と追加の追加は、まだ必要ではない多くの追加の「フレームワーク」を追加していない限り、最も賢明なことのように思えます。トリックは、この時点で多くの不要なものを構築することなく、必要に応じてそのフレームワークを成長させる十分なデザインを確保することです。

他のヒント

現在のプロセスをそのままに保つことは良い考えだとは思わない。チーム間の協力とコミュニケーションは増加する必要があります。さもなければ、両チームに悪影響を及ぼします。スクラムオブスクラムに同様の練習に従う必要があります。

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

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