開発者に人質に取られるのを避けてください

hostage100107今週末、私は上司が所有するいくつかのWebアプリケーションの管理で上司を支援している地元のアーティストとの会話を始めました。

会話は交代し、彼らが一緒に働いてきた開発者の進歩を見ることなく、毎週の開発費を支払うことについていくらかのベントが続いた。 ここで、開発者は、プロジェクトを完了するための別の一括払い料金と、他の要求をカバーするための毎週のメンテナンス料金を請求したいと考えています。 ひどくなる。

開発者はドメイン名を移管して、管理できるようにしました。 開発者は、自分のホスティングアカウントでアプリケーションもホストします。 要するに、開発者は今彼らを人質に取っているのです。

ありがたいことに、私が働いている女性は、過去にサイトのテンプレートファイルの一部を編集するために管理アクセスを要求していました。 開発者は彼女に制限付きアクセスを提供できたかもしれませんが、彼は提供しませんでした。 彼は(怠惰に)彼女にサイトへの管理ログインを提供しました。 今夜、私はそのアクセスを使用して、サイトのすべてのコードをバックアップしました。 また、彼が使用している管理ソフトウェアを把握し、データベース管理に進み、アプリケーションのデータとテーブル構造の両方をエクスポートすることができました。 ふぅ。

所有者は、開発が完了したら、サイトを新しいドメイン名に移動することを計画していました。 これは、開発者と会社の間に怒った分離があった場合に現在のドメインが期限切れになる可能性があることを意味するため、非常に大きなものです。 私はこれが以前に起こるのを見ました。

アウトソーシングされた開発チームを取得する場合のヒント:

  1. ドメイン登録

    あなたの会社の名前であなたのドメイン名を登録してください。 アカウントの技術担当者として開発者がいることは悪くありませんが、 決して ドメインの所有権を社外の人に譲渡します。

  2. アプリケーションまたはサイトのホスティング

    あなたの開発者がホスティング会社を持っていて、あなたのためにあなたのサイトをホストできるのは素晴らしいことですが、そうしないでください。 代わりに、アプリケーションをホストする場所について彼の推奨事項を尋ねてください。 開発者が管理ソフトウェア、バージョン、およびリソースの場所に精通していることは事実であり、それは製品をより早く完成させるのに役立ちます。 ただし、ホスティングアカウントを所有し、開発者に独自のログインとアクセス権を追加します。 このようにして、必要なときにいつでもプラグを抜くことができます。

  3. コードを所有する

    あなたがコードを所有していると思い込まず、書面で書いてください。 支払ったソリューションを開発者が他の場所で開発することを望まない場合は、契約時にそれを決定する必要があります。 私はこの方法でソリューションを開発しましたが、コードに対する権利を保持するソリューションも開発しました。 後者の場合、私はアプリケーションのコストを下げるように交渉したので、会社に私に権利を与えるインセンティブがありました。 開発者が他の場所でコードを使用してもかまわないのであれば、最高額を支払うべきではありません。

  4. セカンドオピニオンをゲット!

    入札したり、他の専門家に相談したりしていると言われても、気持ちが悪くなることはありません。 実際、私はそれをお勧めします!

肝心なのは、開発者の才能にお金を払っているということですが、アイデアの管理と所有権を保持する必要があります。 あなたのものです。 それに投資したのはあなたであり、あなたのビジネスとそれの収益性を危険にさらしたのはあなたでした…そしてそれを維持するのはあなたです。 開発者は交代することができ、それがあなたのアプリケーション、さらに悪いことにあなたのビジネスを危険にさらすことは決してないはずです。

