where indicated slides licensed under

33
Software Sustainability Institute www.software.ac. uk Putting the user back into software sustainability 16 December 2013, Scientific Software Days, Austin Neil Chue Hong (@npch), Software Sustainability Institute Where indicated slides licensed under Supported by Project funding from es: http://dx.doi.org/10.6084/m9.figshare.878120

Upload: farrah

Post on 23-Mar-2016

36 views

Category:

Documents


3 download

DESCRIPTION

Putting the user back into software sustainability 16 December 2013, Scientific Software Days, Austin Neil Chue Hong (@ npch ), Software Sustainability Institute ORCID: 0000-0002-8876-7606 | [email protected]. Slides: http ://dx.doi.org/10.6084/m9.figshare. 878120. - PowerPoint PPT Presentation

TRANSCRIPT

Software Sustainability Institute

www.software.ac.uk

Putting the user back into software sustainability16 December 2013, Scientific Software Days, AustinNeil Chue Hong (@npch), Software Sustainability InstituteORCID: 0000-0002-8876-7606 | [email protected]

Where indicatedslides licensed under

Supported by Project funding from

Slides: http://dx.doi.org/10.6084/m9.figshare.878120

Software Sustainability Institute

www.software.ac.uk

Putting the user back into software sustainability

If I was a crossword compiler…

But I’m not, so this talk is going to draw on my experiences with scientific software

Software Sustainability Institute

www.software.ac.uk

The problem with mushrooms…

Software Sustainability Institute

www.software.ac.uk

OMII: Sowing the first seeds

11 initial projects funded by Managed Programme

Many projects flourished

But some wilted and decayed

Software Sustainability Institute

www.software.ac.uk

OMII-UK: Cultivating and Nurturing

• Emphasis on helping existing software grow Extra gardeners brought in

(Edinburgh and Manchester) with their own plant stock

Making the garden public through initiatives like Google Summer of Code and ENGAGE

Inviting specialists through the PALs scheme

Cultivate and sustain community software important to research

Software Sustainability Institute

www.software.ac.uk

The Software Sustainability Institute

A national facility for cultivating world-class research through software• Better software enables better research• Software reaches boundaries in its

development cycle that prevent improvement, growth and adoption

• Providing the expertise and services needed to negotiate to the next stage

• Developing the policy and tools tosupport the community developing andusing research software Supported by EPSRC

Grant EP/H043160/1

Better software

Better research

Software Sustainability Institute

www.software.ac.uk

Can we learn?

Picture by Heisenberg Media Picture by PNNLPicture by nengard

Software Sustainability Institute

www.software.ac.ukStartup

companies are all about reaching sustainability

Software Sustainability Institute

www.software.ac.uk

Four stages of startups

Are you solving a problem that others are interested in?

Have you implemented core features that users want?

Can you support new users by refining your processes?

Ready to drive growth.Back-end scalability refactoring

http://blog.startupcompass.co/pages/marmer-stages

Software Sustainability Institute

www.software.ac.uk

Stage 1: Discovery

• Are you solving a problem that others are interested in? Many pieces of software created by researchers

have small user bases – this is particularly true of scripts

Not a problem if you are writing the software for yourself only – but it affects how large the project to support the software can be

Software Sustainability Institute

www.software.ac.uk

Case Study: Ligand Binding

• Centre for Computational Chemistry, Bristol New methods for rapid MC sampling of biomolecular

systems modelled using QM/MM Developed two codes ProtoMS (F77) + Sire (C++) Water-Swap Reaction Coordinate method to calculate

absolute protein-ligand binding free energies• SSI’s work helped assess users + scale devs

Ran user observations with 4 different users ASPIRE/ACQUIRE framework has multiple devs

