This document discusses using qualitative data analysis and social science methods to inform software development methodologies. It provides a brief history of software development methods, highlighting the shift from technology-focused to user-centered approaches. It proposes using tools from fields like sociology and conversation analysis to better understand human interactions in development. Specifically, it suggests applying discourse analysis, conversation analysis, and analyzing identity formation to a medical exam item banking project to directly influence its design.
Dev Dives: Streamline document processing with UiPath Studio Web
Integrating qualitative data analysis and interactive system design
1. Integrating qualitative data
analysis and interactive
system design
Towards explicitly sociologically-
oriented software development
methodologies?
2. 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.
3. 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 interactions
1950 2009
1984
Foundation of Interactions, the specialist
HCI group of the British Computer Society
1962
First Computer Science
department formed at Purdue University
1970
Birth of the waterfall development model
4.
5.
6. 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
7. Agile development methods (2)
Agile Manifesto (2001):
“We are uncovering better ways of developing
software 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.”
8. 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?
9. Towards more sociologically-oriented software
development 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
10. 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.
11. 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.
12. 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
13. 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
Notas do Editor
, but also of the users between themselves, or with the system