ツールを活用したアジャイルの事例
社内システムがオープンソースになるまでの道のり
本連載では、実際の事例をもとにアジャイル開発の紹介を行っています。事例の題材となるのは、オープンソースのビジネスユース向けSNS「SKIP(http://www.openskip.org/)」です。SKIPは、当初は筆者の所属するTIS株式会社で開発を行っていました。
連載の第1回、第2回では、その立ち上げ時期から社内での開発を行ってきた様子等を、アジャイルを実践してきた事例として紹介しました。連載折り返しの第3回となる今回からは、オープンソースになったSKIPの、アジャイルで行っている普段の開発の様子を紹介していきます。
オープンソースとは何か、本連載をご覧の読者の方であれば知っていると思いますので詳細な説明は避けますが、簡単に言うと、プログラムのソースコードをインターネットを通じて公開し、コミュニティーを中心に開発を行っているソフトウエアのこと、もしくはその開発手法と言えます。
適切なライセンスを付けた上でソースコードを公開することで、誰でも自由に手に入れることができ、かつ、改良して再配布することも可能となります。オープンソースと言えばLinuxが非常に有名ですが、最近ではJavaもオープンソース化されるなど、多くの企業がオープンソースを使うだけでなく、貢献する側にもまわっています。その理由は、企業によってさまざまです。
SKIPのオープンソース化にはいくつかの理由がありました。最大の理由は、SKIPというソフトウエアの存続でした。社内システムは、社内で使われている限り直接に利潤を生み出すものではないため、その開発にかける作業は純粋にコストとして見なされます。世の中の状態によって、いつ開発プロジェクトが止められるか、といったリスクを常に抱えた状態でした。
SKIPは、私にとっては自分の一作品としての思い入れもありました。そして、オープンソースにすることで、プロジェクト中止の事態が起きたとしても、個人の範ちゅうでも継続できると考えました。また、SKIPをより多くの方に使ってもらい、企業活性化に役立てていただきたいという思いもありました。
社内システムのオープンソース化は会社にとってもメリットがあったため、最終的には承認を得ることができましたが、そこに至るまではやはり大変なものでした。オープンソースのあり方や意味を理解してもらうところから、オープンソース化による企業としての意義など、社内の人たちを説得する中で私自身も学ぶところは多くありました。
特に、SIerとって、お客さまに提供する価値は何か?という点をあらためて考えると、お客さまに提供するのはソースコードそのものではなく、課題の解決やそのシステムが正しく動き続けるという保証であったりするわけです。そうでなければ、世の中のあまたのオープンソースを組み合わせて納品などできなくなってしまいます。そう考えると、ソースコードを開示することは、自社のビジネスを脅かすものではなく、むしろ、マーケティングやPRの観点で利用することでのメリットの方が大きいのです。そうして、最終的に会社としてのGOサインを得ることができました。
オープンソース開発におけるアジャイル開発の実践と工夫
こうしてオープンソースとしての開発をすることになりましたが、特に注意したのは、「ソースコードはインターネット上で手に入るが、それ以外の開発の様子などはクローズなまま」ということがないようにした点です。ソースコードが無償で手に入るというだけでは、オープンソースとしての価値やメリットの半分も享受できていません。一般の開発者を巻き込んだり、多くの利用者からの意見を取り込んだりしていくためには、コミュニティーを形成するとともに、開発の様子などをなるべく公開していく必要がありました。
次のページでは、オープンな環境下でのアジャイル開発の工夫について紹介します。