SlideShare a Scribd company logo
1 of 7
Download to read offline
Finding the right wheel when
you don't want to reinvent it
Michael Hucka Matthew Graham

California Institute of Technology
Common problem: finding software
• Ask Google? 1000’s of results
• Ask colleagues? They may not know
• Read the literature? It always lags
This impacts software reuse & sustainability
• Can’t find it more likely to reinvent it waste $$ and time
Survey about how people look for software
Invitations via lists for systems biology & astronomy
Total respondents: 69
• Fields: physical sciences, computing, math, bio
• 56 software developers, 13 non-devs
- Dev experience = 1 yr – 45 yrs (mean 20 yrs)
Find report at arXiv:1605.02265
“In general, how important are the following
characteristics when you are searching for
ready-to-run software for a task?”
Responses: what’s important?
0 10 20 30 40 50 60 70
Size of software
Similarity to other software you used
Software architecture
Quality of support for the software
Security provisions
Other people’s opinions
Programming language(s) used in implementation
Reputation of the developers
How easy the software is to extend
License terms for source code
Speed/performance of the software
How easy the software is to install
Availability of source code
Hardware compatibility and requirements
Quality of documentation
How easy the software is to learn
License terms for usage
Apparent quality of the software
Operating system requirements
Price
Support for specific data standards and file formats
Availability of specific features
Essential
Usually of above-average importance
Average importance
Somewhat or occasionally important
Rarely or never important
Total # responses: 69
Responses: what’s important?
0 10 20 30 40 50 60 70
Size of software
Similarity to other software you used
Software architecture
Quality of support for the software
Security provisions
Other people’s opinions
Programming language(s) used in implementation
Reputation of the developers
How easy the software is to extend
License terms for source code
Speed/performance of the software
How easy the software is to install
Availability of source code
Hardware compatibility and requirements
Quality of documentation
How easy the software is to learn
License terms for usage
Apparent quality of the software
Operating system requirements
Price
Support for specific data standards and file formats
Availability of specific features
Essential
Usually of above-average importance
Average importance
Somewhat or occasionally important
Rarely or never important
Total # responses: 69
Usethistoimprovechancesyoursoftwaregetsreused
Make it easy for people to discover info about what they want to know
Address basic concerns about the software
Characteristic Makeprominentindocs Follow good practices
Features offered ✔
Data & file standards supported ✔
Price ✔
Operating system requirements ✔
License ✔
Hardware requirements ✔
Availability of source code ✔
How easy is it to learn? ✔ ✮
Quality of software ✮
Quality of documentation ✮

More Related Content

Similar to Finding the right wheel

IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable Software
Ann Marie Neufelder
 
01 fse software&sw-engineering
01 fse software&sw-engineering01 fse software&sw-engineering
01 fse software&sw-engineering
Mohesh Chandran
 

Similar to Finding the right wheel (20)

Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
 
IEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable SoftwareIEEE 1633 Recommended Practices for Reliable Software
IEEE 1633 Recommended Practices for Reliable Software
 
Introducing Software Engineering
Introducing Software EngineeringIntroducing Software Engineering
Introducing Software Engineering
 
01 fse software&sw-engineering
01 fse software&sw-engineering01 fse software&sw-engineering
01 fse software&sw-engineering
 
Adopting Open Source Software for Longer-term Reuse
Adopting Open Source Software for Longer-term ReuseAdopting Open Source Software for Longer-term Reuse
Adopting Open Source Software for Longer-term Reuse
 
Sustainability Training Workshop - Managing Sustainability into Software
Sustainability Training Workshop - Managing Sustainability into SoftwareSustainability Training Workshop - Managing Sustainability into Software
Sustainability Training Workshop - Managing Sustainability into Software
 
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
Safeguarding Against the Risks of Improper Open Source Licensing - Valuable...
 
Chapter1
Chapter1Chapter1
Chapter1
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
 
