I became interested in the problems of large-scale software engineering in the 1980s and was involved in some of the early research efforts then to build what was then called an IPSE (Integrated Project Support Environment). These promised large productivity gains but, in reality, never delivered on these promises, although our work was quite successful and was developed into the support environment for what was then called the Eurofighter (now Typhoon) software. This experience made me think about whether technology was really the answer to the problems of software engineering.
A serendipitious meeting with colleagues in sociology at Lancaster University who had started studying the use of computers in work introduced me to the notion of socio-technical systems and how computer system development and use is profoundly affected by human, social and organisational factors. I became convinced that these issues were often more significant than technical issues in software 'success' and I have worked in this area since then.
A socio-technical system is a system that is intended to support some organisational activity. It includes managers, operators, hardware, software, etc. Typically, there are many stakeholders with different goals so there is no single notion of 'the problem' that the system is intended to solve. An example of such a system is a medical records system.
My particular interests in the area of socio-technical systems are how we can bring socio-technical understanding into the systems engineering process and so develop systems that deliver stakeholder value more quickly and effectively. To this end, I've worked on a range of projects over the years (Coherence, REAIMS, DIRC, POINTER, INDEED and others). Currently, my work in this area is supported by the LSCITS project.
The LSCITS project is a large-scale research and teaching initiative funded by the EPSRC. It involves Bristol, Oxford, Leeds, York and St Andrews Universities. Our role in LSCITS is to investigate socio-technical systems engineering - how socio-technical analysis can be used by industry in the development and evolution of systems. We have developed an STSE framework and are looking at how social media may be used to support communications in complex enterprises. We are also interested in issues of failure and resilience - how do we design software so that people can identify, cope with and recover from system failures. My keynote talk on designing for failures discusses some of the issues involved here.
January 2014: I am not maintaining or updating this page but it will remain available indefinitely.
We have published many papers on socio technical topics over the years and most of them are available as part of our handbook of socio-technical systems engineering. This summarises my work and work of colleagues in a number of areas of socio-technical systems and is an archival web publication.
This paper takes a historical look at socio-technical design, identifies issues and problems and proposes a framework for using socio-technical methods in organisations. Baxter, G., & Sommerville, I. (2010). Socio-technical systems: From design methods to systems engineering. Interacting with Computers, 23(1), 4-17.
The work I did with Dave Martin (now with Xerox) on patterns of cooperative interaction was (I think) some of the best stuff done in this area. This is a summary paper that discusses the notion and how it can be used.Martin D. and Sommerville, I. (2004). Patterns of cooperative interaction: Linking ethnomethodology and design. ACM Trans. on Computer-Human Interaction (TOCHI), 11 (1), 58-89.7
The first work that we did in this area on air traffic control. I think it is still pretty good.Bentley, R., Hughes, J. A., Randall, D., Rodden, T., Sawyer, P., Shapiro, D., & Sommerville, I. (1992). Ethnographically-informed systems design for air traffic control. Proc. Conf on Computer Supported Cooperative Work (CSCW), 1992.