Sustainability is defined as the "capacity to endure"34 and "preserve the function of a system over an extended period of time."13 Discussing sustainability consequently requires a concrete system (such as a specific software system) or a specific software-intensive system. Analysis of the sustainability of a specific software system requires software developers weigh four major dimensions of sustainability—economic, social, environmental, and technical—affecting their related trade-offs.32
The first three stem from the Brundtland report,4 whereas technical is added for software-intensive systems27 at a level of abstraction closer to implementation. The economic dimension is concerned with preserving capital and value. The social dimension is concerned with maintaining communities. The environmental dimension seeks to improve human welfare by protecting natural resources. And the technical dimension is concerned with supporting long-term use and evolution of software-intensive systems. Sustainability is achievable only when accounting for all dimensions. Including the environmental dimension makes it possible to aim at dematerializing production and consumption processes to save natural resources.12 Connections among the four dimensions involve different dependencies and stakeholders.28,31 Potential conflicts among stakeholder interests means software developers must understand the relationships among goals of the four dimensions.
No entries found