• Split architecture between ASPIRE (adaptive multiresolution hybrid MD simulation) and ACQUIRE (WorkPacket scheduling system with optimisation for time to result vs “green-ness”

• http://www.software.ac.uk/resources/case-studies/getting-grips-molecules• http://www.siremol.org/adaptive_dynamics

Software Sustainability Institute

www.software.ac.uk

Stage 2: Validation

• Have you implemented core features that users want? Do you know who’s using your software? Why are

they using it? If you asked them “how would you feel if you can

no longer use this software”, how many would be disappointed?

These are your core users: what do they want and how can you give it to them?

Software Sustainability Institute

www.software.ac.uk

Case Study: Climate Policy Modelling

• CIAS team at Tyndall Centre for Climate Change Research, University of East Anglia Develop linked climate and economic models for detailed

analysis Their software was not ready to be used by other groups

• One researcher/developer at UEA, several users

• SSI’s work means the software is robust enough that it can be installed and used by others Enabled use of the software by the WWFN’s Climascope

project and James Cook University• Documented software to allow extensions by contributors• Made it easier to maintain and backup• Added job scheduling to improve modeling throughput• New modelling framework enables new models i.e. new science

• http://www.tyndall.ac.uk/research/cias

Software Sustainability Institute

www.software.ac.uk

Stage 3: Efficiency

• Can you support new users by refining your processes? If you had conflicting requirements from users,

how would you deal with them? What infrastructure changes do you need to make

to support new/additional users? At this point, scientific software projects often start

designating specific community/product managers, user support staff

Software Sustainability Institute

www.software.ac.uk

Case Study: ICAT

• Science and Technology Facilities Council Metadata catalogue, used by RAL UK (ISIS,

DIAMOND, CLF), SNS US, ELLETRA Italy ICAT operationally critical at sites Huge projects looking to use ICAT

(PaNdataODI, EuDAT) Scalability issues and lack of proper processes

• SSI’s work provided 33 recommendations 15 interviews with different stakeholders 92 observations set out in report “…we must focus on doing the right things, and

this report will help us”• Alistair Mills, STFC

Governance and outreach changes to support additional users

• http://www.software.ac.uk/preparing-icat-thousands-new-users• http://www.icatproject.org/

Software Sustainability Institute

www.software.ac.uk

Stage 4: Scale

• Are you ready to drive growth of users, to reengineer and refactor on an ongoing basis? This is when software quality considerations

become very important, as you have increased reputational risk

This is also the point where traditionally a PI would step aside to become Chief Technology Officer / Chief Scientist and enlist new management

• After this, the next stage is sustain Though this might be at a small scale if appropriate

Software Sustainability Institute

www.software.ac.ukOpen source

software projects are all about reaching sustainability

Software Sustainability Institute

www.software.ac.uk

Open Source Software Projects

• “Every good work of software starts by scratching a developer's personal itch.” Eric Raymond, The Cathedral and the Bazaar

• Producers start by having a direct interest in the success of the software Just like in science

• OSS projects need to satisfy two aims: Acquire users (a.k.a. researchers) Acquire contributors (a.k.a. collaborating researchers)

• Producing Open Source Software: How to Run a Successful Free Software Project by Karl Fogel

Software Sustainability Institute

www.software.ac.uk

Using infrastructure to become user aware

Promotion: - websiteCommunication: - mailing list, wikiCollaboration: - code repositoryManagement: - issue tracker

Software Sustainability Institute

www.software.ac.ukScientific

research is all about reaching other researchers

Software Sustainability Institute

www.software.ac.uk

Software is pervasive in research

Software Sustainability Institute

www.software.ac.uk

No common baseline

Bhargen Basepair

Bioinformatics RANovice coding in Javaand Perl to test groupspattern algorithms

Helen Helmet

Mech Eng internExploratory codingbased on tinkeringwith legacy code

Fan Fullerene

Chemistry PhDRunning analyseson behalf of hissupervisor

Mehrdad Mapping

Forestry studentField data collectioncurrently correlatingusing Matlab

Slide courtesy of Greg Wilson

Software Sustainability Institute

www.software.ac.uk

The modern researcher…

• … worries about: Data management

and analysis Reproducible

research Scalable simulations Integration of

models and workflows

CollaborationPicture of Otto Stern courtesy of Emilio Segre Visual Archives

Where do they learn how to do this?

Software Sustainability Institute

www.software.ac.uk

Why do you need users?

• Funding Direct: fees, subscriptions, … Indirect funding: letters of support,

citations, collaborations Advertising: recommendations and

referrals• Direction (indirection?)

Requirements, bug reports, change requests

• Community Users supporting other users Users becoming contributors Sustainability and success

Software Sustainability Institute

www.software.ac.uk

4 Golden Rules

- Act Amiably- Breakdown Barriers- Cultivate Contributors- Diaspora + Dispersion

Software Sustainability Institute

www.software.ac.uk

A: Act Amiably

• Bugzilla project did analysis of theircurrent and previous contributors Once someone started contributing, what

kept them around?• Don’t freeze the trunk for long periods• Turnover is inevitable• Respond to contributions immediately• Be extremely kind and visibly appreciative• Encourage a total absence of negativity

Software sustainability relies on many people working happily together!

http://www.codesimplicity.com/post/open-source-community-simplified/

Software Sustainability Institute

www.software.ac.uk

34

B: Breakdown Barriers

• Basics: Website, mailing list, code repository, issue resolution• Remove barriers to participation, increase efficiency

• 1993: First public release; 2 devs• 1995: Code open sourced; 3 devs• 1996: r-testers list set up• 1997: lists split: r-announce, r-help,

r-devel; public CVS; 11 devs• 2000: CRAN split and mirror• 2001: BioConductor• 2003: Namespaces• 2005: I8n, L8n• 2007: R-Forge• Today: BioConductor (33 core devs),

R-Forge (532 projects, 1562 devs), CRAN (1400+ packages)

http://cran.r-project.org/doc/html/interface98-paper/paper_2.html

Software Sustainability Institute

www.software.ac.uk

35

C: Cultivate Contributors

Building intellectual access ramps to support incremental engagement – building capacity and capability

• Individual• Group• Consortium• W/ industry• Community• Active

Teams change as project matures

http://www.castep.org/

Software Sustainability Institute

www.software.ac.uk

D: Diaspora + Dispersion

• Sometimes, serendipity plays a part• E.g. GEOS-CHEM• Users spread across

world means theyhave to scale

• But they also havegreat support andcontributor mechanisms

http://acmg.seas.harvard.edu/geos/

Software Sustainability Institute

www.software.ac.uk

Sustainability is also about choosing not to continue

Softw

are

prol

ifera

tion

Time

CustomisationInnovation Consolidation

Not all software should make it to the next stageConsolidation is as importantas innovation in achievingsustainable scientific software

Software Sustainability Institute

www.software.ac.uk

Take home messageUnderstand and embrace your users and contributors if you want your scientific software to be sustainable and successful

Slides: http://dx.doi.org/10.6084/m9.figshare.878120

Software Sustainability Institute

www.software.ac.uk

Find out more about the SSI

• Community Engagement (Lead: Shoaib Sufi) Fellowship Programme Events and Workshops

• Consultancy (Lead: Steve Crouch) Open Call for Projects / Collaborations Software Evaluation

• Policy and Publicity (Lead: Simon Hettrick) Case Studies / Policy Campaigns Software and Research Blog

• Training (Lead: Aleksandra Pawlik) Software Carpentry (300+ students/year) Guides and Top Tips

• Journal of Open Research Software (Editor: Neil Chue Hong)

• Collaboration between universities of Edinburgh, Manchester, Oxford and SouthamptonSlides: http://dx.doi.org/10.6084/m9.figshare.878120

Software Sustainability Institute

www.software.ac.uk

A national facility for cultivating world-class research through software

Become our next collaborators!Website: www.software.ac.ukEmail: [email protected]: twitter.com/SoftwareSaved

Some of our collaborations