This is the title of an outstanding presentation given by Brian Glendenning and his team at the recent SPIE meeting in Montreal, Canada (June 22 -28, 2014). The ALMA software has been an impressive effort over 12+ years, involving 100 staff (peak effort) at 12 sites on 4 continents. This effort has resulted in 60M+ lines of code, and a significant increase in the world’s coffee consumption. The high level architecture, with the archive at its center, is shown below for context:
Here are the ten lessons, with a few notes:
#1 It’s alive – keep the architecture process going.
- Always have a Chief Architect and analysis group on staff until the end of construction.
- Keep the distributed teams in contact.
#2 There’s only one ALMA array – wishing for improved simulation capabilities.
- Make the simulations a project deliverable.
#3 Keep it simple – things become more complicated anyway, but never simpler.
#4 Take all factors into account – why XML databases failed on us.
- …and they failed because XML documents were stored without schema validation, which caused a maintenance nightmare and made searching slow.
#5 Go mainstream – avoid niche solutions.
#6 Many small pains are easier to deal with than few big ones – deliver software more often.
#7 Testing ain’t easy – don’t believe that one small team can do it all.
- In particular, involve stakeholders in testing and and have a software release manager lead the delivery process.
#8 One for all doesn’t always work – hardware access must be easy.
#9 Commissioning comes before operations – transient and steady state are very different!
#10 Look who’s looking – GUIs are for the users.
“Ten things we would do differently today: Reflections on a decade of ALMA software developmen”t by B. Glendenning, E. Schmid, G. Kosugi, J. S. Kern. J. Ibsen, M. watanabe, M. Chavan, M. Griffith, R. Soto. Paper 9152-55, in “Software and Cyberinfrastructure for Astronomy III.” SPIE Astronomical Telescopes + Instrumentation 2014 in Montréal, Quebec, Canada. I wish to thank the authors for making the slides available to me.