開発者が多いOSSでシステム構築すべき理由

ERPや大手が提供するソフトウェア製品を使って開発を行えるようになるには、システム会社に就職し、システムエンジニア(SE)として、多くの案件をこなしながら、現場でそれらを使った開発方法をマスターしていく必要があります。また、こうしたSEの多くは、システムインテグレーターに勤務していることが多いので、開発を依頼するには、そうした会社へ発注しなければなりません。これらのソフトウェアのライセンスが一般的に高額であり、個人で購入して習得することがなかなかできないことにも関係しています。

また、システムインテグレーターでは、お客様へのヒアリングを通じてシステム要件(作業として何をするか)をきっちり定義し、事前に詳細に仕様が書かれたドキュメントを作成することなしには、見積り金額も提示できませんし、契約して開発に着手することが出来ません。こうしたインテグレーターが採用する開発手法を「ウォーターフォール開発」と呼びます。ウォーターフォール開発は、顧客も開発者も何を作ればよいのかはっきり分かっている場合には良い方法ですが、新規システム開発案件においては、お客様自身もシステムで何を行いたいのか、はっきりはわかっていないことも良くあります。開発現場では、開発中に仕様が変わることもしょっちゅうですので、仕様とそれを開発するために必要な金額を事前に決めておかなければ進められないウォーターフォール開発では、最近の開発現場に対応できなくなってきています。ウォーターフォール開発自体が、見積もり時に示した金額と、納品時にお客様へ請求する金額との間に大きな乖離を生んでしまい、お客様と業者との間での訴訟問題にまで発展する原因になることさえあります。

多くの新興ベンチャー企業では、OSSを使ったシステム開発をしています。OSSの開発者は、その高い技術力や経験を買われて、ベンチャーからベンチャーへ渡り歩いている人が多いですし、フリーランスとしてプロジェクト単位で開発に参加し、多くの実績を残している人も多数います。近年、ベンチャー企業が提供しているサービスやアプリの質を見ても、古くからシステム開発に携わってきたシステムインテグレーターなどが開発するものと比べてもまったく遜色ありません。むしろ優れた製品やサービスを出すようにさえなってきたと言えるでしょう。ベンチャー企業の筆頭であるグーグルやフェイスブックも、20年前には存在しない企業でした。こうした企業で働くほとんどのエンジニアやプログラマーがOSSを使った開発に携わってきており、多くのシステム開発現場ではもはやOSSがメインになっています。

システムインテグレーターでさえ、OSSを採用したシステム開発を行うようになってきており、今後のシステム開発において優秀なエンジニアの数と質を担保する上で、OSSを採用することは企業にとっても重要な施策となっています。