1 / 33

Where indicated slides licensed under

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 | N.ChueHong@software.ac.uk. Slides: http ://dx.doi.org/10.6084/m9.figshare. 878120.

farrah
Download Presentation

Where indicated slides licensed under

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Putting the user back into software sustainability16 December 2013, Scientific Software Days, AustinNeil Chue Hong (@npch), Software Sustainability InstituteORCID: 0000-0002-8876-7606 | N.ChueHong@software.ac.uk Slides: http://dx.doi.org/10.6084/m9.figshare.878120 Project fundingfrom Supported by Where indicatedslides licensed under

  2. If I was a crossword compiler… Putting the user back into software sustainability But I’m not, so this talk is going to draw on my experiences with scientific software

  3. The problem with mushrooms…

  4. OMII: Sowing the first seeds 11 initial projects funded by Managed Programme Many projects flourished But some wilted and decayed

  5. 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

  6. 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 Better software Better research Supported by EPSRC Grant EP/H043160/1

  7. Can we learn? Picture by Heisenberg Media Picture by nengard Picture by PNNL

  8. Startup companies are all about reaching sustainability

  9. 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

  10. 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

  11. 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

  12. 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?

  13. 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’sClimascope 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

  14. 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

  15. 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, andthis 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/

  16. 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

  17. Open source software projects are all about reaching sustainability

  18. Open Source Software Projects • “Every good work of software starts byscratching 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

  19. Using infrastructure to become user aware Promotion: - website Communication: - mailing list, wiki Collaboration: - code repository Management: - issue tracker

  20. Scientific research is all about reaching other researchers

  21. Software is pervasive in research

  22. No common baseline BhargenBasepair Bioinformatics RA Novice coding in Javaand Perl to test groupspattern algorithms Fan Fullerene Chemistry PhD Running analyseson behalf of hissupervisor Helen Helmet Mech Eng intern Exploratory codingbased on tinkeringwith legacy code Mehrdad Mapping Forestry student Field data collectioncurrently correlatingusing Matlab Slide courtesy of Greg Wilson

  23. The modern researcher… • … worries about: • Data management and analysis • Reproducible research • Scalable simulations • Integration of models and workflows • Collaboration Where do they learn how to do this? Picture of Otto Stern courtesy of Emilio Segre Visual Archives

  24. 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

  25. 4 Golden Rules- Act Amiably- Breakdown Barriers- Cultivate Contributors- Diaspora + Dispersion

  26. A: Act Amiably • Bugzilla project did analysis of theircurrent and previous contributors • Once someone started contributing, whatkept 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/

  27. 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

  28. 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/

  29. D: Diaspora + Dispersion • Sometimes, serendipity plays a part • E.g. GEOS-CHEM • Users spread acrossworld means theyhave to scale • But they also havegreat support andcontributor mechanisms http://acmg.seas.harvard.edu/geos/

  30. Sustainability is also about choosing not to continue Not all software should make it to the next stage Consolidation is as importantas innovation in achievingsustainable scientific software Software proliferation Innovation Consolidation Customisation Time

  31. 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

  32. 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 Southampton Slides: http://dx.doi.org/10.6084/m9.figshare.878120

  33. A national facility for cultivating world-class research through software Some of our collaborations Become our next collaborators! Website: www.software.ac.uk Email: info@software.ac.uk Twitter: twitter.com/SoftwareSaved

More Related