  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.
