Why Good Software Sometimes Dies... and how to save it

50 %
50 %
Information about Why Good Software Sometimes Dies... and how to save it

Published on July 16, 2008

Author: npch

Source: slideshare.net

Description

A talk given by Neil Chue Hong at the JISC Innovation Forum 08 on software sustainability and the issues, challenges and potential solutions to improve the longevity and uptake of your research software.

Why Good Software Sometimes Dies … and how to save it JISC Innovation Forum 16 July 2008, Keele University Neil Chue Hong Director, OMII-UK

 

What’s the issue? “ Sustainability is not an issue for CS researchers, we want others to take the software over subject to IP issues” “ Sustainability is a big issue, we are producing complex tools we want to continue to use but it’s not clear how they’ll be sustained” How do we ensure that software which has users can continue to support them? In particular how do we help software survive the transition from creation to widespread use

“ Sustainability is not an issue for CS researchers, we want others to take the software over subject to IP issues”

“ Sustainability is a big issue, we are producing complex tools we want to continue to use but it’s not clear how they’ll be sustained”

How do we ensure that software which has users can continue to support them?

In particular how do we help software survive the transition from creation to widespread use

Software and Support for the UK e-Science community OMII-UK aims to provide software and support to enable a sustained future for the UK e-Science community and its international collaborators More than just the middleware go above the components to provide added value Skilled team to help the community putting the right things together, integrating components providing consultancy and support to improve takeup developing, commissioning and improving software www.omii.ac.uk

OMII-UK aims to provide software and support to enable a sustained future for the UK e-Science community and its international collaborators

More than just the middleware

go above the components to provide added value

Skilled team to help the community

putting the right things together, integrating components

providing consultancy and support to improve takeup

developing, commissioning and improving software

www.omii.ac.uk

Engaging Research with e-Infrastructure Interviewing researchers to identify what works and what’s needed Analysing requirements and proposing interventions Developing solutions and disseminating best practice www.engage.ac.uk

Interviewing researchers to identify what works and what’s needed

Analysing requirements and proposing interventions

Developing solutions and disseminating best practice

www.engage.ac.uk

Sustainable Communities: Film Exhibition

Sustainable Communities: Services and Events

Sustainable Communities: Small-Medium sized Enterprise

The Long Tail Name one example of an organisation benefitting from “the long tail” which isn’t Amazon.

Name one example of an organisation benefitting from “the long tail” which isn’t Amazon.

The Long Tail “ Given a large enough availability of choice, a large population of customers, and negligible stocking and distribution costs, the selection and buying pattern of the population results in a power law distribution curve, or Pareto distribution, instead of the expected normal distribution curve”

“ Given a large enough availability of choice, a large population of customers, and negligible stocking and distribution costs, the selection and buying pattern of the population results in a power law distribution curve, or Pareto distribution, instead of the expected normal distribution curve”

Comparing Apples and Oranges?

Comparing Apples and Books! Storage lifespan: ~12 months Storage lifespan: ~ 50 years Which one is closer to the lifespan of software?

The Long Tail in Software “ Given a large enough availability of choice, a large population of customers, and negligible stocking and distribution costs , the selection and buying pattern of the population results in a power law distribution curve, or Pareto distribution, instead of the expected normal distribution curve” Investment is required to prevent decay

“ Given a large enough availability of choice, a large population of customers, and negligible stocking and distribution costs , the selection and buying pattern of the population results in a power law distribution curve, or Pareto distribution, instead of the expected normal distribution curve”

Open Source software is free… Free as in speech… free as in beer, or…

Free as in Puppy… Long term costs Needs love and attention May lose charm after growing up Occasional clean-ups required Many left abandoned by their owners

Long term costs

Needs love and attention

May lose charm after growing up

Occasional clean-ups required

Many left abandoned by their owners

Open Source addresses some issues, but is not a “silver bullet”. Your software may still be in a poor condition. Which (open source) software do you use on a regular basis Why do you use it? features support cost recommendation …

Which (open source) software do you use on a regular basis

Why do you use it?

features

support

cost

recommendation



ENGAGE preliminary, non-empirical qualitative finding People will tend to prioritise ease of use, support and continued development over a complete feature set This requires a sustainable community around the software. Don’t agree? Sign up for an interview to correct the bias! info@engage.ac.uk

People will tend to prioritise ease of use, support and continued development over a complete feature set

This requires a sustainable community around the software.

