Ten Simple Rules for Making Research Software More Robust
  Software produced for research, published and otherwise, suffers from a number of common problems that make it difficult or impossible to run outside the original institution, or even off the primary developer's computer. We present ten simple rules to make such software robust enough to run anywhere, and inspire confidence in your reproducibility, and thereby delight your users and collaborators. 
Morgan Taschuk, Greg Wilson
cs.SE