3

フレームワークまたは言語の新しいバージョン (.NET 3.5、SQL2008 など) が登場した場合、人々はいつ採用/アップグレードするためにどのようなアプローチをとりますか?

一般的に、開発者はできるだけ早く言うでしょう (彼らは履歴書でそれを望んでおり、管理の観点から、彼らが望むものを提供することでモチベーションが向上します)、商業的にはほとんどインセンティブがなく (最新バージョンを要求するクライアントはほとんどいません)、コストの観点からも(再テスト、トレーニング) しばしば意欲をそぐものがあります。

私が特に考えているのは、「進行中の」システムとプロジェクト (ソフトウェアハウスなど) が存在し、何年にもわたって進化し、「新しいプロジェクトで新しいテクノロジーを使用する」アプローチがうまくいかない場合です。

人々は特定の要件 (新しい機能を使用する必要性、潜在的または既存のクライアントがそれに対するサポートを要求すること) によって動かされていますか、それを正式に評価しますか (この場合の基準は何ですか)、または定期的にアップグレードしますか (どの場合に - リーディング エッジとブリーディング エッジ)?

何かの最新バージョンを使用していないことを技術的負債と見なし、そのように管理する必要があると人々は考えていますか?

または、「壊れていない場合は修正しないでください」という有効なアプローチはありますか?

4

7 に答える 7

5

技術的負債を読んでください。これは単純な費用対効果の決定です。

「壊れていない場合は直さない」というのは、「明日のドルは今日のドルほどの価値はないので、将来の改善を計画しないでください」という一般的な経営方針です。最終的には技術的負債が蓄積され、製品が足を引きずることができなくなります。

最も一般的な限界点は、インフラストラクチャの一部がサポートされなくなったときです。それまでに、段階的な変更は不可能です。

ゼロからの再発明は、新たな設備投資です。既存のコードの修正には費用がかかります。アカウントは経営陣に技術的にクレイジーな決定を強いる。

オープンソース ソフトウェアの場合、Oracle/Sun から公式の「サポート終了」の発表がないため、慎重な技術管理が必要です。もちろん、悪い技術管理は技術的破産につながります。

于 2009-05-05T11:15:24.573 に答える
2

サポートのライフサイクル コストを調べます。古いバージョンのサポート期間と費用は? Windows や Java などのプラットフォームは、メインフレーム環境に比べて急速に変化する傾向があり、これらのプラットフォームでビジネスを行うためのコストの一部は、定期的なアップグレードを実行することです。合理的な世界では、つまり!

新しいバージョンには、必要なキラー機能が含まれている可能性がありますが、エンタープライズ開発ではまれです。新しいバージョンの主なプラスのセールス ポイント (サポート期限切れなどのマイナスのセールス ポイントとは対照的に) は、開発者の効率が向上する傾向がありますが、これは測定が困難です。それに対して、あなたが指摘したように、最初の開発者だけでなく、重要なことに、メンテナンスのために、再トレーニングのコストを考慮する必要があります。アップグレードのたびに、一部のアプリケーションは、重要すぎて廃止できず、アップグレードするには高価/脆弱すぎるため、取り残される傾向があります。サポートしなければならないプラットフォームとバージョンのは、時間が経つにつれて、全体的な技術的負債を増やします (年齢に関係なく)。

新しいバージョンにアップグレードするためのもう 1 つの基準 (注意してください) は、スタッフを引き付けて維持する能力です。現在の経済状況では、それは二の次になりますが、それでも完全に無視することはできません。少なくとも、熱心で知識豊富な開発者の味付けが必要です。

于 2009-05-05T11:08:41.140 に答える
2

致命的な問題は、プラットフォーム/言語バージョンを決してアップグレードしない場合、アプリが長期にわたって生き残るかどうかだと思います. できないと思われる場合は、アップグレードが難しくなるだけなので、遅かれ早かれアップグレードすることをお勧めします。

完全な書き直しが必要になるまで、アプリを積極的に開発する必要がある期間を考えてください。書き直す予定がない場合は、継続的にアップグレードします。時代遅れのテクノロジで作業している場合、最適な開発者を見つけることがどれほど困難になるかを考えてみてください。新しいフレームワーク/言語機能が長期的には開発プロセスをどのようにスピードアップできるかを考えてみてください。

于 2009-05-05T11:19:10.977 に答える
2

本当に必要なとき。.NET 1.0 は安っぽく、1.1 は素晴らしいアップグレードでしたが、VS2003 での Web 開発はそれほどスムーズではありませんでした。VS2005 と .NET 2.0 で状況は改善されましたが、今でも多くの開発者や企業が .NET 2.0 にこだわっています。以前のバージョンはとても新鮮で、バージョン 2.0 は成熟した技術でした。では、1.1 に満足しているのであれば、なぜアップグレードするのでしょうか? 2.0 に満足しているなら、なぜ 3.5 や 4.0 にアップグレードするのでしょうか?

于 2009-05-05T14:29:02.783 に答える
1

アップグレードのメリット (必要な機能の追加、または必要なバグ修正) が、関連するリスク/コスト (新しい問題、既存のコードの破損) を上回る場合。

于 2009-05-05T11:02:15.027 に答える