効率的なソフトウェアアップサイクルのための事例共有システムの検討(中田)

背景

近年,ICT技術の発展により産業・日常生活・学術研究といった様々な場面でソフトウェアが利用されており,設計支援ツール(CAD),オンライン決済システム,シミュレーションソフトウェアなど組織の活動に不可欠なソフトウェアも多く存在します.
これらのソフトウェアを取り巻く環境は常に変化しており,例えば,利用者層の変化,競合ソフトウェアの出現,ビジネス要求の変化などが挙げられます.
こうした変化に対応するため,ソフトウェア開発者は保守やバージョンアップなどの対応を行います.
しかしながら,過去のソフトウェアプロジェクトを参照・改修するにあたって,過去の開発現場において積み上げられた技術的負債が障壁となることがあります.

技術的負債とは,短期的視点のシステム開発が,長期的な運用・保守費の高騰を生むことを指し,具体的には,ソフトウェア開発運用を継続していくうえで,いずれ改修しなければならないプロダクトの全体あるいは一部のことを意味します.
この技術的負債の返済の手段の一つとして,ソフトウェアアップサイクルという考え方があります.
ソフトウェアアップサイクルは,既存プロジェクトの一部分であるプロジェクト素材を新規の価値あるソフトウェア資産に転換する考え方です.
しかしながら,アップサイクルの具体的な手法・レシピの構築方法は確立されていません.

目的

そこで,本研究では,アップサイクルの実績・アイデアをアップサイクル事例として組織内で記録・共有することで,未来のアップサイクルを効率化することを目的として,アップサイクル事例を集合知として手軽に記録・共有する知識ベースシステムを検討します.

アプローチ

研究のアプローチは次の3つです.

  • 蓄積するアップサイクル素材の定義
  • アップサイクル事例データモデルの設計
  • 事例共有システムのアーキテクチャ設計

提案システムに蓄積するアップサイクル素材は,ソースコードのみならず設計やプロジェクト全体も包含したあらゆるプロジェクト素材を対象とし,適切なバージョン管理やアクセス方法の記載を必須としました.
さらに,データモデルの要素として,アップサイクルの目的・素材・手法・結果を定義しました.
また,過去のアップサイクル事例だけでなく,未来に向けたアップサイクルのアイデアも蓄積・共有できます.

本研究で提案したシステムを実現することによって,過去のアップサイクル事例をもとに手軽に具体的なアップサイクルを実行できるようになり,さらに,アップサイクル事例の目的や手法を参考に革新的なアイデアを連鎖・蓄積していくことが期待できます.
これによって,アップサイクルの好循環を通じた効率的なアップサイクルの実現が期待できます.