4

私はこれについてしばらく考えていました。新しいプロジェクトを計画しているとき/組織内の既存のプロジェクトを維持しているとき、どのようにテクノロジーを選択しますか(Java対.Net対PHPについて話しているのではありません)。

最新のテクノロジーを選ぶための議論

  1. 既存のテクノロジーの制限のいくつかを克服する可能性があります(スケーラビリティに関しては、SQLとRDBMSは考えないでください)。最新のテクノロジーには下位互換性があり、古い機能を壊すことなく新しい機能を取得することしかできない場合があります
  2. それはより良いユーザーエクスペリエンスを提供します(ビデオのHTML 5かもしれませんが、考えてみてください)
  3. 開発時間/コストを削減し、コードベースのメンテナンスを比較的簡単にします

現場でテストされたテクノロジーを選択するための議論/最先端のテクノロジーを選択することに対して

  1. それは時の試練に耐えていません。予期しない問題が発生する可能性があります。複雑なソリューションは、メンテナンスフェーズでより多くの問題を引き起こす可能性があり、アプリケーションは白象になる可能性があります
  2. 基準がまだ整っていない可能性があります。プロジェクトを標準に準拠させるには、標準が変更され、大幅なやり直しが必要になる場合があります。フィールドテスト済みのテクノロジを選択すると、これらの労力を節約できます。
  3. 新しいテクノロジーは、組織によってサポートされていない可能性があります。新しい(または、さらに言えば、別のテクノロジー)をサポートするには、追加のリソースが必要になります
  4. 最先端のテクノロジーで適格なリソースを取得するのは難しいかもしれません

開発者の観点からは、(暇なときに)新しいテクノロジーで手を汚さない理由はわかりませんが、彼/彼女はオープンソース/フリーウェア/開発者版に限定されている可能性があります

組織の観点からは、両刃の剣のように見えます。「フィールドテスト済み」のテクノロジーに長く座りすぎると、善良な人々が立ち去る可能性があります(知識の更新を拒否する、使い慣れたテクノロジーを好む人々が常にいることは言うまでもありません)。型破りなアプローチを試してみてください。予期しないリスクは言うまでもなく、予算/時間を超過するリスクがあります。

TL; DR

結論。組織が採用できるほど成熟したテクノロジーはいつだと思いますか?

4

6 に答える 6

5

ほとんどの場合、あなたは人々のチームと協力しており、これも考慮に入れる必要があります。テクノロジーの成熟度をテスト/評価するいくつかの方法:

  1. あなたのチームと経営陣は、新しいテクノロジーの使用をまったく受け入れていますか?これが最大の障壁になるかもしれません。彼らが受容的ではないと感じたら、彼らを説得するために大きな正式なプレゼンテーションを試すことができます...または単にそれを試してみてください(以下を参照)。

  2. 人々がそれで持っている問題のためにグーグルで回ってください。あなたが多くを見つけないならば、これはあなたが問題を抱えているときにあなたが遭遇するものです

  3. リスクが非常に低い新しい小さなプロジェクト(たとえば、あなたやカップルが使用するもの)を見つけ、新しいテクノロジーをスカンクワークス方式で適用して、それがどのように機能するかを確認します。

  4. 未熟なものの中で最も成熟したものを見つけてください。たとえば、NoSQLタイプのデータストアについて考えている場合です。何十年も前から存在しているOracleのようなRDBMSと比較すると、NoSQLに関するものはすべて未成熟です。したがって、専門家またはサポートグループを介したサポート組織を持つこれらの最も成熟したソリューションを検討してください。

  5. 開始するのが最も簡単なプロジェクトは、既存のソフトウェアを書き直すことです。あなたはすでにあなたの要件を持っています:それをそのようにしてください。新しいテクノロジーで書き直すために、ソフトウェアの小さな部分を選択するだけです。できれば、ユニット/負荷テストでハンマーで叩いて、それがどのように機能するかを確認できます。私はそれを証明するためにアプリケーション全体を書き直すことを提唱しているのではなく、小さな測定可能なチャンクです。

于 2010-06-29T20:52:43.857 に答える
2

いくつかの目安。

一度に1つの「新しい」テクノロジーのみを使用してください。新しいものを使用すればするほど、深刻な問題が発生する可能性が高くなります。

