まともなソフトウェア製品の知的財産を所有し、年間のライセンス供与で優れた収益を上げている会社を知っています。ただし、ディレクター(技術以外)は、開発チームを維持するためのコストについて不満を持っています。これは、利益率を大幅に消費するため、特定のモジュールの開発を、より低い料金で課金する他の国にアウトソーシングすることを検討しています。
個人的には、これが長期的に見てより費用効果の高いソリューションになるとは思いません。これにより、問題が発生したときに通信が切断される可能性があります。さらに、仕様は水密である必要があり、いずれにしても時間がかかる可能性があります。私の意見では、チームで作業する場合、コミュニケーションが重要です-またはこの作業を行う効果的な方法はありますか?
誰かがこの動作の例を持っていると確信していますが、私はそれを見ていません。
私はFortune 500の会社で長年働いており、多くの開発を外部委託しています。私たちが自社で行った場合よりもコストが低いアウトソーシングプロジェクトの例は、私には1つもありません。
彼らのプログラミング率は私たちのものよりは低かったが、社内チームの場合よりも3倍の時間を外部委託チームの管理に費やした。これは、社内チームが必要とするよりも詳細な要件を持つために必要な追加の時間と、コードが正確に近くなることがなかったためにQAに必要な追加の時間に加えます。
すぐに手に入れることも、安く手に入れることも、うまくやることもできます。 3つすべてを使用することはできません。3つのうち2つでもストレッチになる可能性があります。
ソフトウェア会社にとって、これは単なる愚かなことです。彼らが合理的にインテリジェントな決定に到達できる最も近いのは、より安価な人材がいる別の場所に会社を移動することです。
ソフトウェア開発をアウトソーシングしているソフトウェア会社は、もはやソフトウェア会社ではありません。あなたがあなた自身の競争を生み出しているので、私は得られるどんな利益も短命になると主張します。彼らはあなたよりも製品をよく知っていることに気づくと、彼らはもうあなたを必要としないことにも気づきます。
私が他国の企業にアウトソーシングした唯一の経験は私の最後です。採用された会社は、予定どおりに作業を完了できなかった、またはリモートで仕様を満たしていなかったため、社内ですべての作業をやり直す必要がありました。
ただし、信頼できる会社を見つけることができる場合(つまり、他の人からその会社について良いことを見たり聞いたりした場合)、それは価値があるでしょう。
ディレクターは、彼の経験豊富なローカル開発者の一部を、彼が専門知識を持たず、コードにまったく経験がなく、知っている人から直接監督または指導できない遠方の国の人々に置き換えたいと考えています。コード。
私はそれを2回経験しました。どちらの場合も、安価な外国企業は、適切な品質で予定どおりに納品することができませんでした。地元の開発者は、仕事が海外に向かっていると聞いて、冗長になるのを待つのではなく、他の仕事を見つけました。専門知識による出血が続くにつれ、スケジュールはずれ、重大なバグは修正されず、顧客は怒り、競合他社に切り替え、最終的には両方の会社が折りたたまれました。
コミュニケーション、期待、文化にも奇妙な問題がありました。たとえば、外国のチームは多くのコードをチェックインしたり、電子メールに迅速に応答したりしていませんでした。現地のITマネージャーはコストを抑えることでボーナスを得たので、オフィス全体を低速のインターネット接続に接続していました。別の機会に、サードワールドのQAテスターは、同じバグレポートにいくつかの大きく異なるバグを日常的に配置しています。彼らのマネージャーはバグ番号がなくなるのを恐れていました。
安価な場所にいるチームも大丈夫です。私が聞いたところによると、Red Hatは北京で非常に有能なチームを持っているようです。しかし、彼らはそれを始める前に在宅勤務を通じて世界中から働いている人々との長年の経験があり、北京の人々はRed Hatの従業員であり、アウトソーシング会社ではありません。
私の経験では、あなたの市場と開発のニーズが非常に単純でない限り、それらは言語障壁の可能性がある開発者に電子メールで簡単に説明でき、非常に単純なので、会社に実際に投資していない開発者でも成功することができます高品質の製品を作成するとき、はい、あなたの製品は苦しむでしょう。
現地に大規模な開発チームがいる会社で働いていたところ、管理チームがより多くのお金と労力を販売に費やしただけで、私たちの製品は苦しみました。販売に多大な労力が注がれたため、私たちは「細かい」ことをしているように見えましたが、それは収入を得るためであり、販売プロセスにお金とリソースを注ぎ続けなければなりませんでした。
私たちはリモートチームを抱えていましたが、それらを会社に完全に統合し、ローカルチームと同じレベルで参加しました。 それが機能する唯一の方法です。私は彼らの地元のチームリーダーでした、そして私達は彼らと定期的に現場で作業するために飛び出しました。私たちは彼らに地元のチームと同じように会社のシャツとジャケットを与えました。すべてを考慮した結果、おそらく20〜30%節約できました。それ以上にコストを削減しようとするシステムを組み立てると、それに応じて製品が影響を受けます。
質の高いアウトソーシングチームと協力しており、経営陣が受け入れ基準を伝えて実施する用意がある場合。
その場合、コストは自社開発製品とほぼ同じ料金になります。
運がよければ、あなたも同じ品質を得ることができます。
私の会社は社内に開発スタッフを置いており、製品開発を外部委託していないため、少し偏見があるかもしれません。開発をアウトソーシングしてきた統合パートナーとの経験は、その決定と関係があると思います。
私の経験では、プロジェクトをアウトソーシングすることは、より良いマージンを得ようとするときの最良の解決策ではありません。
職場では、そのようなことが起こっていて、他の人も言ったように、穴をやり直して、運用サーバー上にあったものを維持することになりました。問題に関する結論として、それは2倍の費用がかかりました。
この件についての私の意見は、マージンのアウトソーシングの進展について変化を起こそうと考えているなら、あなたは投資を捨てているのではないか、というものです。考えてみれば、製品の成功は見た目通りに機能することの問題なので、dev-teamを変更すると、状況が醜くなります。
私はこの引用の著者を覚えていませんが、それは釘を打つ。
"密結合コンポーネントで共同作業している疎結合チームは失敗します。必然的に"
アウトソーシング=疎結合のチーム。
相互に依存するコンポーネントの作業を地理的に分割してコストを削減しようとすると、常に失敗します。
一方、私の経験に基づいて、ソフトウェアポートフォリオの全体を移動することは機能する可能性があります。つまり、コストを削減して高品質で開発できるということです。
十分に計画された/完了したオープンソースソフトウェアがあなたの答えになるかもしれません。それは、非常に収益性が高く、保守はコミュニティにある程度委任されますが、成功の秘訣はないからです。私ができる最善のアドバイスは、実際にオープンソースとは何か、そしてその悪ふざけについて、いくつかの話を勧めることです。
そしておそらくまた:
私の意見では、オープンソースについてのことは、あなただけでなくすべての人にとって価値のある何かを構築することです。オープンソースの力はコミュニティ内にあります。
また、上司/会社がソフトウェアを開くことに消極的である場合は、自分のビジネスロジックとノウハウの詳細を分離するだけです。それで、あなたがしていること:
うん、本気で「???」あなたが十分な関心を集めた後にあなたが追求したいどんな戦略も含みます。 GithubやTwitterなどの今日のツールを使用すると、Wordを簡単に広めることができますが、第一印象は十分興味深いものになるはずです。
実際にオープンソースが必要ない場合(これを実装する前にビジネスモデルとして理解する必要があり、成功したい場合)、常にそれをサービスとして起動します。そのためにCarsonifiedビデオをチェックしますが、それはあなたの会社にとって他の多くのことを意味します。
結局のところ、オープンソースであること、またはサービスとしてそれを立ち上げることは、プロジェクトを長期的に持続可能なものにする方法です。