Software Development and Deployment - Related Papers

To get started with reading in this area, we recommend Human, Social and Organisational Influences on the Software Process and
‘Good’ Organisational Reasons for ‘Bad’ Software Testing: An Ethnographic Study of Testing in a Small Software Company.

Human, Social and Organisational Influences on the Software Process - Ian Sommerville and Tom Rodden

This paper discusses some human, social and organisational considerations which affect software processes and the introduction of software process technology. We discuss how to analyse software processes as human rather than technical processes, how process improvement through the introduction of process technology may be limited because of non-technical factors and how processes are influenced by national and organisational cultures. In each case, we suggest the implications of these human, social and organisational factors for software process researchers.

Sommerville, I. & Rodden, T. (1996). Human, Social and Organisational Influences on the Software Process. Trends in Software: Software Process, (ed. A Fugetta and A. Wolf) 4, 89-100.

Making Ethnography Accessible: Bringing Real-World Experience to HCI Designers and Software Engineers - Ian Sommerville

This short paper proposes that bringing real-world experience through field studies of work and other environments where systems are used is a means of bridging the gap between software engineering and HCI. We argue that all disciplines involved in systems development can benefit from field studies and observations of users at work and at home and we briefly discuss a range of techniques that we have developed to facilitate these field studies.

Sommerville, I. (2004). Making Ethnography Accessible. Proc. Workshop on Software Engineering/HCI, Edinburgh, May 2004, Institute of Electrical Engineers, 36-40.

Risks and Dependable Deployment - Jo Mackie, David Martin, Karen Clarke, Devina Ramduny-Elis, Simon Lock, Mark Hartswood, Gillian Hardstone

This paper reports on some of the work produced on the DIRC Targeted Activity ‘Dependable Deployment’. It particularly focuses on the issue of risks that arise during the development and deployment stages of systems design. Risks inevitably plague complex systems design projects and since few projects can be stopped and begun again professionals often try to avoid them or solve their emergent problems through sharing knowledge gained from personal experiences - ‘war stories’ - with other practitioners. We report on our development of a web site to list war stories - descriptions of risks and subsequent actions - arising from specific healthcare information systems development projects. This is intended as a resource to enable developers in this domain to learn from the problems and experiences of other projects.

Mackie, J., Martin, D., Clarke, K. et al. (2005). Risks and Dependable Deployment. In Proceedings of the 5th International DIRC Research Conference, Edinburgh, 15-17 March 2005, Mackie, J., Rouncefield, R., pp. 13-17.

Users as Contextual Features of Software Product Development and Testing - David Martin, John Rooksby, Mark Rouncefield

This paper examines how software developers discuss users and how such discussions are intrinsic to the negotiation and settling of technical decisions in the development and testing of a software product. Using ethnographic data, we show how the user features in conversations, not as a ‘topic’ but as ‘context’ to technical work. By understanding the user as a contextual feature in developers’ group work we are able to draw attention to issues in the use of Extreme Programming for software product development. Extreme Programming is a participatory design method, but software product development involves envisioning and designing for future customers.

