During the development and maintenance of software-intensive products or services, we depend on various artefacts. Some of those artefacts, we deem central to the feasibility of a project and the product's final quality. Typically, these central artefacts are referred to as assets. However, despite their central role in the software development process, little thought is yet invested into what eventually characterises as an asset, often resulting in many terms and underlying concepts being mixed and used inconsistently. A precise terminology of assets and related concepts, such as asset degradation, are crucial for setting up a new generation of cost-effective software engineering practices. In this position paper, we critically reflect upon the notion of assets in software engineering. As a starting point, we define the terminology and concepts of assets and extend the reasoning behind them. We explore assets' characteristics and discuss what asset degradation is as well as its various types and the implications that asset degradation might bring for the planning, realisation, and evolution of software-intensive products and services over time. We aspire to contribute to a more standardised definition of assets in software engineering and foster research endeavours and their practical dissemination in a common, more unified direction.
翻译:在开发和维护软件密集型产品或服务期间,我们依赖各种手工艺品。其中一些手工艺品,我们认为对项目的可行性和产品最终质量至关重要。一般而言,这些中央手工艺品被称为资产。然而,尽管他们在软件开发过程中发挥着中心作用,但对于最终资产特征的考虑却很少,这种资产的特点往往导致许多术语和基本概念的混合,而且使用不一。资产和相关概念的精确术语,如资产退化,对于建立新一代成本效益高的软件工程实践至关重要。在本立场文件中,我们批判地思考软件工程资产的概念。作为一个起点,我们界定资产的术语和概念,并扩展其背后的推理。我们探讨资产特征,讨论资产退化及其各种类型,以及资产退化可能随着时间的推移对软件密集型产品和服务的规划、实现和演变带来的影响。我们渴望促进软件工程资产更标准化的定义,促进研究工作及其在共同、更统一的方向上的实际传播。