What values are guiding software engineering? And what methods and tools might we be able to use to study this? These are the questions that the Values-First SE (Software Engineering) project hopes to answer.
One month into the project, my colleague Steve Forshaw and I (Emily Winter) traveled from Lancaster to Vienna to meet with project partners and Human Computer Interaction experts at the Institute of Visual Computing and Human-Centered Technology at TUWien. We took with us some pilot tools (i.e. the values q-sort cards mapping the latest draft of ACM ethics to Schwartz’s values model – see photo above) that we had been developing, and over the course of the week received feedback as to how we might modify and improve them.
The week was an important reminder of the inherent messiness of this research area- the slipperiness of values, and the difficulties posed by trying to study them. Studying values in an area like software engineering involves multiple layers. We can expect software design and development to be influenced by the values of wider society including politics and economics; the principles and norms of the software industry; the corporate culture of the specific company; and the values and priorities of the individual developer.
The values of these different actors may sometimes align and may sometimes be in conflict. In addition, there are differences between people’s and organisation’s espoused values and actual practices. We might also expect that the values embedded into a software product may change radically once the software is released into the market, particularly if it enters into wide usage.
It’s a huge challenge. But there are methods and tools available to study values, and the trip to Vienna allowed us to try out some early ideas. The very nature of the research area offers exciting opportunities to combine different methods and tools, and there are established frameworks, such as Schwartz’s values model that can be used.
The necessity of trying to tackle this challenge also seems ever more pressing. In Vienna, we heard about TUWien’s new module on Ways of Thinking in Informatics- a module that hopes to encourage critical thinking in computing. However, in many cases, computer science courses rarely include content and opportunities to reflect on values, unless it is in the form of ethics, which are often presented in dry and uninspiring forms.
As software increasingly influence people’s lives and as scandals like the Cambridge Analytica and SCL case emerge (see Emma Briant’s work on the matter, for example), the need to spark discussion around values in computing seems ever more urgent. As the project progresses, we hope not only to develop methods and tools to study the values that are prevalent within software engineering, but also to play a role in encouraging this vital conversation.