オープンソースのメリットは?
弊社で取り扱っていますPentahoやInfobrightといったソフトウェアはオープンソースの開発手法により作られています。オープンソース開発とは、透明なプロセスで運用され、早期に反復的なリリースを繰り返し、広く参加者を募ることでプロダクトの品質を急速に上げていく手法です。ソフトウェアの場合、一般的に品質とはバグの多さを指しますが、これは品質の1つの側面にすぎません。バグの他にも欠陥は、Requirement(要求)、Design(デザイン)、Implementation(実装)、Delivery(デリバリー)などあらゆるフェーズに存在します。全体品質という観点では、これらすべてを見る必要があります。
【クローズドモデルでは】
ソフトウェアベンダーの担当セールスは、機能の要望をプロダクトマネージャーに上げます。プロダクトマネージャーは、それらをまとめて求められる機能を開発エンジニアに伝えます。開発エンジニアは品質担当エンジニアに機能テストとバグ報告を依頼します。これらがすべて終わった後、顧客は初めてソフトウェアを受け取ることができます。しかし、これらのプロセスは顧客から見えることはありません。そしてウォーターフォール型で進むため、要求・デザインフェーズの有効性は、実装・デリバリーされるまで検証されません。
さらに問題は、通常、品質担当エンジニアはソフトウェアを実際の環境で使用しないため、顧客のところでどのようなことが起きるかを想像することが難しいということです。またエンジニア全般的に顧客との直接のコミュニケーションをする機会がありません。
【オープンソースモデルでは】
まず要求フェーズが非常に透明です。顧客は自らの要求を追加したり、投票したりすることができ、もっともポピュラーな機能が決定されます。オープンなデザインの仕組みにより、顧客がデザインについて質問したり、ユースケースについて評価したりすることができます。早く繰り返されるリリースにより、実装途中でも顧客は欠陥を見つけることができます。これらの欠陥を初期段階でFixすることで、その後の開発をより効率的に進めることができます。
このソフトウェア開発の世界の原理は、広くビジネスの世界に適応され始めています。ナイキ(顧客によるスニーカーのデザイン)、やはてな(ソーシャルブックマーク)、電気自動車の開発に至るまで、今後ますます様々なところで、この社外のリソースを活用したオープンビジネスモデルが採用されていくと思います。


