2009-05-05 5 views
3

フレームワークまたは言語の新しいバージョンが表示されたら(たとえば.NET 3.5、SQL2008)、どのようなアプローチで採用/アップグレードするのですか?新しいバージョンの言語またはフレームワークにアップグレードする時期はいつですか?

一般的に、開発者はできるだけ早く(彼らはCVと管理の観点から、彼らが望むものを与えてモチベーションを向上させる)商業的にはほとんどインセンティブがないコストの観点から(再テスト、トレーニング)、しばしば阻害要因があります。

私は特に、「新しいプロジェクトで新技術を使用する」というアプローチを取っても機能しない「進行中の」システムやプロジェクト(ソフトウェアハウスなど)が存在し、進化していると考えています。

特定の要件(新しい機能を使用する必要がある潜在的または既存のクライアント、それをサポートする必要があるクライアント)であるか、それを正式に評価するのか(その場合は何ですか?ルーチンの問題(その場合、最前縁対出血縁)?

最新のものではないことが技術的負債とみなされ、そのように管理されるべきだと人々は思っていますか?

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

答えて

5

Technical Debtを読んでください。これは簡単な費用便益の決定です。

「破られていなければそれを修正しない」は、「明日のドルは今日のように価値がないので、将来の改善を計画しない」という共通の管理方針です。最終的には技術的な債務が蓄積して、製品がもはやぎりぎりにならないようになります。

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

ゼロからの改革は、新たな資本投資です。既存のコードを修正することは費用です。このアカウントは、経営陣が技術的に狂った決定を下すように強制します。

オープンソースソフトウェアの場合、Oracle/Sunの正式な「サポートサンセット」発表がないため、慎重な技術管理が必要です。もちろん技術管理が悪いと、技術的な破産につながる。

+0

世界の「悪いこと」はすべて会計士にさかのぼることができます! :-)例えば:なぜあなたは駄目なソフトウェアですか?豆のカウンターは「船に乗って!」と言った。四分の一の数字を作る。 –

+0

私はそれを「技術的に狂った」と「悪い」ではないと考えることを好みます。実際には悪い会計方針があります。つまり、「未開発」の土地は負債であり、役に立たない「開発」は投資であり、土地を「荒野」として保有するよりも優れています。その例以外にも、ほとんどの会計は「悪い」ではなく、単に狂った政策を強化するだけです。 –

+0

オープンソースソフトウェアにもサポートの問題があり、比較的最近のバージョンでは最高のサポートを受けることができます。奇妙なアプリケーションを持つ8歳のLinuxシステムをサポートするために、いつでも誰かを雇うことができます。彼らは十分に学ぶことができますが、それはあなたに大きな費用がかかります。 –

1

アップグレードのメリット(より多くの機能や必要なバグ修正)が、関係するリスク/コスト(新しい問題、既存のコードの破棄)を上回る場合。

+0

それに基づいて、特別な必要がなければ永久に古いバージョンにとどまる可能性があります。 –

+0

もちろん、はい。 – PaulJWilliams

+0

@Tyrannosaurs私はビジネス上の理由から、それは本当だと思います。しかし、従来の技術では、サポートするベンダーが少なくて済む人が少なくなります。そのため、人々は馬から車にアップグレードしました。 –

2

ライフサイクルコストを参照してください。以前のバージョンのサポート期間はどのくらいですか? WindowsやJavaのようなプラットフォームは、メインフレーム環境に比べて速く動く傾向があり、これらのプラットフォームでビジネスを行うコストの一部は、定期的なアップグレードを実行することです。合理的な世界では、それは!

新しいバージョンでは、我々が必要とするキラー機能を持つことができますが、それはエンタープライズ開発ではまれです。新しいバージョンの主要なセールスポイント(期限切れのサポートなどの否定的なサポートとは対照的に)は、の開発者の効率となる傾向があります。それに対して、あなたが指摘するように、最初の開発者だけでなく、重要なメンテナンスのために、再訓練の費用を考慮する必要があります。各アップグレードでは、一部のアプリケーションは退職するにはあまりにも重要なものとして残され、アップグレードするには高価すぎる/脆弱になる傾向があります。時間の経過とともに、のプラットフォームとバージョンでサポートする必要があります(年齢に関係なく)全体的な技術的負債が増えます。

新しいバージョンにアップグレードするためのもう1つの基準は、がスタッフを引き付けて保持する能力です()。現在の経済フェーズでは、それは第2のフィドルを演じていますが、それでも完全に無視することはできません。あなたは熱狂的で知識のある開発者の調味料を少なくとも持っていたいと思う。

2

私は、あなたが決してプラットフォーム/言語バージョンをアップグレードしないと、あなたのアプリが長期間生き残れるかどうかということになると思います。それができないと思うならば、それはより困難になるだけでなく、後でなく早くアップグレードすることができます。

完全な書き換えが必要になるまで、アプリを積極的に開発する期間を考えてください。あなたがそれを書き直すつもりがないなら、私は絶えずアップグレードします。あなたが時代遅れの技術で作業している場合、最高の開発者を見つけることがどれほど困難になるかを考慮してください。短期間の苦痛のために、新しいフレームワーク/言語機能がいかにして長期的に開発プロセスをスピードアップできるかを考えてください。

1

Windowsプラットフォーム用のWindowsフォームアプリケーションやWindows Server用のASP.NET Webアプリケーションのような、Microsoftベースのプラットフォーム向けに開発する場合、マイグレートするには2つのメジャーバージョンのOSが必要です。たとえば、アプリケーションがWindows 2000のために開発された、あなたはVistaに移行する必要がありますXPは無視されることができます。同様に、XP SP2用に設計されていれば、Vistaと対象のWin 7を無視しても問題ありません。通常、マイクロソフトは増分OSの更新を中断しません。今日のOS上で動作するアプリは間違いなく次のアプリケーションで動作します。しかし、それに続くものに決してならない。 (これはM $ ???お金を稼ぐことができる方法を実行している場合)

出典:セルフ... 5オーバー歳のためのWindowsの開発者)

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にアップグレードするのはなぜですか?

0

私はできるだけ早くアップグレードしています(キャッチされていない問題の場合に備えて、新しいバージョンが出てから1ヵ月待ちます)。

1.セキュリティが、それを修正しない壊れていないなら、私に教え、人々の多くはまた、誰がするのと同じ人がいる

リリース:あなたが考える必要がいくつかありますセキュリティパッチがリリースされたときに2つの目を閉じます。 「Equifax」と思う。

私には、少なくともセキュリティでサポートされているバージョンのフレームワークには倫理的な責任があります。私たちは、お客様のデータを保護するためにそれを借りています。

2.誘致&保持才能

は、使用するプログラミング言語やフレームワークが重要ではありません方法についての話がたくさんあります。しかし、私の経験では、Webアプリケーションのための最もクリーンなコードとデザインは、その経験のために使用された&のプログラミング言語であるフレームワーク&に熱心な人々によって書かれています。

非常に古いバージョンを使用している場合、これらの人々は長く滞在したり、あなたの会社に加わることはまずありません。開発者の幸せを考えてください。

3.新しい、より新しいバージョン

が提供する単純な方法は、非常に多くの場合、フレームワークの新しいバージョンは、はるかに簡単に過去にハード何かを作ります。アップグレードしないと、新しいパッケージや機能が欠けてしまい、同じ機能を実現するもっと簡単な方法があることを知って、わずらわしい方法でコードを書いています。そして、アップグレードする時間が来たら、新しい方法に再び変えなければならなくなるかもしれません。それで、新しい方法をアップグレードして使用して時間を無駄にしないのはなぜですか?

関連する問題