Martin, D., Rooksby, J. and Rouncefield, M. (2007). Users as contextual features of software product development and testing. In Proceedings of the 2007 international ACM conference on Supporting group work (GROUP '07). ACM, New York, NY, USA, 301-310. DOI=10.1145/1316624.1316670

“Just try to do it at the whiteboard” Researcher-Participant Interaction and Issues of Generalisation - John Rooksby

This paper is about generalisation, it probes whether the work captured on video in three simulated design tasks is representative of software design in general, and it discusses how generalization features as a practical concern for the participants of the tasks. This paper draws upon Ethnomethodology and Conversation Analysis in order to look closely at interaction between participants and the researcher during the tasks. It finds no reason to believe the participants’ skills, reasoning and methods are unrepresentatively enacted in the videos. It also finds that it is a concern of the participants to apply and exhibit their general skills, reasoning and methods in the somewhat unusual circumstances of the task.

Rooksby, J. (2010). "Just try to do it at the whiteboard" Researcher-participant interaction and issues of generalisation. Paper presented at Studying Professional Software Design (SPSD), University of California, Irvine. Feb 8-10, 2010.

Reading as Part of Computer Programming. An Ethnomethodological Enquiry - John Rooksby, David Martin and Mark Rouncefield

This paper examines reading as done by programmers engaged in software development. Reading is an activity we feel should be of fundamental interest to studies of programming, but the practical achievement of which has not been closely examined. We give examples of programmers reading in pairs, and reading alone, and show reading in both cases to be explainable in terms of shared social practices. These practices are not determined by the code but nor are they purely socially constructed; rather they lie in the linkage be- tween the code and programmers’ ways of reading the code. We discuss (1) how features of day-to-day coding work create pertinent occasions for reading a certain piece of code, (2) how programmers order and expect there to be an or- der to code, and (3) how programmers have ways of analysing code in order to make sense of it. This is an ethnomethodological study that draws from ethnographic fieldwork at a professional software development company.

Rooksby, J., Martin, D. and Rouncefield, M. (2006). Reading as a Part of Computer Programming: An Ethnomethodological Enquiry.

Cooperative Work in Software Testing - John Rooksby, David Martin and Mark Rouncefield

Substantial effort in the development of any large system is invested in testing. Studies of testing tend to be either technical or concerned with the cognitive ability of testers. Our experience is that testing is not technical but socio-technical, involving a great deal of human and organisational effort, and that testing is not simply the kind of decontextualised ‘puzzle solving’ many cognitive approaches imply. We believe that cooperative work is foundational to getting testing done. In this position paper, we use data from four ethnographic studies to discuss just what that cooperative work is.

Martin, D., Rooksby, J., Rouncefield, M., and Sommerville, I. (2008). Cooperative Work in Software Testing. Proceedings of Cooperative and Human Aspects of Software Engineering (CHASE), 13 May 2008, Leipzig, Germany. 93-96.

‘Good’ Organisational Reasons for ‘Bad’ Software Testing: An Ethnographic Study of Testing in a Small Software Company - David Martin, John Rooksby, Mark Rouncefield, Ian Sommerville

In this paper we report on an ethnographic study of a small software house to discuss the practical work of software testing. Through use of two rich descriptions, we discuss that ‘rigour’ in systems integration testing necessarily has to be organisationally defined. Getting requirements ‘right’, defining ‘good’ test scenarios and ensuring ‘proper’ test coverage are activities that need to be pragmatically achieved taking account of organisational realities and constraints such as: the dynamics of customer relationships; using limited effort in an effective way; timing software releases; and creating a market. We discuss how these organisational realities shape (1) requirements testing; (2) test coverage; (3) test automation; and (4) test scenario design.

Martin, D., Rooksby, J., Rouncefield, M., and Sommerville, I. (2007). 'Good' Organisational Reasons for 'Bad' Software Testing: An Ethnographic Study of Testing in a Small Software Company. In Proceedings of the 29th international conference on Software Engineering (ICSE '07). IEEE Computer Society, Washington, DC, USA, 602-611.

Testing in the Wild: The Social and Organisational Dimensions of Real World Practice - John Rooksby, Mark Rouncefield, Ian Sommerville

Testing is a key part of any systems engineering project. There is an extensive literature on testing, but very little that focuses on how testing is carried out in real-world circumstances. This is partly because current practices are often seen as unsophisticated and ineffective. We believe that by investigating and characterising the real-world work of testing we can help question why such ‘bad practices’ occur and how improvements might be made. We also argue that the testing literature is too focused on technological issues when many of the problems, and indeed strengths, have as much do with work and organisation. In this paper we use empirical examples from four systems engineering projects to demonstrate how and in what ways testing is a cooperative activity. In particular we demonstrate the ways in which testing is situated within organisational work and satisfices organisational and marketplace demands.

Rooksby, J., Rouncefield, M., and Sommerville, I. (2009). Testing in the Wild: The Social and Organisational Dimensions of Real World Practice. Journal of Computer Supported Cooperative Work.