6のコメント

  1. 1

    私はWebアプリの開発者であり、ほとんどの点(おそらくすべて)に同意しますが、#3について説明したいと思います。

    他の会社(またはさらに悪いことに競合他社)に販売されたサイトまたはアプリケーションの卸売り複製は非倫理的であり、契約では受け入れられないものとして常に規定する必要があります。 しかし、私はクライアントの特定のビジネスとは関係がなく、ソリューション全体の重要な部分を表していないクライアントのプロジェクトに取り組んでいる間に、一般的な問題に対する革新的なソリューションを開発しました。

    例:
    クライアントは、ユーザーの役割に関連付けられたページレベルとフィールドレベルの制御を望んでいました。 ASP.Netの「すぐに使える」機能は、フォルダーレベルのアクセス許可を実行します。 そこで、.Netのネイティブ権限を拡張し、全体的なWebアプリケーションの一部としてソリューションを提供しました。

    彼らは(契約で規定されているように)コードベース全体に権利があると信じていますが、将来のプロジェクトでこの拡張を達成するために同じ方法論とコードのチャンクを使用することは正当であると感じています。

    別のしわ:
    私はコンサルティング会社によって養殖されている間にこれをしました。 コンサルティング会社は、あなたの意見では、戻ってそのソリューションをコピーし、独自のものとして販売する権利がありますか?

    • 2

      あんまり、

      私たちは同意すると思います。 これにおける私のポイントは、あなたがコードを持っていて、それを持ってドアから出て行けることを確認することです。 開発者がコードをコンパイルしてサイトにプッシュしている場合、コードはありません。 これは、グラフィックス、Flash、.NET、Javaなど、ソースファイルを必要とし、出力されるものすべてで発生するのを見てきました。

      ダグ

  2. 3

    私はあなたがどこから来ているのかわかります。私はすべてに100%同意するわけではありませんが(警告があります)、企業は常にこれを念頭に置く必要があります。

    1.絶対に。 これを十分に強調することはできません。 私はこれを行った小さな会社で働いていましたが、関与したことに罪悪感を感じました。 そこから抜け出せてよかったです。 お客様は、ドメインの制御を完全に保持する必要があります。 十分な知識のある人がいる場合は、開発者にこれへのアクセスを許可しないでください。 そうでない場合は、開発者が情報を変更したり、少なくとも何らかのリセラーインターフェイスを介してドメインを移管したりできる方法があることを確認してください。

    2.これには部分的に同意しますが、状況によって異なります。 単純なPHPアプリをデプロイしていて、低コストのホスティングが必要な場合は、必ず、LunarPagesまたはDreamHostアカウントなどを取得して、そこにダンプしてください。 開発者にアクセス権を与えます。 ただし、低コストの共有ホスティングには確かに欠点があります…特に大きなものの場合。 しかし、あなたがそれを心配するのに十分な大きさであるならば、あなたはそれに対処することができるスタッフの技術的な誰かを持っているべきです。 それの多くは明らかに信頼に関するものです。 確かに、この種のこと(制限など)について可能であれば、地獄が何かを契約に入れます。 開発者が特別なことをする必要がない場合は、サードパーティのホスティングが最適です。 それは本当に状況的なものなので、私は引き裂かれていることを認めます。 また、サイトのサイズ、使用されるテクノロジーの配列によっても異なります。 それが大きくなる場合は、スタッフに人を雇うことを検討してください。 常にオプションとは限りませんが、大きなものにはより安全です。

    3.これも私の前の会社がやったことです。 あなたは去ることができます、彼らはあなたにHTML、画像などを与えるでしょう…。 しかし、コードはありません。 コードは基本的にリースサービスでした。 そうは言っても、所有と所有があります。 私はいつも非独占的な販売をしました。 基本的に、コンポーネントを再利用できる必要があります。 私はクライアントがそれを所有し、彼らがそれを使ってやりたいことをし、他の誰かにそれを処理してもらうことに問題はありません...しかし私は自分自身を抵当に入れるつもりはなく、毎回車輪の再発明をしなければなりません。

    4.常に。 常に。 常に。

  3. 4

    いい投稿…2つの項目に同意しませんが、よくできました(#XNUMX):

    「あなたの開発者がホスティング会社を持っていて、あなたのためにあなたのサイトをホストできるのは素晴らしいことですが、そうしないでください。」

    私はこの背後にある論理を理解していますが、プロジェクトを別の場所でホストすることを義務付けることは、場合によっては逆効果になる可能性があります。 あなたのサイトやアプリを開発している会社が彼らが使用することを好むホスティングプラットフォームを持っているなら、彼らがそれを使用することはより効率的で生産的である可能性があります。

    さらに、哲学的な観点から、「人質にされたくない」という理由で開発者のホスティングプラットフォームの利用を拒否した場合、これは最初から不信感のトーンを設定します。 開発者をホストするのに十分なほど信頼していない場合は、そもそも開発者と一緒に作業したいですか?

    この種の状況については多くのホラーストーリーが存在することを私は知っていますが、一般的には、信頼できる開発者を見つけることに集中することをお勧めします。 開発者のホスティングを利用しながら、管理アクセスを要求して独自のバックアップを作成することで、自分自身を保護することができます。

    繰り返しになりますが、良い投稿と非常に役立つ情報です。

    ありがとうございます!
    マイケルレイノルズ

    • 5

      こんにちはマイケル、

      信頼の問題のように聞こえるかもしれませんが、そうではないと思います。実際には、管理と責任の問題です。 Webサイトの開発に多額の投資を行う場合は、その環境を制御できることを確認する必要があります。

      人間関係を壊すようなことがビジネスで起こり、否定的である必要はありません。 おそらくあなたの開発者/会社は非常に大きなクライアントを手に入れ、あなたに時間を割く余裕がありません。 おそらく彼らはビジネス目標をシフトします。 ホスティング会社で問題が発生する場合があります。

      私は、あなたがあなたのホスティングを管理し、責任を負うことを提唱しています。そうすれば、開発者が得意なこと、つまり開発を開発者に頼ることができます。

      プッシュバックに感謝します、マイケル。

  4. 6

    私はWebアプリの開発者でもあり、あなたは頭に釘を打ったと思います。 いくつかの考え:

    私はほとんどの人が同意すると思います(そして以下のコメントに基づいています)#1は絶対です。 決して、決してそれをしないでください。 これまで。 どんな状況でも。

    私は#2について、おそらく他の開発者の何人かとは異なる見解を持っています。私たちは顧客のために最終製品をホストすることを拒否します(もちろん、開発中にクライアントが製品をテストドライブするためのテストサーバーをホストします)。 クライアントが自分でホストするように設定したり、ホスティングプロバイダーを見つけたりできるようにサポートさせていただきます。 私たちは単にホスティングのビジネスに参入したくありません。 それが仕事をやめることを意味するのなら、そうです。 このサービスをはるかに安い価格で提供できるよりも、優れたホスティング会社やインフラストラクチャ会社がたくさんあります。 私たちは私たちの仕事の移植性を奨励し、クライアントが何年も先にホスティングプロバイダーを切り替えたとしても、それをホストするのを助けるためにできることは何でもします。

    #3の場合、クライアントはXNUMXつの警告で最終製品のすべてのソースコードを取得します。ソリューションで使用されるサードパーティ製品(TelerikまたはComponent OneのWebコントロールなど)の場合、クライアントにコンパイル済みdllを提供できます。サードパーティのコントロール(グリッドなど)。 これらのサードパーティ企業(クライアントに提供)とのライセンス契約では、これらのタイプのコントロールのソースコードを再配布することは禁止されています。これは、サードパーティの知的財産であり、当社の知的財産ではないためです。 これらのタイプの製品を使用すると、クライアントの開発時間が節約され、同じ機能を最初から構築するよりもはるかに安価になります。 作業を行う前に、このポリシーについて事前に確認します。 もちろん、クライアントが(サードパーティのビルド済み製品を使用する代わりに)カスタムコントロールの開発にお金を払うことを希望する場合は、そのカスタムコントロールのソースコードを他のすべてのものと一緒に提供します。

    コードの再利用に関しては、作業が行われる前にクライアント専用に(たとえば独自のビジネスプロセスのために)明示的に開発されていない限り、コードの一部を再利用できるという事実に前向きです。 もちろん、クライアントが排他的なコードを開発したい場合は、それを利用できます。

    他の人が言っているように、#4は常に推奨されます。 常に!

    よろしく、
    ティム・ヤング

どう思いますか?

このサイトはAkismetを使用して迷惑メールを減らします。 コメントの処理方法を学ぶ.