2 research outputs found
Requirements: The Key to Sustainability
Software's critical role in society demands a paradigm shift in the software engineering mind-set. This shift's focus begins in requirements engineering. This article is part of a special issue on the Future of Software Engineering
The First Rule of Software Sustainability: Do not talk about Software Sustainability?
<p>Principally associated with the field of ecology in order to address humanities increasing ecological footprint on the planet Earth, sustainability as a concept has emerged as an area of interest in the field of computing. While a number of related communities have attempted to understand and address the challenges of sustainability from their different perspectives, there is a fundamental lack of understanding of: the concept of sustainability; how it relates to software artifacts and software systems; and the wider implications of the software development process and the impact of software products on the different dimensions of sustainability. This position paper argues that current efforts to address the sustainment i.e. longevity, of software and software systems are futile because of a lack of a common definition of sustainable software, which results in a misalignment with established software engineering theory and best practice that enables software products to endure. While there have been a number of previous attempts to define sustainability no consensus has been reached. As a result, the term remains illusive and ambiguous. This paper argues that the primary barrier to making progress in the field of sustainable software systems engineering is the lack of a concrete definition, which lays the foundation to understand how to design software that is [technically] sustainable. As a basis for discussion we propose a definition of sustainable software as a first-class, composite, non-functional requirement that includes as its basic building blocks the base sub-characteristics of maintainability and extensibility.</p