, but also of the users between themselves, or with the system
Integrating qualitative data analysis and interactive system design
Integrating qualitative data analysis and interactive system design Towards explicitly sociologically- oriented software development methodologies?
A short history of software development methods• Late 1960s: Emergence of a professionalised software engineering field: software developer becomes a specialised job• 1960s to 1980s: The software crisis: the failure of numerous large software projects led to a realisation of the pitfalls inherent to software development: formalisation of the particular problems entailed in system development• 1980s to 2000s: Looking for new directions, growing importance of Human- Computer Interaction principles, apparition of the ‘Interaction Designer’; further professional specialisation.• 2000s: Increase in the use of user-centred and agile development methods; increasing role of usability principles in design. Focus towards the social possibilities offered by technology: Web 2.0 and ‘social media’, pervasive and ubiquitous computing. Emergence of multidisciplinary perspectives.
A few dates 1968 Garmisch-Partenkirchen NATO conference 2001 on Software Engineering: recognition of the “software crisis” Publication of the Agile Manifesto Focus on technology, processes and programs Focus on human-human and human-system interactions1950 2009 1984 Foundation of Interactions, the specialist HCI group of the British Computer Society 1962 First Computer Sciencedepartment formed at Purdue University 1970 Birth of the waterfall development model
Agile development methods (1)- Reaction against ‘heavy’ development methods, such as waterfall or ISO-inspired development models- Acknowledgment of the crucial importance of requirement elicitation in software design- Shift from a focus on technology to a focus on users
Agile development methods (2)Agile Manifesto (2001):“We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:- Individuals and interactions over processes and tools- Working software over comprehensive documentation- Customer collaboration over contract negotiation- Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.”
What does the apparition of agile development methods mean?• A shift from a focus on technology to a focus on human interactions, for instance on the relationships between users and developers?• An explicit recognition of the importance of values and ‘ethics’, an acknowledgement of the subjective experience of the agents involved in software development and use? The enforcement of a particular ‘software developer’ ethical code and set of values• A view of the requirement elicitation process as underlying the development process as a whole, and not simply as one of the stages of development?
Towards more sociologically-oriented softwaredevelopment methodologies: using social science to inform software design• Reflection about: – The use and application of tools borrowed from social science to requirement elicitation and interactive system evaluation, – The underlying theoretical and epistemological assumptions underlying social theories borrowed from the social science – The history and evolution of the software development field (apparition of various development methods, academic disciplines, the division of labour within the field…) – The impact of ‘personal values’ and mental constructs on the development process, and more precisely on requirement elicitation. The importance of reflexivity for software designers? – The application of various sociological frameworks and data analysis methods to the creation of novel software development methods
A few possible directions of investigation• Software design as discourse: investigating the use of discourse analysis methods in the tradition of the ethnography of communication: Use of Hymes’ (1962) concept of ‘speech community’ for describing the domain of a particular software design project?• Using the power of conversation analysis as a tool for formally informing software design? Use of an approach combining the strengths of a qualitative data analysis method such as conversation analysis and the theoretical framework provided by the ethnography of communication such as Moerman’s (1987)?• A genealogical approach to the formation of the various ‘subject positions’ made available by the ‘computer science’ field at large, in the fashion of Foucault (1961), Mauss or Weber? The powerful notion of role: its meaning in the context of system design and system use? The formation of particular identities in the framework of the software development process.
The new UMAP Item Bank: a great opportunity to put these principles into practice• A rather large system that will allow the storage of examination items for 31 medical schools across the UK. Functionalities such as item writing, quality assurance, metadata edition, exam delivery and reporting will be implemented.• Development starting in a week, and involving myself, a newly appointed person, a software development company called epiGenesys from Sheffield University, as well as TEWPL, a research group attached to Manchester Medical School. Numerous stakeholders including Manchester Medical School, UMAP and the Medical School Alliance.• User-centred agile development methodology: 2 weeks iterations, behaviour-driven development, use of user stories and use case cards, as well as personas, UML modelling…• Technologies: Merb, MySQL, JQuery.• All interactions, code, documents related to the project treated as ethnographic data. Most of the conversations to be recorded for analysis.• Analysis of the data based on the theoretical framework provided by the Ethnography of Speaking (Participant Observation). Relevant other approaches allowing a better understanding of the formation of identities and meaning in the framework of software development to be investigated. Conversation Analysis of relevant parts of conversations involving stakeholders.• Analysis to directly influence the design process through providing some input in terms of software architecture, data architecture and interface design.
Conclusion• HCI and agile development methods have highlighted the central importance of requirement elicitation, and the shift of focus towards ‘interactions’ could be seen as an expression of the ‘sense of history’ in an almost Hegelian way• Software development practices as advocated by new development methods reflect the need for a correct ‘objectivation’ of the desired system by all agents involved in its development, therefore highlighting the usefulness of theories and methods borrowed from the social science
References• Beck, K., Beedle, M., van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, J., Kern, J., Marick, B., Martin, R.C, Mellor, S., Schwaber, K., Sutherland, J. and Thomas, D. (2001) Manifesto for Agile Development.• Dijkstra, E.W. (1999) Keynote address to be given on 1 March 1999 at the ACM Symposium on Applied Computing at San Antonio, TX• Foucault M. (1961) Histoire de la folie a l’ age classique - Folie et deraison, Plon, Paris• Hymes, D. (1962) The Ethnography of Speaking, pp. 13-53 in Gladwin, T. & Sturtevant, W.C. (eds), Anthropology and Human Behavior, The Anthropology Society of Washington, Washington.• Moerman, M (1987) Talking Culture Ethnography and Conversation Analysis.• Myers, B.A. (1998). "A Brief History of Human Computer Interaction Technology." ACM interactions. Vol. 5, no. 2,. pp. 44-54.• Royce, Winston (1970), "Managing the Development of Large Software Systems", Proceedings of IEEE WESCON 26 (August): 1-9.• Sommerville, I. (2004) Software Engineering (7th edition), Addison Wesley