|
将来のビジネスモデルは、ソーシャルメディア、モバイル、クラウドコンピューティング、ビッグデータといったテクノロジーを基盤としたものになるでしょう。IT部門も、将来成功するためには、理想的なプロセス、ツール、そして協力的な文化が不可欠であることを認識し始めています。この点において、オープンソースのメカニズムは大きな優位性を持っています。 オープンソース メカニズムを企業の IT インフラストラクチャの主要コンポーネントにすることを全員が決定したら、次の重要な手順を実行する必要があります。 1. 主要な依存関係を特定する オープンソースの展開プロセスにおいて、どのコンポーネントが重要な依存関係を持っているかを理解することは非常に重要です。具体的には、コミュニティの規模、安定性、そしてこれらのコンポーネントの推奨機能までを明確に把握することが不可欠です。依存関係が確立されたら、互いにうまく動作しない、あるいは競合するような2つのコンポーネントを組み合わせないようにする必要があります。 具体的な手順:自社のオープンソース技術の使用状況を調査し、使用しているプロジェクト/製品を特定します。これらのプロジェクト/製品を、有用性、重要性、および重大性に基づいて分類します。コアビジネスや顧客対応領域に影響を与えるこれらの重要プロジェクトを管理するための社内スタッフまたはビジネスサポートを確保します。Black Duckなどの商用製品を使用して、現在使用しているオープンソース製品/プロジェクトを把握することもできます。 2. オープンソーススキルの蓄積を構築する オープンソースプロジェクトには、プロプライエタリベンダー製品とは異なり、ヘルプデスクが存在しません。そのため、自主性と自力解決が不可欠となり、企業のIT部門はオープンソースの取り組みを積極的に参照し、自発的に学習し、オープンソーススキルの普及を促進する必要があります。 具体的な手順:前ステップで述べたオープンソースプロジェクト/製品調査を完了した後、重要かつ重要なプロジェクトの成功に必要な必須スキルを特定し、これらのスキル向上のための具体的な計画を策定する必要があります。現在の採用活動においては、オープンソーススキルを必須条件に含め、求職者の評価基準の一つとして活用する必要があります。既存の社内スタッフについては、スキルセットを調査し、能力向上のための研修プログラムを準備する必要があります。さらに、他の潜在的スキルを持つ新しい人材を確実に獲得できるよう、将来の採用計画を策定する必要があります。 3. 公開できる結果と社内に留めておく必要がある結果を決定します。 書かれたコードは、どこに配置するかを決める必要があります。人々がそのコードを製品に貢献すれば、そのコードは製品の一部となり、将来のバージョンにも残ることを忘れないでください。 具体的なアプローチ:完成したすべてのコードが、様々なオープンソース製品/プロジェクトに拡張または統合されるようにします。拡張されたコード(つまり、プロジェクト/製品内に存在し、追加機能を実装するために使用されるコード)はすべて、アップストリームコードベースに提供することを前提としています。統合されたコードについては、まず、特定のプロジェクト/製品のアップストリームコードベースにリリースできる部分を評価します。社内に残す必要がある統合コードについては、長期的な保守計画が策定され、それに応じたサポート予算が割り当てられていることを確認する必要があります。コードリリースをサポートするためのオープンソース管理ポリシーと実装プロセスをまだ策定していない場合は、すぐに開発を開始してください。 4. オープンソースがすべての問題を解決できる万能薬ではないことを明確に認識します。 オープンソースの導入には様々な利点がありますが、だからといってすべてのアプリケーションに同じアプローチを適用すべきではありません。多くの事例が、プロプライエタリ製品が特定のシナリオにおいて比類のない成果をもたらすことを示しています。最も重要なのは、プロジェクトのどの部分がオープンソースのアプローチに適していて、どの部分がそれほど適していないかを認識し、理解することです。 具体的な対策としては、各ソフトウェア コンポーネントの評価で独自のオプションとオープン ソース オプションの両方を考慮すること、すべてのコンポーネントが同じ方法論に従い、決定が公平に行われるように構造化された評価プロセスと標準を確立すること、比較全体が完全に平等に行われるようにオープン ソース プロジェクト/製品の推進に必要な投資を行うことなどが挙げられます。 5. コミュニティに積極的に参加する オープンソースの成功は、ソフトウェアの継続的な改善に大きく起因します。コード修正におけるユーザーの積極的な参加は不可欠ですが、オープンソースプロジェクトのリーダーとの連携も同様に重要です。成功した開発戦略を共有することで、コミュニティ全体の強化にも繋がります。結局のところ、オープンソースの実装を成功させるには、ベストプラクティスと他者の経験が不可欠です。 具体的な対策としては、地域および国際的なオープンソース技術イベントやカンファレンスに参加すること、従業員が重要な、さらには極めて重要なオープンソース プロジェクト/製品に関与し、奨励されるようにすること、オープンソース プロジェクト/製品の重要な要素として財政支援を考慮することなどが挙げられます。 6. 最後になりましたが、いわゆる「新しいタイプの遺産」について留意してください。 多くのIT組織は、新しいアプリケーションの構築にオープンソースコンポーネントを活用していますが、これがエンジニアリング上のリスクとなり得ることを見落としがちです。IT組織が自社開発のDevOpsツールチェーンにオープンソースコンポーネントを組み込むことはよくありますが、問題は、時間が経つにつれて初期のエンジニアが離職し、ドキュメントが不十分なシステムが複雑に絡み合った状態になってしまうことです。最終的に、IT組織はオープンソースがレガシー問題の原因にもなっていることに気付くのです。 自由と柔軟性の利点を享受しているだけでは、誰もがオープンソースの仕組みに基づいたアプリケーションやビジネスを構築するという無謀な選択をする必要はありません。私たちが書くコードの1行1行は、私たち自身の責任の一部であるべきであり、他人に決められる不確実な要素であってはなりません。 エンタープライズITの真髄は急速な発展にあり、一連の変化を背景に、オープンソースはあらゆる企業のIT環境において徐々に大きな割合を占めるようになっています。ますます多くの組織がオープンソースの波を受け入れるにつれ、必要なスキルは最終的な結果を左右する前提条件の一つとなるでしょう。それは、オープンソースリソースをより賢く活用するだけでなく、サードパーティプラットフォームが支配する世界において、企業が独自の競争力を維持し続けるためにも不可欠です。 元のタイトル: 企業でオープンソースツールを導入する方法 |