Today, I have been attending the Maintainable Software Practices in e-Science (SoftwarePractice 2012) workshop at the IEEE e-Science 2012 conference in Chicago. The workshop focused on “the issues relating to the development and maintenance of software that can endure past the limited periods of defined project durations and project funding.”
I gave a presentation on “Adoption of Software by a User Community: The Montage Image Mosaic Engine Example.” (19 MB). I talked about how particular attention to three best practices has led to the development of a substantial user committee. These three best practices are:
- Build software that meets specific scientific goals; don’t be a solution that looks for a problem.
- Make sure the software is easy to build.
- Design for sustainability, extensibility, re-use and portability from the outset. Use modular designs. Avoid “flavor of the month” new technologies.
I describe how the Montage package has been downloaded over 11,000 times, and has been used to generate science products by projects such as the Galactic Legacy Infrared Mid-plane Survey Extraordinary, the Isaac Newton Telescope Photometric Survey of the Northern Galactic Plane and the Arecibo Legacy Fast ALFA Survey.
You may also download the position paper accompanying the presentation.