Panel presentation at Software Institutes for Sustained Innovation (SI2) BoF at SuperComputing11 in Seattle.
Experiences and challenges identified from 7 years of working to build more maintainable software in research environments.
2. The UK experience so far
www.software.ac.uk
• e-Science
OMII (2004-2006) – harvest and maintain, create
middleware, strong process
OMII-UK (2006 – 2010) – cultivate and
sustain, integrate, emphasis on existing software
ENGAGE (2008 – 2010) – pilot and champion, show benefit
• Computational Science
Collaborative Computational Projects (CCPs) – flagship
codes
STFC Software Engineering Support Team (1978 – present)
• Software Sustainability Institute (2010 – 2015)
and Sound Software (Audio Tools)
Software Sustainability Institute
3. The Software Sustainability
Institute www.software.ac.uk
A national facility for building better software
• Better software enables better research
• Software reaches boundaries in its
maturity cycle that prevent improvement,
growth and adoption
• Providing the expertise and services
needed to negotiate to the next stage
• Software reviews and refactoring, collaborations
to develop your project, guidance and best practice
on software development, project management,
community building, publicity and more…
Software Sustainability Institute
4. Software maturity
comes in stages www.software.ac.uk
• Governance model must support changes, not
stifle; from start-up to successful and sustained
An idea to solve a problem
Idea
Single developer/user
Understand the functionality
Idea Prototype
A few close developers/users
Scaling to work for others
Idea Prototype Research First “outside” users
Allow others
Idea Prototype Research Supported
to participate
Idea Prototype Research Supported Product
Software Sustainability Institute
5. Challenges to sustainability
www.software.ac.uk
• Software is not valued in the same way as research
What is software worth? How much “invisible” effort is invested?
How much credit do you get towards tenure?
There is no consistent way of rewarding reuse
• Researchers who develop software, work with developers, need a
specific set of skills
Training, e.g. Software Carpentry, builds a common language
Training early in career should be on exploiting, not conforming as we
can’t predict how people will use the software
• Current software funding cycles/roadmaps do not aid planning and
cooperation
Projects and groups must have a roadmap to build against and we must
retain competition and excellence without losing skills
The best research is trans-national: our infrastructure must support this
We can’t build up trust for the long term
Software Sustainability Institute
6. Looking to the future
www.software.ac.uk
• How do you evaluate software sustainability?
Technical and Governance
Self-certification versus Third-party examination
Templates and best practice; similar to Data Management Planning
• How do you encourage reuse of good software?
Specific funding for developing, maintaining and “championing” software
Citation and credit mechanisms that reward developer and user when software
is reused; requires better identification of software in use
Supported open platforms are the key in the age of the research mashup
Create a larger proportion of“software-enabled”researchers and provide the
ramps to go from desktop to high-end infrastructure
• How do we overcome the “not developed here” syndrome?
Where does the problem lie? Can we do this internationally?
Recognise the distinction between encouraging the “emergent” communities
and translating successes into the “mainstream” of research
Software Sustainability Institute
Editor's Notes
CCPs have Chair and Working group which set scientific agenda
Drawing on pool of specialists to drive the continued improvement and impact of research software developed by and for researchersProviding services for research software users and developersDeveloping research community interactions and capacityPromoting research software best practice and capabilityProvision of useful, effective services for research software communityDevelopment and sharing of research community intelligence and interactionsPromotion of research software best practiceMantra: Keep the software in its respective communityWork with the community, to increase abilityDon’t introduce dependency on SSI as the developerExpand and exploit networks and opportunities
No one sets out to make a bad piece of software
Based on CSP evaluation and Engage triage
Update slide for surveymapper?
Update slide for surveymapper?
How does software sustainability fit within context of software engineering, community engagement, project management, fundingWhat are the external factors like change in effort, timelines and deadlines, licensing, step changes in product development
Frequency Hopping Spread Spectrum (HedyLamarr) originally using a piano roll, Nikola Tesla for controlling boats
Tools –Signal Data Explorer (SDE)We developed SDE which is now being used:In CARMEN –neuroscience tools and data sharingIn BROADEN and in Rolls-RoyceWe exploited SDE through Cybula Ltd.Being used on trainsStarted to sell out of the box system
CAStep: keeping up with the community
Become our next collaborator – email info@software.ac.uk