I’m heading off to Florence this week for the International Conference on Software Engineering (ICSE). The highlight of the week will be a panel session I’m chairing, on the Karlskrona Manifesto. The manifesto itself is something we’ve been working on since last summer – a group of us wrote the first draft at the Requirements Engineering conference in Karlskrona, Sweden, last summer (hence the name). This week we’re launching a website for the manifesto, and we’ve published a longer technical paper about it at ICSE.
The idea of the manifesto is to inspire deeper analysis of the roles and responsibilities of technology designers (and especially software designers), given that software systems now shape so much of modern life. We rarely stop to think about the unintended consequences of very large numbers of people using our technologies, nor do we ask whether, on balance, an idea that looks cool on paper will merely help push us even further into unsustainable behaviours. The position we take in the manifesto is that, as designers, our responsibility for the consequences of our designs are much broader than most of us acknowledge, and it’s time to do something about it.
For the manifesto, we ended up thinking about sustainability in terms of five dimensions:
- Environmental sustainability: the long term viability of natural systems, including ecosystems, resource consumption, climate, pollution food, water, and waste.
- Social sustainability: the quality of social relationships and the factors that tend to improve or erode trust in society, such as social equity, democracy, and justice.
- Individual sustainability: the health and well-being of people as individuals, including mental and physical well-being, education, self-respect, skills, and mobility.
- Economic sustainability: the long term viability of economic activities, such as businesses and nations, including issues such as investment, wealth creation and prosperity.
- Technical sustainability: the ability to sustain technical systems and their infrastructures, including software maintenance, innovation, obsolescence, and data integrity.
There are of course, plenty of other ways of defining sustainability (which we discuss in the paper), and some hard constraints in some dimensions – e.g. we cannot live beyond the resource limits of the planet, no matter how much progress we make towards sustainability in other other dimensions. But a key insight is that all five dimensions matter, and none of them can be treated in isolation. For example, we might think we’re doing fine in one dimension – economic, say, as we launch a software company with a sound business plan that can make a steady profit – but often we do so only by incurring a debt in other dimensions, perhaps harming the environment by contributing to the mountains of e-waste, or harming social sustainability by replacing skilled jobs with subsistence labour.
The manifesto characterizes a set of problems in how technologists normally think about sustainability (if they do), and ends with a set of principles for sustainability design:
- Sustainability is systemic. Sustainability is never an isolated property. Systems thinking has to be the starting point for the transdisciplinary common ground of sustainability.
- Sustainability has multiple dimensions. We have to include those dimensions into our analysis if we are to understand the nature of sustainability in any given situation.
- Sustainability transcends multiple disciplines. Working in sustainability means working with people from across many disciplines, addressing the challenges from multiple perspectives.
- Sustainability is a concern independent of the purpose of the system. Sustainability has to be considered even if the primary focus of the system under design is not sustainability.
- Sustainability applies to both a system and its wider contexts. There are at least two spheres to consider in system design: the sustainability of the system itself and how it affects sustainability of the wider system of which it will be part.
- Sustainability requires action on multiple levels. Some interventions have more leverage on a system than others. Whenever we take action towards sustainability, we should consider opportunity costs: action at other levels may offer more effective forms of intervention.
- System visibility is a necessary precondition and enabler for sustainability design. The status of the system and its context should be visible at different levels of abstraction and perspectives to enable participation and informed responsible choice.
- Sustainability requires long-term thinking. We should assess benefits and impacts on multiple timescales, and include longer-term indicators in assessment and decisions.
- It is possible to meet the needs of future generations without sacrificing the prosperity of the current generation. Innovation in sustainability can play out as decoupling present and future needs. By moving away from the language of conflict and the trade-off mindset, we can identify and enact choices that benefit both present and future.
You can read the full manifesto at sustainabilitydesign.org, and watch for the twitter tags #KarlskronaManifesto and #SustainabilityDesign. I’m looking forward to lots of constructive discussions this week.