Abstract
It could be argued that discourse surrounding software development methodologies has evolved in recent years from a focus on technology and pure computer science subjects to issues of values, meaning and communication. This shift in the way software development is perceived in the professional world could be further explored through a Foucauldian analysis of the discourses surrounding this particular “discursive practice” (Horton-Salway, 2001). This endeavour could form the basis of a reflection about the way the particular forms of discourses that are software development methodologies have been the object of a struggle between various institutions, competing so as to establish a particular version of ‘truth’ regarding this matter, by producing competing bodies of knowledge and enforcing certain practices. Our argument is that a better understanding of the way software development methodologies have evolved could improve our understanding of their relationship with disciplines such as sociology or psychology, thus providing a theoretical basis on which novel methodologies could be designed.
This particular proposal therefore introduces a way in which such an analysis could be performed. In the third part, issues of method, data collection and analysis are shortly discussed, whereas the last part features a critical review of this proposal, first from a conversation analyst’s point of view, then on the basis of a discursive psychological approach to the question of software development.
Theoretical background and research question
Although a relatively young human activity, software development has already a rich history made of failures, innovation and incredible successes. With the explosion of what is now called the ‘social web’, it could be argued that the idea of ‘software development’, and more precisely the process through which new information-technology-based interactive systems are created, evaluated and adopted has now a strong influence on the lives of a growing number of people.
The history of software design methodologies (where the term methodology is understood as a group of methods and techniques for the elaboration of software applications) could be roughly divided in three main phases. First, as the need for software to support an increasing number of human tasks grew, inspiration was taken from the industrial world and software design processes where based for instance on the ‘waterfall’ model (Royce, 1970), where various parts of the development where organised in a very sequential and planned manner.
In 1968, it was brought to consideration that a large amount of software projects where failing, resulting in what was deemed a ‘software crisis’ (Naur and Randell, 1968). The issues involved in software development became more and more problematised as new software development methodologies started to appear, as the software development field continued to evolve and professionally diversify. In the same time, multidisciplinary approaches such as human-computer interaction, mixing psychology and computer science, started to gain academic momentum. As the need to consider the interactions between users and the system and of properly eliciting their requirements started to take the central stage, new development methodologies such as agile and user-centric iterative development approaches where designed and applied with success to a growing number of software projects.
This strong emphasis on ‘users needs’ appeared relatively recently in the history of software development: The now widespread adoption of software development methodologies highlighting the importance of values as well as issues of meaning and communication between the various stakeholders of a software development project seem to suggest an evolution of development methodologies as a discursive practice, from a focus on technology and the ‘inner workings’ of a software system to a focus on users, interactions, and therefore the social aspect of this activity.
The purpose of this research would be therefore to try and identify the way the interplay of power relationships between the various institutions and ‘authorised speakers of truth’ involved in the software development field influenced and shaped the evolution of software development methodologies, to finally result in the types of methodologies we can observe today. To borrow Jean Carabine’s (2001) words, the aim of this study would therefore be to uncover, on a modest scale, “the procedures, practices, apparatuses and institutions involved in the production of discourses and knowledges, and their power effects”.
Thus, although a variety of discourse analysis traditions could be applied to the study of such an object, this particular proposal focuses on a Foucauldian discursive analysis investigating the evolution of the discourse surrounding software development, as well as the way power relationships are distributed amongst the various institutions involved in this field. Again, a particular model that could be followed by this research project, although on a smaller scale, would be for instance Carabine (2001).
It could be interesting to note that the particular type of discursive practice that is software development is interesting in many aspects, if one starts to explore for instance the notion of ‘computer language’ from a discursive analytic point of view, or examine the functionalities of an interactive system from a perspective relying on a strong theoretical basis such as Wittgenstein’s theory of language games (1953). Thus, it could be argued that considering software design as a particular type of discourse would not only permit a better comprehension of this particular human activity, but also inform the design of novel user-centric methodologies, which could then be applied in the framework of real-world software development projects.
Method
As the proposed research is a Foucauldian analysis of the way discourse surrounding software development methodologies has evolved and was shaped by competitive forces involved in a struggle to establish a certain ‘objective truth’ about this object, the primary form of data that would be gathered in such a framework would be professional articles available in the specialised press, as well as books and scholarly articles from the academic and various professional communities which have software development or software development methodologies as a subject. As stated in the previous parts of this proposal, the main goal of this short piece of research would therefore be to identify a shift in the way these forms of discourse have evolved so as to integrate notions of meaning, communication, human interactions, and values.
In this framework, particular attention will be given to articles preceding the 1968 conference where the ‘software crisis’ was identified, as well as articles spanning over the 42-years period that separates us from this conference. Particular attention will have to be given to the choice of the articles that will compose the data corpus, so as to ensure its representability and pertinence, by maybe for instance limiting the collection to a particular periodical or journal, so that the proposed research is both feasible in the short amount of time permitted for the collection and analysis of the data and grounded in reliable and significant data. From a more ethical point of view, issues should not be very numerous, as most of the information analysed is already part of the public domain. The publication of additional personal information about authors that may be gathered outside this framework (through direct contact for example) will need to be authorised in writing by these people.
Since the matter which interests us revolves around the identification of a rupture in the way software development methods have been ‘talked about’ by different institutions and individuals involved in modern information technologies, it seem to make sense to start by investigating scholarly and press articles available on the Internet. Furthermore, since the amount of time available for this particular project is limited to a year, it would seem appropriate to approach it as preliminary work in the perspective of a larger PhD project, encompassing the whole problematic of the relationship between software design and issues of meaning, identity, and communication.
Thus, in the context of a Foucauldian approach to the evolution of the discourse about software development, aspects of the data that would be considered as particularly relevant are for instance the perceived legitimacy and ‘position’ of various authors in the framework of the power relationships existing in this particular field. Indeed, such an exploration of the data should allow a better understanding of the relationship between the establishment of a particular core of knowledge as the ‘accepted truth’ about software development and software methodologies and the apparition of discourses contesting this core of knowledge, first in a minoritary way, and then with more and more legitimacy until new institutions are able to have an impact on the way software development methodologies are constituted through discourse.
Furthermore, it would be interesting to try and identify the apparition of notions and concepts challenging an established ‘truth’ about the object of study, and to analyse the way through which such notions where allowed to evolve and progress so as to gain the status of truth themselves, resulting in the adoption of new practices and ways of talking about software development. In the same order of idea, another artefact of the evolution of software development methodologies and of the establishment of new dominant discourses about this subject could be the professional diversification of the software development field, and the way new professional roles are constructed and talked about.
Critical evaluation
As hinted in the research proposal presented above, the topic of software development and more precisely the discourse surrounding software development methodologies could be investigated using a wide range of discourse analytic traditions and methods, each relying on sometimes rather different theoretical and epistemological bases. For instance, an approach such as Conversation Analysis (CA) would be focussing on the particular, face-to-face (and maybe through technologies such as audio or video conferencing) interactions between the people involved in software development. However, as argued by Wetherell (2001), CA would adopt a very different approach in regards to what constitutes the relevant context in the framework of a study of this particular object, and rely on what could be considered a rather different theoretical basis when compared to the approach detailed above.
Indeed, where a Foucauldian approach would consider relevant most of the historical and sociological context within which its object of study inscribes itself into, CA would in contrast consider any contextual data not directly linked to the particular interaction or sets of interactions being studied as beside the point. Thus, a CA approach would not be interested in the study of journalistic and academic articles or publications, but would focus in the actual, ‘real time’ interactions between individuals. Data collected in the framework of such an approach would therefore be recordings made during development meetings, or other situations where the various aspects of a software development project are discussed by members of different institutions, such as for instance a web agency and its corporate client.
Thus, a way through which CA methods and theories could be applied to this particular object of study would be the analysis of actual conversations between various stakeholders in the framework of a real-world software development project. Indeed, it could be argued that such an approach would allow a better understanding of the ways different people belonging to different institutions, each having a stake in a particular software development project package their utterances when talking with each other during, for instance, a meeting where the functional specifications of a particular type of software are discussed. According to these premises, the particular branch of CA that would seem particularly suitable for such an approach would be an analysis centred around institutional talk, as described by Heritage (2001) or Silverman (1997).
Other discourse analysis traditions that could be considered for gaining more insight into the topic presented in the first part of this proposal are discursive analytic approaches as described by Potter and Wetherell (2001), which consider how the subject positions made available within discourse shape and determine the identity of particular people involved in such an activity. More precisely, approaches that come to mind are for instance constructionist views of discourse as presented in Davies and Harré (1990), which emphasise the idea that selves are constituted in and by discourse, and which would therefore allow the conceptualisation of the ways through which people represent and experience themselves and their life, in the fashion of Gergen (1994)’s approach.
In this framework, one could start to understand particular discourses surrounding software development methodologies as influences on the way software developers experience and construct their professional identity. Such an approach would rely on different data than those proposed for the initial research project. Indeed, it would make more sense for this approach to use data gathered in the framework of unstructured interviews or focus groups, in contrast to existing documents written some time ago.
Such a perspective would allow interviewed software developers to ‘speak themselves’ from the position that discourse makes available to them, hopefully permitting a greater understanding of the way discourse and more generally their social environment shapes their understanding of their role and identity as professionals. Furthermore, this approach would seem as epistemologically closer to the one proposed in the first parts of this proposal when compared to a CA approach, as theoretical bridges could be built between Foucauldian and ‘subject of language’ approaches to discourse.
References
Carabine, J. (2001) Unmarried Motherhood 1830-1990: A Genealogical Analysis, Chapter seven in Wetherell, M., Taylor, S., Yates, S.J. (2001) Discourse as Data: A Guide For Analysis, Sage Publications.
Davies, B. and Harré, R. (1990) Positioning: the discursive production of selves, Reading nineteen in Wetherell, M., Taylor, S., Yates, S.J. (2001) Discourse Theory and Practice: A Reader, Sage Publications.
Gergen, K.J. (1994) Self-Narration in Social Life, Reading eighteen in Wetherell, M., Taylor, S., Yates, S.J. (2001) Discourse Theory and Practice: A Reader, Sage Publications.
Heritage, J. (2001) Goffman, Garfinkel and Conversation Analysis, Reading four in Wetherell, M., Taylor, S., Yates, S.J. (2001) Discourse Theory and Practice: A Reader, Sage Publications.
Horton-Salway, M. (2001) The Construction of M.E.: The Discursive Action Model, Chapter four in Wetherell, M., Taylor, S., Yates, S.J. (2001) Discourse as Data: A Guide For Analysis, Sage Publications.
Naur, P., and Randell, B. (1968) Software engineering: Report of a conference sponsored by the NATO Science Committee, Scientific Affairs Division, NATO.
Potter, J., and Wetherell, M. (2001) Unfolding Discourse Analysis, Reading fourteen in Wetherell, M., Taylor, S., Yates, S.J. (2001) Discourse Theory and Practice: A Reader, Sage Publications.
Royce, W. W. (1970) Managing the development of large software systems, Proceedings of IEEE WESCON.
Silverman, D. (1997) Discourses of Counselling: HIV Counselling as Social Interaction, Reading ten in Wetherell, M., Taylor, S., Yates, S.J. (2001) Discourse Theory and Practice: A Reader, Sage Publications.
Wetherell, M. (2001) Debates in Discourse Research, Reading twenty seven in Wetherell, M., Taylor, S., Yates, S.J. (2001) Discourse Theory and Practice: A Reader, Sage Publications.
Wittgenstein, L. (1953) Philosophical Investigations, trans, by G. E. M. Anscombe. Macmillan, New York.
Related posts:
- Research proposal: a Bourdieusian ethnographic study of agile development methodologies
- Software as Discourse
- Towards a Critical Discursive Analysis of Neuroscientific Accounts of Addiction
- Applying Conversation Analysis Concepts to Interaction Design?
- The evolution of the developer’s role: Let’s put all our eggs in the same basket