SciOps: Accelerating Science Delivery by Following DevOps-Inspired Principles
Reproducibility is the cornerstone of the scientific method. Yet, in the computational and data-intensive branches of science, a gap exists between current practices and the ideal of having every new scientific discovery be easily reproducible. At the root of this problem are the dysfunctional forms of communication between the distinct stakeholders of science: researchers, their peers, students, librarians and other consumers of research outcomes working in ad-hoc ways. These groups of individuals are organized as independent silos, sharing minimal information between them, all of them with the common task of publishing, obtaining, re-executing and validating experimentation workflows associated with scientific claims contained in scholarly articles and technical reports.
In this talk, we characterize the practical challenges associated to the research lifecycle - creation, dissemination, validation, curation and re-use of scientific explorations - and draw analogies with similar problems experienced by software engineering communities in the early 2000s. DevOps, the state-of-the-art software delivery methodology currently followed by companies and open source communities, appeared in late 2000s to address these issues. In the past two years, we have been applying the DevOps methodology to implement scientific explorations in multiple domains, such as earth science, genomics and computer systems. As a result, we are able to frame the problem of research delivery, i.e. iterating the research lifecycle, as a problem of software delivery. This makes it possible to repurpose the DevOps methodology to address the practical challenges faced by experimenters across the domains of computational and data-intensive science. We use the term SciOps to refer to a new set of principles that emerge. In this talk, we will present a case study that illustrates how to apply these principles when carrying out scientific explorations. In addition, we will introduce and survey existing tools that help practitioners to follow SciOps principles.