Top Tips for eDiscovery Software Demo iControl ESI
Top Tips for eDiscovery Software Demo iControl ESITop Tips for eDiscovery Software Demo iControl ESI
Top Tips for eDiscovery Software Demo iControl ESI
 
Eliciting Non-Functional Requirements
Eliciting Non-Functional RequirementsEliciting Non-Functional Requirements
Eliciting Non-Functional Requirements
 
Applying AI to software engineering problems: Do not forget the human!
Applying AI to software engineering problems: Do not forget the human!Applying AI to software engineering problems: Do not forget the human!
Applying AI to software engineering problems: Do not forget the human!
 
Chap01
Chap01Chap01
Chap01
 
Intro
IntroIntro
Intro
 
Preserving software workshop - Community engagement workshop
Preserving software workshop - Community engagement workshopPreserving software workshop - Community engagement workshop
Preserving software workshop - Community engagement workshop
 
SE 18CS35 Module 1.pdf
SE 18CS35 Module 1.pdfSE 18CS35 Module 1.pdf
SE 18CS35 Module 1.pdf
 
Software development
Software developmentSoftware development
Software development
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT world
 
Agile and XP
Agile and XPAgile and XP
Agile and XP
 

More from Mike Hucka

More from Mike Hucka (20)

Caltech DIBS: Digital Borrowing System
Caltech DIBS: Digital Borrowing SystemCaltech DIBS: Digital Borrowing System
Caltech DIBS: Digital Borrowing System
 
Recent software and services to support the SBML community
Recent software and services to support the SBML community Recent software and services to support the SBML community
Recent software and services to support the SBML community
 
SBML, SBML Packages, SED-ML, 
 COMBINE Archive, and more
SBML, SBML Packages, SED-ML, 
 COMBINE Archive, and moreSBML, SBML Packages, SED-ML, 
 COMBINE Archive, and more
SBML, SBML Packages, SED-ML, 
 COMBINE Archive, and more
 
Brief Review of Common Modeling Formalisms and Representation Approaches
Brief Review of Common Modeling Formalisms and Representation ApproachesBrief Review of Common Modeling Formalisms and Representation Approaches
Brief Review of Common Modeling Formalisms and Representation Approaches
 
Introduction to Satellite Meeting on Overview and Use of Standards and Format...
Introduction to Satellite Meeting on Overview and Use of Standards and Format...Introduction to Satellite Meeting on Overview and Use of Standards and Format...
Introduction to Satellite Meeting on Overview and Use of Standards and Format...
 
A summary of various COMBINE standardization activities
A summary of various COMBINE standardization activitiesA summary of various COMBINE standardization activities
A summary of various COMBINE standardization activities
 
Recent Developments in SBML
Recent Developments in SBMLRecent Developments in SBML
Recent Developments in SBML
 
What is "COMBINE"?
What is "COMBINE"?What is "COMBINE"?
What is "COMBINE"?
 
Some SBML-related resources at SBML.org
Some SBML-related resources at SBML.orgSome SBML-related resources at SBML.org
Some SBML-related resources at SBML.org
 
SBML (the Systems Biology Markup Language)
SBML (the Systems Biology Markup Language)SBML (the Systems Biology Markup Language)
SBML (the Systems Biology Markup Language)
 
Standards and software: practical aids for reproducibility of computational r...
Standards and software: practical aids for reproducibility of computational r...Standards and software: practical aids for reproducibility of computational r...
Standards and software: practical aids for reproducibility of computational r...
 