“ Give a man a fish, and you feed him for a day. Teach a man to fish, and you feed him for life.” "Teach a man to fish, and you introduce another competitor into the overcrowded fishing industry. Give a man a fish, and you stimulate demand for your product" Sustainable communities demonstrate 4 key factors: - cohesion and identity - tolerance of diversity - efficient use of resources - adaptability to change

The Long Tail (yet again) large enough availability of choice requires a comparable marketplace large population of customers requires a growing total community of users negligible stocking and distribution costs requires efficient use of resources and technology

large enough availability of choice

requires a comparable marketplace

large population of customers

requires a growing total community of users

negligible stocking and distribution costs

requires efficient use of resources and technology

Basic Software Economics If you can identify: the value of your software who values it You can work out: the market segment appropriate to the user base the likely amount of resources available Value for users becomes value for the software don’t be afraid to be small and niche if it has value

If you can identify:

the value of your software

who values it

You can work out:

the market segment appropriate to the user base

the likely amount of resources available

Value for users becomes value for the software

don’t be afraid to be small and niche if it has value

Sustainable Software Communities How does this relate to software? Cohesion and Identity: Creating a community Tolerance and Diversity: Smart growth through collaboration Efficient use of resources: Leveraging infrastructure Adaptability to change: Governing sustainably We are farmers, not hunter-gathers

How does this relate to software?

Cohesion and Identity: Creating a community

Tolerance and Diversity: Smart growth through collaboration

Efficient use of resources: Leveraging infrastructure

Adaptability to change: Governing sustainably

We are farmers, not hunter-gathers

Have you contributed to a piece of software that hadn’t been written by your group? if so, what made it easy / would have made it easier? if not, what prevented them doing it? Have you ever contributed?

Have you contributed to a piece of software that hadn’t been written by your group?

if so, what made it easy / would have made it easier?

if not, what prevented them doing it?

The Four Levels of e-Science Enlightenment 1) Resources: Providing access to a larger and wider diversity 2) Automation: Repeatability and management of experiments 3) Collaboration: Intra + cross disciplinary networks 4) Participation: Increasing access to a wider set of users; increasing knowledge in a domain

1) Resources: Providing access to a larger and wider diversity

2) Automation: Repeatability and management of experiments

3) Collaboration: Intra + cross disciplinary networks

4) Participation: Increasing access to a wider set of users; increasing knowledge in a domain

Creating a Community Who are the users of the software? Why do they use it? What do they value from it? What is their relationship between developers and users? What do people want to do? not how can they use what we’ve got to do it

Who are the users of the software?

Why do they use it?

What do they value from it?

What is their relationship between developers and users?

What do people want to do?

not how can they use what we’ve got to do it

Helping establish communities Communities require more than functional software documentation and training guaranteed long-term support stable APIs as well as interoperable standards sharing of best practice and issues Clear understanding of the requirements that make them a distinct community

Communities require more than functional software

documentation and training

guaranteed long-term support

stable APIs as well as interoperable standards

sharing of best practice and issues

Clear understanding of the requirements that make them a distinct community

Smart Growth through Collaboration How do you turn users into collaborators into contributors? Moving from a single team at a single organisation to more diverse, sustainable development Trivial barriers are sometimes insurmountable what’s easy for one is often frustrating for others don’t assume the last step’s easy for everyone celebrate success in the community

How do you turn users into collaborators into contributors?

Moving from a single team at a single organisation to more diverse, sustainable development

Trivial barriers are sometimes insurmountable

what’s easy for one is often frustrating for others

don’t assume the last step’s easy for everyone

celebrate success in the community

Community Engagement and Communication Training, tutorials, advice Beta-Testers and Tech Previews User Forums, User Advocates Mailing Lists, IRC, online forums Different ways of understanding community needs and gathering feedback Multiple approaches from multiple skill bases to attack a common problem Make people feel a part of the team, and the team will grow

Training, tutorials, advice

Beta-Testers and Tech Previews

User Forums, User Advocates

Mailing Lists, IRC, online forums

Different ways of understanding community needs and gathering feedback

Multiple approaches from multiple skill bases to attack a common problem

Make people feel a part of the team, and the team will grow

Leveraging Infrastructure Prevent defects rather than just fix Use technology to lower effort Keep code shippable to aid collaboration Improve design continually and cost-effectively Make it easy for new developers Consistent pace that balances short- versus long-term requirements a frequent release cycle keeps people engaged

Prevent defects rather than just fix

Use technology to lower effort

Keep code shippable to aid collaboration

Improve design continually and cost-effectively

Make it easy for new developers

Consistent pace that balances short- versus long-term requirements

a frequent release cycle keeps people engaged

