During the development and maintenance of software-intensive products or services, we depend on various assets. These assets are important to the feasibility of the project and influence product's final quality. However, despite their central role in the software development process, little thought is yet invested into what assets eventually are, 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 resulting 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 such as value and persistence. We discuss what asset degradation is, 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. With our work, 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.
翻译:在开发和维护软件密集型产品或服务期间,我们依赖各种资产。这些资产对于项目的可行性很重要,影响产品的最终质量。然而,尽管这些资产在软件开发过程中起着中心作用,但对于最终资产是什么,往往造成许多术语和基本概念的混合并不一致地使用。资产和相关概念的精确术语,如资产退化,对于建立新一代成本效益高的软件工程实践至关重要。在本立场文件中,我们批判地思考由此产生的软件工程资产概念。作为一个起点,我们界定了资产的术语和概念,并扩大了其背后的理由。我们探索资产的价值和持久性等特征。我们讨论了资产退化是什么、其各种类型以及资产退化可能随着时间的推移对软件密集型产品和服务的规划、实现和演变带来的影响。我们的工作希望有助于更标准化地界定软件工程资产,促进研究工作及其实际传播,形成共同、更统一的方向。