Skip to main content
QUICK REVIEW

[論文レビュー] The frog and the octopus: a conceptual model of software development

Philippe Kruchten|arXiv (Cornell University)|Sep 6, 2012
Software Engineering Techniques and Practices参考文献 45被引用数 7
ひとこと要約

本論文は、アジャイル、伝統的、ハイブリッドのすべてのアプローチを統合する統一的概念的モデルを提案する。このモデルは、すべてのソフトウェア開発プロジェクトに共通する9つのコア要素(例:意図、製品、人、時間、品質)と、手法の多様性を説明する8つの変動要因(例:規模、重要度、変化率)を特定することで構築される。このモデルは、実践の分析、カリキュラム設計の支援、プロセス改善、アジャイル対伝統的という対立的議論の緩和のための理論的枠組みとして機能する。

ABSTRACT

We propose a conceptual model of software development that encompasses all approaches: traditional or agile, light and heavy, for large and small development efforts. The model identifies both the common aspects in all software development, i.e., elements found in some form or another in each and every software development project (Intent, Product, People, Work, Time, Quality, Risk, Cost, Value), as well as the variable part, i.e., the main factors that cause the very wide variations we can find in the software development world (Size, Age, Criticality, Architecture stability, Business model, Governance, Rate of change, Geographic distribution). We show how the model can be used as an explanatory theory of software development, as a tool for analysis of practices, techniques, processes, as the basis for curriculum design or for software process adoption and improvement, and to support empirical research on software development methods. This model is also proposed as a way to depolarize the debate on agile methods versus the rest-of-the-world: a unified model.

研究の動機と目的

  • あらゆる手法や規模に関わらず、すべてのソフトウェア開発アプローチを統合する包括的な概念的モデルの構築。
  • あらゆるソフトウェアプロジェクトに共通する不変のコア要素を特定し、多様な文脈において一貫した分析を可能にする。
  • ソフトウェア開発の実践とプロセスにおける顕著な多様性を説明する要因を定義する。
  • ソフトウェア工学におけるカリキュラム設計、プロセスの採用、実証的研究のための理論的基盤を提供する。
  • アジャイルと伝統的ソフトウェア開発の間の議論を緩和するため、共通の概念的枠組みを提供する。

提案手法

  • モデルは、すべてのソフトウェア開発プロジェクトに共通する9つのコア要素(意図、製品、人、作業、時間、品質、リスク、コスト、価値)を中心に構築される。
  • コア要素の適用に影響を与える8つの変動要因(規模、年齢、重要度、アーキテクチャの安定性、ビジネスモデル、ガバナンス、変化率、地理的分布)を統合する。
  • モデルは手続き的指針ではなく概念的枠組みとして設計されており、説明的パワーを重視し、規範的指針ではない。
  • 既存の実践、技法、プロセスの分析を可能にするために、コア要素と変動要因にマッピングする。
  • カリキュラム設計を支援するため、ソフトウェア開発における必須の概念と関係性を特定する。
  • プロセス改善、研究、教育的文脈への応用を通じて妥当性が確認され、広範な解釈的有用性を示している。

実験結果

リサーチクエスチョン

  • RQ11つの概念的モデルが、アジャイルと伝統的ソフトウェア開発アプローチの両方をどのように統合できるか?
  • RQ2アーキテクチャや規模に関係なく、すべてのソフトウェア開発プロジェクトに共通して存在するコア要素は何か?
  • RQ3組織やプロジェクトごとのソフトウェア開発実践における顕著な多様性を説明する要因は何か?
  • RQ4このモデルを用いて、ソフトウェア開発プロセスを分析・比較・改善するにはどうすればよいか?
  • RQ5このモデルが、アジャイルでないソフトウェア開発手法との対立的議論をどのように緩和できるか?

主な発見

  • モデルは、すべてのプロジェクトに共通する9つの不変のコア要素を特定することで、多様なソフトウェア開発アプローチを効果的に統合した。
  • 変化率や地理的分布といった8つの変動要因—これらはソフトウェア開発における手法の多様性の大部分を説明する。
  • カリキュラム設計のための安定した基盤を提供し、さまざまな手法においてもソフトウェア工学の原則を一貫して教育することが可能になる。
  • モデルは、開発実践の比較に共通の語彙と分析的構造を提供するため、実証的研究を支援する。
  • 組織がコア要素と文脈的要因に基づいて自らの実践を評価・適応できるため、プロセスの採用と改善を支援する。
  • アジャイル対伝統的という議論を効果的に緩和する。両者を同じ概念的枠組みの有効な表現として位置づけることができる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。