展開戦略についてアドバイスをお願いします。開発チームが広範なフレームワークを作成し、多く(20〜30)のアプリケーションがそれを使用し、ビジネスが少なくとも30日ごとにアプリケーションの更新を希望する場合、最適な展開戦略は何ですか?
私が尋ねる理由は、アプリケーションの90%が変更されない場合、変更を毎月展開するアジャイルアプローチを使用することには多くの無駄(およびリスク)があるように思われるからです。これが意味するのは、フレームワークはその月の間に変更される可能性があり、いくつかのアプリケーションも変更される可能性があるということです。フレームワークが変更されたため、すべてのアプリケーションを回帰テストする必要があります。たとえば、1年の間に10個のアプリケーションがまったく変更されない場合、機能の変更やホットフィックスがない場合、それらの10個のアプリケーションは毎月回帰テストされます。ビジネスが毎月更新をローリングしているという理由だけで、それらをテストする必要がありました。
そして、それに伴うリスク...ミッションクリティカルなアプリケーションが展開され、テストに数週間かかり、複数の部門がテストする場合、このアプリケーションを常に回帰テストする必要があると予想するのは現実的ですか?
1つのオプションは、フレームワークの更新に下位互換性を持たせることです。これは、アプリケーションがコードを変更する必要がないことを意味しますが、基盤となるフレームワークが変更されたため、アプリケーションをテストする必要があります。そして、それに伴うリスクは大きいです。絶えず変化するフレームワーク(およびこのフレームワークの展開)は、ミッションクリティカルなアプリが同じコードベースを長期間楽しむことができないことを意味します。
これらのアプリケーションは同じデータベースを共有するため、継続的なテストが必要です。私はTDDと自動テストを知っていますが、現時点では存在しません。
何かアドバイス?