Socio-technical resilience in software development (STRIDE)

Lead Research Organisation: University of Manchester
Department Name: Computer Science

Abstract

This project (STRIDE) addresses the issue of how to make software development more resilient to constant changes of technology, staff, methods, requirements, expectations, regulations and more. The specific problem for this project is to characterise how automation can best be used to improve socio-technical resilience. The solution, based on interdisciplinary research, will be to provide: instruments for organisations to assess their resilience; and case studies, best practices, guidance and a concrete example (from automated fault localisation) to understand how humans and tools can best work together. In addition, we will advocate for a positive image for software engineering.

So, STRIDE will investigate resilience and automation in the socio-technical system that supports software development, a system that includes people (engineers, users, managers), technical infrastructure (tools, development environments), processes (lean, requirements elicitation) and artefacts (code, wiki, coding standards). Breakdowns in socio-technical systems can cause significant disruption and Resilience Engineering aims to avoid them by emphasising what works, so that resilience can be preserved. From this perspective, resilience is defined as the productive tension between stability and change, always with the aim of producing systems that are "safe". This view of socio-technical systems is pertinent to modern software engineering where change has become endemic: with changing requirements, advanced technologies, complex infrastructure and new security threats. In addition to the constantly changing environment, software production is increasingly being automated, which requires repeated re-balance of this tension. But what is the relationship between resilience and automation?

While improvements to software development brought by automation are vital to keeping software safe and secure, automation is not a silver bullet. It is said that "Making a system safer involves coupling the capabilities of humans with the technology they work with so that they can stay in control". What does that mean for software development? Is there something fundamentally human that needs to be retained as part of the software development process? And if so, how can a productive and resilient balance between human control and automation be maintained in the context of constantly increasing automation? How can automation be used to increase socio-technical resilience and what will be the impact on resilience of different levels of automation?

STRIDE aims to address these and related questions. The project will determine and operationalise factors that indicate socio-technical resilience (STR) of software development, drawing on social psychology and resilience engineering, and grounding the research in the concrete development task of automated fault localisation. We will engage with representatives of two developer communities: commercial software engineers and professional end user developers who represent two different development environments. This work will have particular implications for improving STR and the pace and nature of automation in the software development lifecycle.

Publications

10 25 50
 
Title STRIDE - Caroline Jay 
Description Lightning talk slide describing the results of a study examining how research software engineers working conditions have been affected by the COVID-19 pandemic. 
Type Of Art  
Year Produced 2021 
URL https://ssi-cw.figshare.com/articles/presentation/STRIDE_-_Caroline_Jay/14331242
 
Title STRIDE Research Software Engineering COVID-19 interview study dataset and materials. 
Description This dataset contains results from an interview study deployed between April and June 2020 to understand the changing situation in research software engineering work environments as a result of the COVID-19 pandemic. The study took place over an eight-week period, during which 17 self-identified research software engineers (RSEs) recorded their thoughts about the impact of the pandemic on their work and lifestyles. Each weekly entry included a series of questions based on the agile software engineering retrospective, a technique used within agile teams to look back on previous work. The first week followed a basic retrospective format, asking participants to assess what went well and didn't go well, and to identify areas that could be improved going forward. To encourage ongoing participation, questions in subsequent weeks were adapted from creative retrospective plans designed by agile practitioners. An invitation to take part was issued via various international RSE social media channels in two batches, resulting in 11 participants starting in the week commencing on the 6th of April, and six starting in the week of the 20th of April. In total, 17 participants responded to the invitation; 15 agreed to participate after the first week. Participants were sent an email each week inviting them to complete a diary entry for a total of eight weeks; data were collected through a survey deployed via JISC's Online Surveys.The consent form and a pdf of the first week of questions are included in the materials to provide an example of how the survey was administered. The entry week and questions are reported in full in columns A and B in the spreadsheet accordingly. To avoid identification of individuals, demographic information and some contextual information has been redacted. Redactions are indicated by *** in the response.The study was conducted as part of the STRIDE project: https://stride.org.uk. 
Type Of Material Database/Collection of data 
Year Produced 2021 
Provided To Others? Yes  
URL https://figshare.manchester.ac.uk/articles/dataset/STRIDE_Research_Software_Engineering_COVID-19_int...
 
Title STRIDE Research Software Engineering COVID-19 interview study dataset and materials. 
Description This dataset contains results from an interview study deployed between April and June 2020 to understand the changing situation in research software engineering work environments as a result of the COVID-19 pandemic. The study took place over an eight-week period, during which 17 self-identified research software engineers (RSEs) recorded their thoughts about the impact of the pandemic on their work and lifestyles. Each weekly entry included a series of questions based on the agile software engineering retrospective, a technique used within agile teams to look back on previous work. The first week followed a basic retrospective format, asking participants to assess what went well and didn't go well, and to identify areas that could be improved going forward. To encourage ongoing participation, questions in subsequent weeks were adapted from creative retrospective plans designed by agile practitioners. An invitation to take part was issued via various international RSE social media channels in two batches, resulting in 11 participants starting in the week commencing on the 6th of April, and six starting in the week of the 20th of April. In total, 17 participants responded to the invitation; 15 agreed to participate after the first week. Participants were sent an email each week inviting them to complete a diary entry for a total of eight weeks; data were collected through a survey deployed via JISC's Online Surveys.The consent form and a pdf of the first week of questions are included in the materials to provide an example of how the survey was administered. The entry week and questions are reported in full in columns A and B in the spreadsheet accordingly. To avoid identification of individuals, demographic information and some contextual information has been redacted. Redactions are indicated by *** in the response.The study was conducted as part of the STRIDE project: https://stride.org.uk. 
Type Of Material Database/Collection of data 
Year Produced 2021 
Provided To Others? Yes  
URL https://figshare.manchester.ac.uk/articles/dataset/STRIDE_Research_Software_Engineering_COVID-19_int...