分散開発プロジェクトとは、複数の事業所や拠点にまたがって行われる研究開発(R&D) プロジェクトです。これは、プロジェクト メンバーが互いに直接会うことはないものの、プロジェクトの成果に向けて全員が協力して作業する R&D の形式です。多くの場合、これは電子メール、インターネット、その他の迅速な遠距離通信手段を通じて行われます。[1]分散開発は、主にオープン ソース ソフトウェアコミュニティによって開拓されました。[2]
これは、ある組織が別の組織に仕事を下請けするのではなく、すべての組織が同等のレベルで協力して作業を行うという点で、アウトソーシングとは異なります。これは、仮想チームに似ていますが、研究の要素が加わります。
分散開発の特徴
開発者は複数の場所に分散しており、同じプロジェクトまたは製品に取り組んでいます。分散の理由は重要ではなく、異なる場所でのリソースの可用性、特定のクラスターへの近さ、顧客への近さ、コスト上の利点などが挙げられます。
分散開発環境では、人々は専門分野に特化しているかもしれませんが、共通の目標を達成するために積極的に協力します。プロジェクト管理のどこかにプログラム リーダーまたはプロジェクト マネージャーが必要です。分散環境では、プロジェクト メンバーはアイデア、情報、リソースを共有します。重要な要件の 1 つは、すべてのコミュニケーションが同じオフィス ビル内の人に限定されず、関係者全員に公開される必要があることです。これは通常、インターネット ベースのコラボレーションを使用して実現されます。よく使用されるコミュニケーション ツールには、GitHubやwiki などがあります。[2]
分散開発は、あらゆるエンジニアリングや科学 研究開発環境におけるコラボレーションの最も高度な形態の 1 つです。通常、分散開発はビジネスの成功の障害にはなりませんが、高い管理能力、優れたコミュニケーション環境、政治的に自由な環境、非常に効率的なインフラストラクチャ、よく発達した組織図、頻繁なやり取りが必要となるため、多少の負担から達成の困難までの範囲があります。最も重要なのは、経営陣が体制を信頼し、遵守を報いる対策を講じるとともに、遵守しない者に対しては非常に厳しく対応する必要があることです。起業家の Mitch Kaporによると、多くの企業が分散開発を成功させています。[1]
成功要因
分散開発にはいくつかの欠点があります。研究によると、従業員全員が同じオフィスで働くと、仕事の調整がうまくなり、生産性も向上します。同様に、緊密に統合されたソフトウェア アプリケーションを分散開発で開発するのは非常に困難です。これらの理由から、Facebook を含む多くの大企業では、従業員全員が同じオフィスで働くことを義務付けています。
それにもかかわらず、分散開発にはビジネスにとっていくつかの利点があります。企業は、在宅勤務を希望する従業員や長距離移動を望まない従業員など、より多様な労働力を雇用することができます。また、シリコンバレーの非常に高い賃金とは対照的に、企業はより低いコストで質の高い労働者を雇用することができます。分散開発は、プログラムのさまざまな部分を個別に開発できるモジュール型ソフトウェアに適していることがよくあります。[2]
分散開発プロジェクトには、主に 3 つの成功要因があります。
- 優秀で、強く、高度なスキルを持つ人材を選抜し、採用する。[1] [3]
- 特に各主要プロジェクトの開始時には、対面ミーティングにいくらかの費用をかけましょう。[3]
- 適切なインセンティブシステムを含め、分散開発での作業をサポートする組織設計を構築します。[3]
これら 3 つのアクションを実行することで、純粋なアウトソーシングやオフショアリングを超える利点、つまり、分散ネットワークのすべての部分で従業員のモチベーションが大幅に向上し、定着率が向上し、ネットワークの多様性から確実に利益を得ることができます。
アプリケーション
グローバルに分散したソフトウェアエンジニアリング
グローバル分散ソフトウェアエンジニアリング(GDSE)は、分散開発プロセスのためのエンタープライズアプリケーションです。企業は、さまざまな場所で作業するチームや、アウトソーシングやオフショアリングのために、分散環境で作業することができます。[4]分散ソフトウェアエンジニアリングの一般的なアプローチは、分散アジャイルソフトウェア開発です。
過去には、ほぼすべてのソフトウェア開発は、チームリーダー、設計者、開発者、テスターなど、すべてのメンバーが物理的に近い場所で一緒に作業するチームによって行われていました。[5]年月が経つにつれて、企業は規模と複雑さが増し、ソフトウェアをグローバルに開発する必要に迫られました。[6]さらに、他の力も影響を及ぼしました。たとえば、経済力とグローバル化により、国内市場がグローバル市場になり始め、競争が激化しました。[6]
成功要因で説明したように、分散環境でソフトウェアを開発すると、次のようないくつかの利点がもたらされます。これは、グローバルにソフトウェア開発を開始する企業にとっても重要な要素です。[7]
- 例えば、世界の他の地域での賃金が低いため、開発コストが低くなる
- 時間効率、毎日の労働時間の増加
- より大規模な熟練労働力へのアクセス
- 企業の市場や顧客との近さ
グローバル分散ソフトウェアエンジニアリングでは、コミュニケーションに関して多くの課題があります。分散ソフトウェア開発におけるコミュニケーションの研究分野は、これらの課題に対処し、企業が誤解のない信頼性の高いコミュニケーションチャネルを持つのを支援することに重点を置いています。[8]
参照
参考文献
- ^ abc Mitch Kapor、「成功する会社の作り方」、スタンフォード大学起業家精神専攻の学生への講義、2008年1月16日。
- ^ abc Asay, Matt (2014 年 6 月 24 日). 「分散開発: まだ間違ったやり方をしている」. readwrite . 2015 年1 月 28 日閲覧。
- ^ abc ダニエル・エク、「起業家のためのプレイリスト」、スタンフォード大学起業家精神専攻の学生への講義、2012年5月16日。
- ^ リチャードソン、イタリア;ケイシー、バレンタイン。バートン、ジョン。マッカフェリー、ファーガル (2010)。ミストリック、イワン。グランディ、ジョン。フック、アンドレ。ジム・ホワイトヘッド(編)。協調的なソフトウェア エンジニアリング。シュプリンガー ベルリン ハイデルベルク。 35–56ページ。土井:10.1007/978-3-642-10294-3_2。ISBN 9783642102936。
- ^ Thissen, M. Rita; Page, Jean M.; Bharathi, Madhavi C.; Austin, Toyia L. (2007). 2007 ACM SIGMIS CPR 会議議事録、 2007コンピュータ人材博士課程コンソーシアムおよび研究会議、グローバル情報技術労働力に関する会議 - SIGMIS-CPR '07。p. 28。doi : 10.1145 /1235000.1235007。ISBN 9781595936417. S2CID 2741073。
- ^ ab Eykelhoff, Maarten (2007). 「グローバルソフトウェア開発におけるコミュニケーション」(PDF)。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - ^ Conchúir、エオイン・オー; \AAgerfalk、Pär J.;ヘレナ・H・オルソン。ブライアン、フィッツジェラルド (2009 年 8 月)。 「グローバル ソフトウェア開発: メリットはどこにありますか?」共通。 ACM。52 (8): 127–131。土井:10.1145/1536616.1536648。ISSN 0001-0782。S2CID 663043。
- ^ tutkimuskeskus、ヴァルション・テクニリネン (2012)。グローバル ソフトウェア エンジニアリング: 課題と解決策のフレームワーク。ISBN 9789513874599. OCLC 820775844.
