ソフトウェアの持続可能性成熟度モデル
ソフトウェアの将来的なニーズへの対応力やサプライヤーのリスクを評価することが、今日のソフトウェア選定において不可欠です。
閉鎖型(クローズドソース)とオープンソースソフトウェアの持続可能性の評価は難しく、客観的な基準が求められています。
本稿では、この課題を解決するための「ソフトウェア持続可能性成熟度モデル(SSMM)」を提案しています。
SSMMは、技術的な再利用性や、資金調達・ガバナンスといった非技術的な側面からリスクを正式に評価することを可能にします。
これにより、開発者や調達担当者は、採用するソリューションの長期的な安定性を確認できます。
ソフトウェアの「持続可能性」を評価する手法が提案されました。これは、新規開発や調達を行う際に、単に機能が動くかだけでなく、将来にわたってそのソフトウェアが維持・発展し続けることができるかを判断するためのフレームワークです。本モデルは、オープンソースとクローズドソースの両方を対象とし、リスクを定量的に把握することを目的としています。
持続可能性の定義と必要性
ソフトウェアを選ぶ際、現在のニーズを満たしているかだけでなく、「将来も使えるか」という視点が重要になるとされています。サプライヤーが数年後に存続するか、バグ報告や機能要望にどれだけ応えてくれるかといった、長期的な視点が不可欠です。クローズドソースの場合、これらの評価は属人的な推測になりがちです。
一方、オープンソースはメンテナンスの自由度が高いものの、開発手法に不慣れな人にとっては、持続可能性の評価が複雑になりがちです。本モデルは、この評価の難しさを解消する試みとされています。
ソフトウェア再利用の考え方
ソフトウェア再利用とは、既存のコードに組み込まれた知識を再適用することで、新しいシステム開発や維持の労力を削減する手法です。これは、完全なアプリケーションだけでなく、データ形式やアルゴリズムといった個別の要素も含むと定義されています。
再利用には主に二つのアプローチがあります。一つは、内部構造を理解せず「そのまま利用する」方法です。この場合、動作が要求通りであることを確実にする必要があります。もう一つは、新しい環境に合わせて「修正を加えて利用する」方法で、このためには、元のコンポーネントが十分に設計・文書化され、修正が許可されたライセンスである必要があります。
技術的・非技術的要因の考慮
ソフトウェアの持続可能性は、技術的な側面と非技術的な側面の両方によって影響を受けます。技術的な要素は、ソフトウェアがどれだけ「再利用可能か」、すなわち「適応能力」に焦点を当てています。対して非技術的な要素は、プロジェクトの資金調達やガバナンス(統治)といった、運用に関わる部分です。
これらの要因は完全に切り離すことは難しいとされています。長期的に持続するためには、ソフトウェアが単に有用であるだけでなく、利用者のニーズに合わせて進化し、適応していく能力を持っていることが重要であると説明しています。
まとめ
本モデルは、ソフトウェアの採用において潜在的なリスクを評価する客観的な手段を提供します。これにより、調達担当者や開発チームは、単なる機能面だけでなく、長期的な安定稼働を見据えた賢明な意思決定ができるようになると期待されています。
原文の冒頭を表示(英語・3段落のみ)
by
Ross Gardler
on 7 September 2010
※ 著作権に配慮し、引用は冒頭3段落までです。続きは元記事をご覧ください。