Fostering Sound Scientific Practices within NCAR's Software Engineering Community
We believe that in our times, when software is increasingly important for scientific discovery (so much so that computation has become a ‘third branch' of science, alongside theory and experiment), the use of rigorous software engineering practices is becoming essential for both productivity (quantity) and the quality of scientific discoveries. Unfortunately, the use of rigorous software engineering practices in the scientific community is still lagging years behind the common practices in the software industry. Moreover, reproducibility of results in computational science is an important issue to address.
In this talk, we will outline how the application of appropriate software engineering practices tailored to a project's needs can support the veracity and reproducibility of computational science. We will address pitfalls caused by not using such practices. We will also describe what the SEA does at UCAR to help resolve these and other issues and what other organizations can do to create their own communities of best practice.