When developing and maintaining software-intensive products or services, we often depend on various "assets", denoting the inherent value to selected artefacts when carrying out development and maintenance activities. When exploring various areas in Software Engineering, such as Technical Debt and our work with industry partners, we soon realised that many terms and concepts are frequently intermixed and used inconsistently. Despite the central role of assets to software engineering, management, and evolution, little thoughts are yet invested into what assets eventually are. A clear terminology of "assets" and related concepts, such as "value" or "value degradation", just to name two, are crucial for setting up effective software engineering practices. As a starting point for our own work, we had to define the terminology and concepts, and extend the reasoning around the concepts. In this position paper, we critically reflect upon the resulting notion of Assets in Software Engineering. We explore various types of assets, their main characteristics, such as providing inherent value. We discuss various types of value degradation and the possible implications of this on 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 Asset Management in Software Engineering and foster research endeavours and their practical dissemination in a common, more unified direction.
翻译:在开发和维护软件密集型产品或服务时,我们往往依赖各种“资产”,在开展开发和维护活动时要注意到某些手工艺品的内在价值。在探索软件工程的各个领域,如技术债务和我们与工业伙伴的工作等,我们很快认识到,许多术语和概念往往相互交织,使用时不一。尽管资产对软件工程、管理和演变具有中心作用,但对最终资产却没有多少思考。“资产”和有关概念,如“价值”或“价值退化”等的明确术语,仅举两个例子,对于建立有效的软件工程做法至关重要。作为我们自己工作的起点,我们必须界定术语和概念,并扩大概念的推理。在本立场文件中,我们严格思考由此产生的软件工程资产概念。我们探索各种资产类型,主要特征,例如提供内在价值。我们讨论了各种价值退化的类别,以及这种退化对软件密集型产品和服务的规划、实现和演变可能产生的影响。我们期望通过我们的工作,为更标准化的资产管理研究方向和在更统一的工程中促进共同的研究工作的推广。