Sustainability in first iteration of software development gives basis for design.
Sustainability is considered as a major part of ethical design early in our software development process. We follow a methodology that is an integration of structured methodology under an umbrella of the agile manifesto. Students work with a real client, going around three development iterations. Within each iteration, student groups work with clients and their users to develop a working solution. Ethical design is used as the vehicle for introducing the scope of the problem, and establishes that scope includes a very much wider range of societal and environmental issues than the students may have been expecting. In the second and third iteration, students complete a complete ethical analysis (using a computerised tool SoDIS) as a primary driver for evaluation and interaction design.
Computers define and control many aspects of our lives. From banking systems to air traffic control, food production to medical care, we are continuously exposed to technological systems which potentially track our behaviour, invade our privacy and put our safety at risk. How then, to ensure that ethical concerns are taken into account? A litigious society ensures (most of the time) that human lives are not at risk from faulty products, but can we also be sure that software meets the needs of the disabled community, or that the ecological impact is minimised?
Williamson defines four levels of stakeholder. Note, we interpret stakeholder at each level to include “The Environment”.
1. Direct – People or groups who directly interact with the project (eg, end users, operators).
2. Indirect – People or groups who do not directly interact with the project, but exercise strong influence over direct users (eg, employers, supervisors).
3. Remote – People or groups who remain at a distance from the project, but could be affected/influenced by the project (eg, patients, clients).
4. Societal – Wider social influences. This might include government or regulatory agencies who have an interest in the organisation where the software is used.
This broader view ensures that we consider the ‘downstream’ effects of the system being developed. For an ethical analysis there is a need to check for issues at every stage of development, with every stakeholder and from every perspective.
We have taught software engineering for almost a decade, completely revising it every three years. The current structure, including this introductory sustainability/ethics has been in place for two years (see papers describing agile development methodology: NACCQ06 paper, ACE07 paper ).
Software Engineering is unlike anything the students have encountered before. Instead of having neatly defined assignments with expected outcomes, we aim to model real world experience, and as such, can go off in unexpected directions. This means we can get away with surprising the students with material they would not have expected. Nevertheless, we think it important that this material is introduced early so that it is seen as part of the underlying basis of the subject rather than a tangent.
The SoDIS tool is quite cumbersome. Students can get bogged down in the initial stages and then rush through what should be the meaty sections.
Sustainability (and wider ethics) is introduced as a basis for the design process. In this way it has not displaced any other curriculum material.
Considerations if others were to adopt this
While the formal SODIS analysis is aimed at developments in computing, it could easily be used (even with adaption) in other development areas. Williamson’s stakeholder/audience map could be incorporated in most areas.
It is important that this work is done in groups and with lots of talking. Don’t expect a quiet class.
Course/programme: IT205 Software Engineering in Bachelor of Information Technology
Assessment: Yes. The major project forms 50% of the course. Of that, this forms 1 of 15 milestones. The complete SODIS analysis is also considered separately, with a 15% mark contribution.
Contact time: 2 initially and then another 2 in second iteration. As it then forms part of an evolving development, it could be considered much higher.
Total student hours: 4 in class then say 16 on assignment.
Knowledge needed by lecturer: Mostly the job is one of prompting the students to move beyond simple answers when starting this analysis.
Assumed knowledge/skills of students: None.
EfS Curriculum Alignment
|Scale||Yes, both the stakeholders analysis and the SODIS analysis|
|Human Connections to the Physical and Natural World||Yes.|
|Ethics and Values||Yes, we also point to formal codes of ethics.|
|How Natural Systems Function||No|
|Technological and Economic Relationships to Sustainability||Yes, this exercises students to think beyond the notion of working just for a client.|
|Motivating Environmentally Sustainable Behaviour||Not explicitly.|
|“Whole campus” Strategies for Integrating Sustainability (ie institutional infrastructure)||No|
|An appreciation of importance of environmental, social, political and economic contexts for each discipline||Yes.|
|A broad and balanced foundation knowledge of sustainable development, its key principles and the main debate||No.|
|Problem solving skills in a non-reductionist manner for highly complex real-life problems||Yes, this is the nature of software engineering.|
|Ability to think creatively and holistically and to make critical judgements||Yes, the SODIS tool forces students to “think beyond the square”, but also forces them to rigorously consider every possible impact.|
|Ability to develop a high level of self-reflection (both personal and professional)||Yes|
|Ability to identify, understand, evaluate and adopt values conducive to sustainability||Yes, then forms basis for design.|
|Ability to bridge the gap between theory and practice; in sustainable development, only transformational action counts||Yes, in this course the students actually complete a development for a client.|
|Ability to participate creatively in inter-disciplinary teams||Not explicitly interdisciplinary (although client and users usually from outside computing|
|Ability to initiate and manage change||Yes|
|Research that supports economic and technological strategies||We are actively working with the |authors of SoDIS to improve its performance under wider interpretations of sustainability.|