exploring the relationship between social science and software development methodologies: a blog by Pascal Belouin

The central perspective that underlies most of the articles featured on this blog could be summarised by the notion of ‘software as discourse’. I would like to give an overview of what this concept means to me from a theoretical point of view, on which assumptions it relies, and what it entails from a methodological point of view. Please forgive my blatant oversimplifications, which I made for the sake of speed and clarity.

First, I would like to place this discussion in the context of the evolution of certain branches of the social sciences towards an acknowledgement of the central role of language in social life. This evolution can be traced back to Saussure’s work on the structure of language, and is illustrated by the apparition of disciplines such as discursive psychology or the structuralist and poststructuralist strands of sociology, to name a few. This entailed a certain distanciation from positivist/postpositivist thought, in stark contrast to the fact that positivist standpoints have become so dominant in the human and natural sciences.

It seems to me that this dominance of positivist thought is also present in computer science and even in human-computer interaction, where cognitivist interpretations of human-machine interaction seem to be in favour with both academics and practitioners. I would assume that one of the reasons for that is the mathematical filiation of computer science, which appears to have given a strong empiricist flavour to the field right from its birth.

On the other end of the spectrum, interface design and evaluation principles seem largely based on theories borrowed from the cognitive sciences, whereas requirement elicitation and analysis seem to be the areas where ‘softer’ approaches to human-computer interaction were adopted, through for instance the use of ethnography or grounded theory. I would however argue that most of the time, such data analysis methods are used without a full acknowledgment the epistemological assumptions on which they rely.

Another area in which I think saw an (unconscious) adoption of a postmodern perspective towards interactive system design is software development methodology, with the apparition, by reaction to process-heavy, rigid software development models, of agile development methods. I have written a few articles on this subject, and would encourage you to have a look if you’re interested!

I therefore think that what the apparition of agile development methodologies illustrate how interactive systems are now seen more and more as a particular type of discourse, discourse which is both created not only in the framework of the design and implementation phase of such systems, but also and more importantly through their actual use. Thus, instead of being seen as delimited products, interactive systems are now more understood as constantly evolving processes, shaped by the cross-fertilisation of different types of discourses representing different interests or stakes in these systems. Again, this resembles very closely to the definition of language adopted by postmodern thought.

If we adopt the perspective according to which interactive systems should be seen as ‘interactive discourse’, we can then argue that both the theoretical standpoint and the methodological toolkit provided by discursive approaches to social phenomena could be extremely useful for the elaboration of novel interactive system development (and evaluation) methodologies, by providing them with a solid (although challengeable by opposed theoretical standpoints), epistemological grounding.

Postmodern and phenomenological strands of sociology are rich and multiple, and this suggests that the ways through which such methods could be elaborated are also numerous. I have tried to explore a few in previous articles, and will try to keep at it as regularly as I can!

Related posts:

  1. Research proposal : A Foucauldian analysis of the evolution of the discourse about software development methodologies
  2. Applying social scientific concepts to domain definition: a short overview
  3. Social science for software developers – Using tools from social science to inform software design: should software developers also be social scientists?
  4. Applying Conversation Analysis Concepts to Interaction Design?
  5. A short and biased history of software development methodologies

Leave a Reply