SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

オープンソースの開発スタイルで企業のソフトウェア開発を変える、実践インナーソース入門

企業内でインナーソースを実践するためにに必要な「共通の課題」と「オープンな環境」を作るには?

オープンソースの開発スタイルで企業のソフトウェア開発を変える、実践インナーソース入門 第4回

  • このエントリーをはてなブックマークに追加

 オープンソースの開発スタイルを企業内で実践するInnerSource(以下、インナーソース)は、ソフトウェア開発のスピードや品質が向上するだけでなく、縦割りの仕組みを抱える企業でサイロ化してしまった開発チームが、開発文化を変革することにも繋がります。本連載は、ソフトウェア開発に関わるそれぞれの立場の人が、インナーソースに必要な考え方や行動の価値を理解して、実践できるようになることを目標としています。今まで3回にわたり、インナーソースの概要と、それに関わる人の役割について説明してきました。連載を締めくくるにあたり、今回は企業内でインナーソースを始める時、どのようなことから始めれば良いかについて、いくつかポイントを説明します。

  • このエントリーをはてなブックマークに追加

本文書のライセンスについて

 本記事は、InnerSourceCommons.orgが提供するInnerSource Learning Pathを元に再編集したもので、CC BY-SA 4.0(表示 - 継承 4.0 国際)ライセンスに従い提供されています。

インナーソース実践に必要な「共通の課題」と「環境」

 インナーソースを始めるために何が必要かを考えるにあたり、インナーソースとは何かについて振り返ってみましょう。インナーソースは、次の2つのことを企業の中で実践することです。

  • 開発の状態(ソースコード、ドキュメント、議論の内容)を誰からも見える状態にする
  • コントリビューションを受け入れる

 これは、インナーソースの仕組みの側面に過ぎません。実際に、インナーソースを始めるには、この仕組みで取り組む題材と、この仕組みで活動できる環境が必要です。

インナーソースの活動の仕組み

図1:インナーソースの活動の仕組み

 まず、題材の視点では、「共通の課題」が一つのポイントになります。インナーソースは、企業に所属する人が誰でも参加できる仕組みですが、その必要性がなければ、どれだけ参加を促したとしても参加者を得ることは難しいでしょう。図1のように、ある人が持つ課題に対して、興味が一致する人や、詳しい人がいれば、組織が異なっていても協力してアイデアを出して解決に取り組むことで、より良い解決方法をより早く発見できる可能性があります。

 次に、環境の視点では、インナーソースの活動を進めやすくするオープンな場とルールが必要になります。インナーソースを実践するための場があれば、企業内の複数のチームが一緒にソースコードを開発することができます。また、インナーソースで開発をしたり、その成果を利用したりする際の決まりごとがあれば、インナーソースにどのように関われば良いか判断できるようになります。

組織の共通の課題を見つける方法

 インナーソース成功のポイントは、オープン性と透明性ですが、それだけで共通の課題を見つけるのに十分でしょうか。開発をオープンにすることで、偶然組織外の人の目にとまったり、人伝で認知されたりして活動に参加することもあるでしょう。しかし、このような偶然に頼るだけでは、十分な効果を得ることは困難です。共通の課題を持つ仲間を見つけるために、個人としては一人ひとりが主体的に行動すること、組織としては戦略的に活動をサポートすることが必要です。

 インナーソースは企業の中の活動ですので、チームとしてプロジェクトを成功に導くという身近な課題から、企業の経営目標を達成するという課題まで、さまざまな共通の課題があります。そこで、身近なところは、同じ部門の別チーム、もう少し広く捉えて、同じ事業ドメインの関係者などの範囲で課題を共有することから始めるという方法があります。もし組織横断で活動することが想定され、関係者が明確なら、組織的にプロジェクトを立ち上げるという活動を行っても良いでしょう。

 個人の活動では、例えば同じオープンソースソフトウェア(以降、OSS)を使っている人と繋がりを持つための社内コミュニティ活動をするという方法もあります。もし同じOSSを使っている人が分かれば、インナーソースの仕組みを用いて企業内で議論や開発を行い、OSSコミュニティに一緒にコントリビューションするという道がひらけます。

 実は、筆者もインナーソースを知る前に共通の課題を解決する活動を始めたのは、OSSのLinuxがキッカケでした。当時、組み込みシステムでLinuxの活用が広がり、社内でも複数の部門がLinux採用を検討していました。社外のOSSコミュニティに社内事情を直接伝えることは難しくても、社内であれば議論ができるため、同じソースコードをベースにして不具合の修正を行ったり、機能追加したりするなどの議論が進んだことがあります。

 さらに、こうした活動をキッカケとして、社内で修正したコードをOSSコミュニティにコントリビューションしたり、社内のソースコードの一部をOSSとして公開したりすることにも繋がりました。今では、複数の企業と一緒に、産業向けにOSSを活用する際の共通課題の解決に向けた活動になっています。

 次に、課題を見つけるタイミングについて考えてみましょう。新しくプロジェクトを始める時、要件定義を行う時、最初のリリース時、メンテナンスやリファクタリングを行う時など、さまざまなタイミングが考えられます。

 もし、可能であれば、共通の課題か判断できるか否かによらず、早期に活動をオープンにし、できるだけ多くの人に発見してもらえるチャネルを用いて聞いてみることをおすすめします。課題を抱えている組織や本人が共通の課題になりえないと思っていても、思いもよらないところからの協力が得られるかもしれません。インナーソースの成功のポイントは、オープン性と透明性が確保されていることです。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
オープンな環境とルールの作り方

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
オープンソースの開発スタイルで企業のソフトウェア開発を変える、実践インナーソース入門連載記事一覧

もっと読む

この記事の著者

小林 良岳(株式会社東芝)(コバヤシ ヨシタケ)

 海外企業でのシスアド、大学院助教を経て、2008年より現職。Linuxなどのオペレーティングシステムの技術開発と適用に従事。現在は、OSSプロジェクト(Civil Infrastructure Platform)技術委員会のチェアマンとしての活動とともに、社内ではソフトウェア技術開発を行う部門をリ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/16281 2022/09/22 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング