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
一句话总结

本文提出了一种统一的软件开发概念模型,通过识别九个核心要素(如意图、产品、人员、时间、质量等)和八个可变因素(如规模、关键性、变更速率等),将敏捷、传统及混合方法统一整合。该模型作为理论框架,可用于分析实践、指导课程设计、支持流程改进,并缓解敏捷与传统方法之间的对立争论。

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.

研究动机与目标

  • 开发一个全面的概念模型,统一所有软件开发方法,无论其方法论或规模如何。
  • 识别在每个软件项目中均存在的不变核心要素,从而实现在不同情境下的一致性分析。
  • 定义解释软件开发实践与流程广泛差异的可变因素。
  • 为课程设计、流程采纳与实证研究提供理论基础。
  • 通过提供共享的概念框架,缓解敏捷与传统软件开发之间的对立争论。

提出的方法

  • 该模型围绕九个在所有软件开发项目中均存在的核心要素构建:意图、产品、人员、工作、时间、质量、风险、成本与价值。
  • 它整合了八个影响核心要素应用方式的可变因素:规模、年龄、关键性、架构稳定性、商业模式、治理、变更速率与地理分布。
  • 该模型被设计为概念框架而非规定性流程,强调解释力而非程序指导。
  • 它可通过将现有实践、技术和流程映射到核心要素与可变因素,实现对它们的分析。
  • 该框架通过识别软件开发中的核心概念与关系,支持课程设计。
  • 其有效性通过在流程改进、研究与教育情境中的应用得到验证,展现出广泛的解释适用性。

实验结果

研究问题

  • RQ1如何通过单一概念模型涵盖敏捷与传统软件开发方法?
  • RQ2哪些核心要素在所有软件开发项目中普遍存在,无论其方法论或规模如何?
  • RQ3哪些因素解释了组织与项目之间软件开发实践的显著差异?
  • RQ4该模型如何用于分析、比较与改进软件开发流程?
  • RQ5该模型在何种方式下有助于缓解敏捷与非敏捷软件开发方法论之间的对立?

主要发现

  • 该模型通过识别每个项目中均存在的九个不变核心要素,成功统一了多样化的软件开发方法。
  • 八个可变因素(如变更速率与地理分布)解释了软件开发中方法论多样性的主要部分。
  • 该框架为课程设计提供了稳定基础,使不同方法论下的软件工程原则教学保持一致。
  • 该模型通过提供通用术语与分析结构,支持实证研究,便于比较开发实践。
  • 它通过允许组织基于核心要素与情境因素评估与调整其实践,支持流程采纳与改进。
  • 该模型通过将敏捷与传统方法均定位为同一基础概念框架的不同有效表达,有效缓解了敏捷与传统方法之间的对立。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。