すべてのカスタム レガシー ソフトウェアは変更が必要です。ユーザーはそう言います。場合によっては、1 つまたは 2 つの機能を追加し、コードの一部を変更したり、コントロールを追加したり、その他のマイナーなアップグレード タスクに必要なすべてを追加したりする必要があります。エラーが発生しやすい VB5 デスクトップ ソリューションを捨てて、すべてをリッチな Web 2.0 ASP.NET MVC アプリケーションとして書き直そうとする場合もあります。ただし、多くの場合、従来の機能に対する変更の範囲は、これら 2 つの両極端の間のどこかにあります。
既存のアプリケーションをアップグレードするか、ゼロから始めるかを決定する際に使用する経験則は何ですか?