Governing Sustainably Copyright Licensing Value Decisions Trust Create a governance model that makes it easy to contribute, easy to make decisions and maintains quality, whilst being able to adapt to change Be prepared to make the gradual transition from benevolent dictatorship to democratic meritocracy

Copyright

Licensing

Value

Decisions

Trust

Create a governance model that makes it easy to contribute, easy to make decisions and maintains quality, whilst being able to adapt to change

Be prepared to make the gradual transition from benevolent dictatorship to democratic meritocracy

The trade-offs of a larger community “ Connected , distributed systems , from power grids to business firms to even entire economies , are both more fragile and more robust than populations of isolated entities .” Duncan J. Watts Professor of Sociology Columbia University Sometimes the thing that kills software is that the community becomes too fragile

“ Connected , distributed systems , from power grids to business firms to even entire economies , are both more fragile and more robust than populations of isolated entities .”

Duncan J. Watts

Professor of Sociology

Columbia University

Sometimes the thing that kills software is that the community becomes too fragile

Software as a shared facility Communities develop to share workload and develop specialisms but grow a community too large and it lacks cohesion Groups like OMII-UK can identify and generate synergies amongst different groups identify specialisms which are useful across disciplines create benefit without diluting community vision provide networking and sharing of best practice help with the “unglamorous” work

Communities develop to share workload and develop specialisms

but grow a community too large and it lacks cohesion

Groups like OMII-UK can identify and generate synergies amongst different groups

identify specialisms which are useful across disciplines

create benefit without diluting community vision

provide networking and sharing of best practice

help with the “unglamorous” work

Does the software you produce or use have a good knowledge of who its users are? make it easy for people to contribute How could things be even better? do you know where in the long tail you are? where do you want the software to be? Share examples with others! Thinking about your software

Does the software you produce or use

have a good knowledge of who its users are?

make it easy for people to contribute

How could things be even better?

do you know where in the long tail you are?

where do you want the software to be?

Share examples with others!

How to keep good software alive Understand the value Identify the community Leverage technology Improve process Keep people engaged Encourage contribution Above all, if you use it, make sure people know!

Understand the value

Identify the community

Leverage technology

Improve process

Keep people engaged

Encourage contribution

Above all, if you use it, make sure people know!

OMII-UK’s and ENGAGE’s Mission (again) OMII-UK aims to provide software and support to enable a sustained future for the UK e-Science community and its international collaborators ENGAGE aims to overcome specific identified barriers for researchers using software to create examples for the commune I hope this talk has given you some ideas of how to achieve this yourself or in collaboration with others ©

OMII-UK aims to provide software and support to enable a sustained future for the UK e-Science community and its international collaborators

ENGAGE aims to overcome specific identified barriers for researchers using software to create examples for the commune

I hope this talk has given you some ideas of how to achieve this yourself or in collaboration with others

Don’t let good software die! [email_address] www.slideshare.net/npch Value Community Technology Process People Contribution

Add a comment

Related presentations

Related pages

Why Good Software Sometimes Dies – And How to Save It

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles ...
Read more

Why Good Software Sometimes Dies – And How to Save It ...

Why Good Software Sometimes Dies – And How to Save It. / Chue Hong, Neil; Voss, Alex. 2008. 475-477 Fourth IEEE International Conference on eScience ...
Read more

Why Good Software Sometimes Dies - And How to Save It ...

Publication » Why Good Software Sometimes Dies - And How to Save It..
Read more

Why Good Software Sometimes Dies And How to Save It | Neil ...

This paper explores what it takes to develop digital objects (software but also other products such as workflows or data collections), which are both ...
Read more

Why Good Software Sometimes Dies - The Community for ...

Why Good Software Sometimes Dies (Abstract) to . ISBN: pp: 475-477. ... (software but also other products such as workflows or data collections), ...
Read more

Death: Why did God Kill My loved one? - Interactive Bible ...

Why did God take my child whom I loved? Why would God ... You have no more of a right to get angry at God when your loved one dies, ... but sometimes God ...
Read more

Famous Quotes - Cornell University

Over the years I've collected quotes ... god than you do. When you understand why you ... a God who would choose to save people on the ...
Read more

How To - Ripening Green Pumpkins by Pumpkin Nook

Jack Frost is not the only reason we get green pumpkins. Sometimes, the plant dies ... before the pumpkins ripen. And, sometimes ... make sure there is ...
Read more

Why Does My iPhone Battery Die So Fast? Here’s The Real Fix!

... Learn the real reasons your iPhone battery dies so ... Home » Tech Blog » iPhone » Why Does My iPhone Battery Die ... You’ll save a lot of ...
Read more