それを使用することに利点があることを確認してください。そのクールで新しいテクノロジーがあなたにいくつかの利点を与えないのなら、なぜあなたはそれを使っているのですか?

学習曲線を計画します。あなたが知らない新しい技術の側面があるでしょう。あなたとあなたのチームは、あなたがそうするだろうと思うよりも、それらについて学ぶためにより多くの時間を費やさなければならないでしょう。

可能であれば、最初に重要性の低い小さなプロジェクトで新しいテクノロジーを試してください。あなたの会社の会計システムは実験するのに最適な場所ではありません。

バックアップ計画を立てます。新しいテクノロジーが必ずしも価値があるとは限りません。あなたが「棺桶の角」にいるときを知っていて、それは救済する時です。

于 2010-08-09T14:56:00.943 に答える
1

「フィールドテスト済み」と「古い」には違いがあります。開発者(私自身を含む)は一般的に最先端のものを好みます。ある程度、開発スタッフを満足させ、彼らの仕事に興味を持ってもらう必要があります。

しかし、フィールドテストされたテクノロジーに不満を持っている顧客は一度もいません。彼らは一般的に、製品の製造に使用される技術について知らないか、無関心です。彼らの最優先事項は、それが日常のやり取りでどのように機能するかです。

新しいプロジェクトを開始するとき、新しいプラットフォームに移行する必要があるかどうかを評価する際に、2つの質問が思い浮かびます。

1)新しいプラットフォームに移行することでどのようなメリットがありますか。開発時間が大幅に短縮されたり、ユーザーのパフォーマンスが大幅に向上したりする場合は、セミブリーディングエッジ技術を検討します。

2)新しいプラットフォームに関連するリスク。新しいプラットフォームではうまく機能しないシナリオがいくつか発生する可能性がありますか?この新しいプラットフォームのサポートが途絶える可能性があり、非推奨の環境をサポートするために私はバッグを持ったままになりますか?プロジェクトの重要な時期に行き詰まった場合に使用できるサポートチャネルはありますか?

すべてのように、それは費用便益分析です。一般的に言って、私は常に新しいテクノロジーを学び、トレーニングしますが、多くの開発者に広く採用されていないテクノロジー(環境、ライブラリ、サーバープラットフォームなど)を使用してクライアントのために何かを構築することはありません。少なくとも6〜12か月。

于 2010-08-11T22:19:15.243 に答える
1

それは文脈に依存します。各組織は独自の決定を下す必要があります。このトピックに関する古典的な文献は、GeoffreyA.MooreによるCrossingtheChasmです。

于 2010-08-14T22:17:23.717 に答える
0

製品を開発している会社/コミュニティが良い製品で知られているなら、私は彼らの新製品に安全な賭けをすることをとてもうれしく思います。

たとえば、Rails3またはRuby1.9で開発することは非常に喜ばしいことです。これは、完成したときに問題がないことを確信しているためです。

ただし、superNewLangには、十分にサポートされた優れた製品があるか、それなしでは生きていけない機能があると確信するまで、多くのコードを記述しませんでした。

私はすべてのニーズに合った最も信頼できる製品を手に入れる傾向があります。

于 2010-06-29T14:28:52.970 に答える
0
  1. あなたは自分自身にただ一つの質問をしなければなりません...私は幸運だと感じますか?
  2. お金はどこにありますか?
    • tech Xがフロップであったとしても、あなたは十分に大きくそして速く利益を得ることができますか?
  3. そうでない場合、新しい技術は長い間より高いパフォーマンスをもたらしますか?
    • 64ビットCPU、シェーダーモデル4、ヘビーマルチスレッドのように
  4. あなたはそれの周りにたくさんのイデオロギー的なトランペットを見ますか
    • 「パラダイムシフト」の宣伝文句など-それが冷えて交換されるまで2〜8年待ちます:-)
  5. それはかさばり、実行するためだけにすべての2倍が必要ですか?
    • 敵に最初にお金を払わせてください:-)
  6. リスクを冒さずに、基礎教育とトライアルプロジェクトを受講できますか?
    • それが歌わない400ポンドの女性のように見えない限り、試してみるのもよいでしょう:-)
  7. そのような質問に対する一般的な答えはありません-#1に到達してください
于 2010-08-14T04:13:19.680 に答える