The Best Practices for Scientific Computing article, published in the PLOS Computational Biology journal in Jan 2014, explores best practices for scientific computing based on the authors' collective experience in this field.
|Best Practices for Scientific Computing
|Greg Wilson, D. A. Aruliah, C. Titus Brown, Neil P. Chue Hong, Matt Davis, Richard T. Guy, Steven H. D. Haddock, Kathryn D. Huff, Ian M. Mitchell, Mark D. Plumbley, Ben Waugh, Ethan P. White and Paul Wilson
|Year 2014, PLOS Computational Biology Journal, DOI: 10.1371/journal.pbio.1001745
The Best Practices for Scientific Computing paper was published in 2014 in PLOS Biology journal and it is a good place to start for implementing practices that will improve scientific software development. It is a practical article that presents eight key topics with 24 specific practices recommended for scientists and is useful for anyone on teams that develop or maintain scientific software. The article is brief, so those short on time can glean practices that will aid their development, while those who are new to the practices can work through the suggestions. It is estimated that scientists spend approximately 30% of their time developing software. Best Practices for Scientific Computing is aimed to help those scientists improve their efficiency and productivity and the accuracy of their applications.
The article starts out with a summary of the best practices, making it easy to explore the practices for someone when looking for information on a particular practice or when referring a new team member to one. The article suggests working through these practices one at a time.
If your team has done well in implementing some of these practices, those can be skipped while you emphasize those that need to be implemented or improved. Have someone from your team revisit these ideas to see how the team is doing, what can be improved, and what they need to dwell into for more advanced ideas.
The article suggests implementing the practices incrementally and gives a link to the software carpentry website for more advanced ideas.
Readers may also be interested in resources at Software Carpentry.