プログラミング

開発ライブラリ選定の観点について

2021年9月20日

開発ライブラリを選定する際に、気を付けるべき点をご紹介します。特定のライブラリがプロジェクトにとって適切かを判断したり、複数のライブラリを比較する状況が生じることもあります。開発プロジェクトの状況に応じて気を付けるべき点は変わってくると思いますが、今回ご紹介する観点を参考にしていただければと思います。

ライブラリのライフサイクル

プロジェクトの工期に対して、ライブラリのライフサイクル(サポートや不具合修正の期間)が適切かどうかを検討しましょう。プロジェクトの開発期間や保守期間に対して、ライブラリのライフサイクルが短い場合、プロジェクト途中でサポートが切れてもいいのか?を検討する必要があります。もしくは、ライブラリのバージョンアップを行うことができるのか?といった観点も必要になるかもしれません。

開発言語の習熟度

ライブラリを利用するための開発言語は、プロジェクトメンバーにとって使い慣れているものかどうかを確認しましょう。不慣れな言語を使う必要がある場合、言語そのものの学習に時間と労力がかかることになってしまいます。

実現すべき要件との親和性

ライブラリが提供してくれる機能が、機能要件を実現することができるのか(実現しやすいのか)を見極めましょう。利用経験があるものの、要件を実現することが難しい場合、より親和性の高いライブラリも検討対象にしてみてください。

GitHub リポジトリ数

ライブラリが GitHub でメンテナンスされている場合、GitHub のリポジトリ数は、広く使われているかどうかを判断する材料になります。

Web リソース数

GitHub のリポジトリ数以外にも、Web 検索をした結果、利用方法や問題の解決方法などの情報が出てくるかを確認しましょう。サポートに問い合わせて回答を得られない時など、自分で調査をする際には Web リソースが多く存在する方が、開発を進めやすいでしょう。

アーキテクチャの習熟度

ライブラリが特定のアーキテクチャを前提としている場合、プロジェクトメンバーがそのアーキテクチャについて知見があるのかを確認しておきましょう。先に挙げた「開発言語の習熟度」と同じく、不慣れなアーキテクチャが前提となってしまうと、アーキテクチャの学習に時間と労力がかかることになってしまいます。

サポート体制

ライブラリのサポート体制はどのように提供されているのかを確認しておきましょう。専用サポート窓口があるのか、StackOverflow などの掲示板サイトで、ベストエフォート形式でサポートがなされているのか、有償のサポートサービスが提供されているのか、などが観点としてあります。

料金・ライセンス形態

ライブラリの利用に際して、料金がいくらなのかを確認しておきましょう。また、ライセンス形態は開発者ライセンスのみなのか、サーバーライセンスが必要なのかなどもよく確認しましょう。オープンソースの場合、無料で利用することができることが多いと思いますが、ライブラリを組み込んだ際の著作権表示についても利用前に確認しておきましょう。

運営母体の安定性・将来性

ライブラリを開発・運用している運営母体についても確認しておきましょう。ライブラリのオーナーは個人、コミュニティ、企業などさまざまです。個人オーナーであれば、何らかの理由で突然ライブラリの運営が継続されなくなる可能性もあります。ある程度の規模のコミュニティや企業がオーナーであれば、ライブラリ運営の終了までにある程度の期間があることが多いかと思います。

ライブラリ普及度

「GitHub リポジトリ数」や「Web リソース数」とも関連しますが、ライブラリが広く普及しているかも観点としてあるかと思います。必ずしも普及している必要はないですが、開発パートナーと連携して開発したい場合などには、他案件や同業他社での採用実績などを考慮に入れるのがよいでしょう。

以上、今回は開発ライブラリ選定の観点についてご紹介しました。既に選定を終えられようとされている方も、上記の観点をチェック項目として利用していただければと思います。

-プログラミング