Ten things we would do differently today: Reflections on a decade of ALMA software development

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:

2014-07-03_09-50-39

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.

Advertisements
This entry was posted in ALMA, archives, astroinformatics, Astronomy, Computing, cyberinfrastructure, data archives, DBMS, High performance computing, informatics, information sharing, Operations, programming, Scientific computing, software engineering, software maintenance, software sustainability and tagged , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s