Scientific software encompasses many different types of software which are developed and utilized for scientific applications. We draw attention to the following components of scientific software: collaboration across disciplines; computational requirements; and scientific goals.
The landscape of science and software is changing such that there is now a growing need (and more opportunities) to explore the collaborative development and use of scientific software. Technological advances and complex computation have created a significant need for this research. The demand for scientific software is greater than ever, and what ‘used to work’ doesn’t necessarily work anymore. The shift towards open science, data, and code, and associated values, has also contributed to the need to improve scientific software. Along with the increasing reliance on collaborative rather than independent work, teams are increasingly multidisciplinary, even if in just one scientific domain, and they focus on addressing large, complicated, and multi-dimensional problems. In sum, greater openness, greater complexity, and greater interdisciplinarity have enabled the emergence and growth of this area.
Characteristics of scientific software projects and teams include, but are not limited to, differences in:
Team member education and training
Integration of academic work
Scientific focus of project goals
Requirements for scientific software
Funding landscape