Daniel S. Katz1, Robert Haines2, Kenton McHenry1, Caleb Reinking3
1University Of Illinois At Urbana-Champaign, Urbana, USA, 2University of Manchester, Manchester, UK, 3University of Notre Dame, Notre Dame, USA
Modern research in the sciences, engineering, humanities, and other fields depends on software, and specifically, research software. Much of this research software is developed in universities, by faculty, postdocs, students, and staff. In this presentation, based on a previously published paper (doi: 10.1109/SE4Science.2019.00009; preprint: https://arxiv.org/abs/1903.00732), we focus on the role of university staff.
We examine three different, independently-developed models under which these staff are organized and perform their work, and comparatively analyze these models and their consequences on the staff and on the software, considering how the different models support software engineering practices and processes.
We find that the benefits of such organizations include institutional memory and an increased bus factor, a flexible workforce with flexible skills, projects that can include varying levels of effort such as portions of staff members, mentoring/coaching of staff, scalable growth to more rapidly take on new efforts, and increased reuse and sustainability of built software. Negative aspects include precarious staffing allocations when solely reliant on grants, difficulties describing the model to funding agencies and PIs due to its difference from the status quo, a risk of staff being captured after prolonged embedding in projects, and a lack of assimilation into a domain in short projects.
This information can be used by software engineering researchers to understand the practices of such organizations and by universities who want to set up similar organizations and to better produce and maintain research software.
Daniel S. Katz is Assistant Director for Scientific Software and Applications at the National Center for Supercomputing Applications (NCSA), Research Associate Professor in Computer Science (CS), Research Associate Professor in Electrical and Computer Engineering (ECE), and Research Associate Professor in the School of Information Sciences (iSchool) at the University of Illinois Urbana-Champaign. He is also Guest Faculty at Argonne National Laboratory, and Adjunct Faculty at the Center for Computation & Technology (CCT), Louisiana State University (LSU). His interest is in the development and use of advanced cyberinfrastructure to solve challenging problems at multiple scales. His technical research interests are in applications, algorithms, fault tolerance, and programming in parallel and distributed computing, including HPC, Grid, Cloud, etc. He is also interested in policy issues, including citation and credit mechanisms and practices associated with software and data, organization and community practices for collaboration, and career paths for computing researchers.