Oral Abstract

Birds of a Feather Discussion (B3) Jan Noordam (Madroon Community Consultants)

Escaping from the herd of white elephants

Astronomical software is necessarily of high quality, written by
talented developers for knowledgeable (critical)
users. Unfortunately, we often generate a herd of White Elephants.
These range from packages written and painfully
maintained by single ageing heroes, to group efforts
unable to uphold the crucial user engagement. This results in slowly-evolving
software, so telescopes
under-perform, and archives are un-mined.

This sorry state of affairs is caused by a failure to understand the
separation of stakeholder roles: Users, Developers
and Institutes. Users are not very good at specifying needs,
they should be educated and encouraged to judge results, and experiment.
Developers are hard to manage, but they can be happily disciplined by
a well-designed interface offering advantages. Institutes providing such
interfaces liberate Users and Developers, and
the Dead Hand of software management could be replaced by an Invisible Hand of benign
incentives (like paying successful contributors).

This role separation lies at the root of the phenomenal success of
Python or Matlab, or smartphone apps, for which many Developers write (and maintain) many applications.
They are disciplined by a powerful interface making their product available to a large community.
Users are highly engaged because they can easily combine
applications to achieve their goals, and vote with their
feet. A virtually invisible core team takes care of the interface (language).

Our software has extra complications, but the
new "pipeline industry" is finding solutions. The key issues
are the interface, and the separation of roles. There really is no
excuse for more White Elephants.

NB: It is instructive to note that very similar issues were discussed
in the guise of the "Gaming Table", at the popular FADS sessions on
the final afternoon of ADASS conferences during the 1990's. Now,
30 years later, we have working examples like Python
and smartphone apps, and of software technology (containers, remote
operations, etc) to implement it all.
Sign on url: