実証的ソフトウェア工学

ソフトウェアの高度化、大規模化とこれに伴う開発コストの増大に伴い、ソフトウェア開発において、生産性の向上と品質の確保が重要な課題となっています。

そのための有用なアプローチとして、ソフトウェア開発の分野において、他の科学、工学分野と同様に、計測、定量化と評価、そしてフィードバックによる改善という実証的手法(エンピリカルアプローチ)が注目されています。 エンピリカルアプローチでは、以下の5つのステップが実施されます。

  • Step1: ソフトウェア開発における現状の問題点把握
    • 文献調査や現場のソフトウエア開発技術者とのインタビュー等を通じて問題点を把握・理解します。
  • Step2: 問題点を解消する手法の提案
    • Step1で得られた問題に対する改善手法を提案します。既存手法の応用・改良をする場合もあります。必要に応じて手法を支援するツールの開発も行います。
  • Step3: 実験/ケーススタディを通じた手法の評価
    • 大学環境での実験や企業のデータを用いたケーススタディをつうじて、Step2で得られた手法・ツールの評価を行います。手法が有効に働く条件、効果が発揮できない状況はあるか等を明確にします。
  • Step4: 実際の開発プロジェクトへの適用
    • 企業等で実施される実際の開発プロジェクトへ適用し、手法の現場での有用性を確認します。Step3で得られた結果が成り立つかどうか、他の問題点や改善すべき点を分析します。
  • Step5: 手法の改善・改良
    • Step4の結果に基づいて、手法・ツールの改善・改良を行います。

以降、Step3~Step5を繰り返します。