Reproducibility of computational research: methods to avoid madness (Session ...
Reproducibility of computational research: methods to avoid madness (Session ...Reproducibility of computational research: methods to avoid madness (Session ...
Reproducibility of computational research: methods to avoid madness (Session ...
 
Update on SBML for Tuesday Sep. 17 (COMBINE 2013)
Update on SBML for Tuesday Sep. 17 (COMBINE 2013)Update on SBML for Tuesday Sep. 17 (COMBINE 2013)
Update on SBML for Tuesday Sep. 17 (COMBINE 2013)
 
Recent developments in the world of SBML (the Systems Biology Markup Language)
Recent developments in the world of SBML (the Systems Biology Markup Language) Recent developments in the world of SBML (the Systems Biology Markup Language)
Recent developments in the world of SBML (the Systems Biology Markup Language)
 
Computational Approaches to Systems Biology
Computational Approaches to Systems BiologyComputational Approaches to Systems Biology
Computational Approaches to Systems Biology
 
A new language for a new biology: How SBML and other tools are transforming m...
A new language for a new biology: How SBML and other tools are transforming m...A new language for a new biology: How SBML and other tools are transforming m...
A new language for a new biology: How SBML and other tools are transforming m...
 
Systems Biology Systems
Systems Biology SystemsSystems Biology Systems
Systems Biology Systems
 
Creating a new language to support open innovation
Creating a new language to support open innovationCreating a new language to support open innovation
Creating a new language to support open innovation
 
A status update on COMBINE standardization activities, with a focus on SBML
A status update on COMBINE standardization activities, with a focus on SBMLA status update on COMBINE standardization activities, with a focus on SBML
A status update on COMBINE standardization activities, with a focus on SBML
 
SBML (the Systems Biology Markup Language), model databases, and other resources
SBML (the Systems Biology Markup Language), model databases, and other resourcesSBML (the Systems Biology Markup Language), model databases, and other resources
SBML (the Systems Biology Markup Language), model databases, and other resources
 

Recently uploaded

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 

Finding the right wheel

  • 1. Finding the right wheel when you don't want to reinvent it Michael Hucka Matthew Graham
 California Institute of Technology
  • 2. Common problem: finding software • Ask Google? 1000’s of results • Ask colleagues? They may not know • Read the literature? It always lags This impacts software reuse & sustainability • Can’t find it more likely to reinvent it waste $$ and time
  • 3. Survey about how people look for software Invitations via lists for systems biology & astronomy Total respondents: 69 • Fields: physical sciences, computing, math, bio • 56 software developers, 13 non-devs - Dev experience = 1 yr – 45 yrs (mean 20 yrs) Find report at arXiv:1605.02265
  • 4. “In general, how important are the following characteristics when you are searching for ready-to-run software for a task?”
  • 5. Responses: what’s important? 0 10 20 30 40 50 60 70 Size of software Similarity to other software you used Software architecture Quality of support for the software Security provisions Other people’s opinions Programming language(s) used in implementation Reputation of the developers How easy the software is to extend License terms for source code Speed/performance of the software How easy the software is to install Availability of source code Hardware compatibility and requirements Quality of documentation How easy the software is to learn License terms for usage Apparent quality of the software Operating system requirements Price Support for specific data standards and file formats Availability of specific features Essential Usually of above-average importance Average importance Somewhat or occasionally important Rarely or never important Total # responses: 69
  • 6. Responses: what’s important? 0 10 20 30 40 50 60 70 Size of software Similarity to other software you used Software architecture Quality of support for the software Security provisions Other people’s opinions Programming language(s) used in implementation Reputation of the developers How easy the software is to extend License terms for source code Speed/performance of the software How easy the software is to install Availability of source code Hardware compatibility and requirements Quality of documentation How easy the software is to learn License terms for usage Apparent quality of the software Operating system requirements Price Support for specific data standards and file formats Availability of specific features Essential Usually of above-average importance Average importance Somewhat or occasionally important Rarely or never important Total # responses: 69
  • 7. Usethistoimprovechancesyoursoftwaregetsreused Make it easy for people to discover info about what they want to know Address basic concerns about the software Characteristic Makeprominentindocs Follow good practices Features offered ✔ Data & file standards supported ✔ Price ✔ Operating system requirements ✔ License ✔ Hardware requirements ✔ Availability of source code ✔ How easy is it to learn? ✔ ✮ Quality of software ✮ Quality of documentation ✮