Background: Sustainable software engineering (SSE) means creating software in a way that meets present needs without undermining our collective capacity to meet our future needs. It is typically conceptualized as several intersecting dimensions or ``pillars'' -- environmental, social, economic, technical and individual. However; these pillars are theoretically underdeveloped and require refinement. Objectives: The objective of this paper is to generate a better theory of SSE. Method: First, a scoping review was conducted to understand the state of research on SSE and identify existing models thereof. Next, a meta-synthesis of qualitative research on SSE was conducted to critique and improve the existing models identified. Results: 961 potentially relevant articles were extracted from five article databases. These articles were de-duplicated and then screened independently by two screeners, leaving 243 articles to examine. Of these, 109 were non-empirical, the most common empirical method was systematic review, and no randomized controlled experiments were found. Most papers focus on ecological sustainability (158) and the sustainability of software products (148) rather than processes. A meta-synthesis of 36 qualitative studies produced several key propositions, most notably, that sustainability is stratified (has different meanings at different levels of abstraction) and multisystemic (emerges from interactions among multiple social, technical, and sociotechnical systems). Conclusion: The academic literature on SSE is surprisingly non-empirical. More empirical evaluations of specific sustainability interventions are needed. The sustainability of software development products and processes should be conceptualized as multisystemic and stratified, and assessed accordingly.
翻译:背景:可持续软件工程(SSE)是指以既满足当前需求、又不损害我们满足未来需求的集体能力的方式创建软件。它通常被概念化为多个相互交叉的维度或“支柱”——环境、社会、经济、技术和个体。然而,这些支柱在理论上尚不成熟,需要进一步完善。目标:本文旨在生成一个更优的SSE理论。方法:首先,通过范围综述了解SSE的研究现状并识别现有模型。其次,对SSE定性研究进行元综合,以批判和改进所识别的现有模型。结果:从五个文献数据库中提取了961篇潜在相关文章。这些文章经去重后由两名筛选员独立审查,最终保留243篇文章进行详细分析。其中109篇为非实证研究,最常见的实证方法是系统综述,未发现随机对照实验。大多数论文关注生态可持续性(158篇)和软件产品的可持续性(148篇),而非软件过程的可持续性。对36项定性研究的元综合提出了若干关键命题,其中最重要的是:可持续性是分层的(在不同抽象层次具有不同含义)且是多系统性的(源于多个社会、技术和社会技术系统之间的相互作用)。结论:SSE的学术文献令人惊讶地缺乏实证性。未来需要对具体的可持续性干预措施进行更多实证评估。软件开发产品和过程的可持续性应被概念化为多系统性和分层性的,并据此进行相应评估。