Download - Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Transcript
Page 1: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Social Sourcing: The story of GetPaid, ideas for

organizing software projects

Christopher JohnsonifPeople | www.ifpeople.net

Plone Symposium 2008New Orleans, LA

June 3, 2008

Page 2: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Outline

● Who, What, Why? ● What is Social Sourcing?● Why is it important for Free Software?● The Story of GetPaid & Social Sourcing● Implications for Plone

Page 3: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Who am I?

Page 4: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

What is GetPaid?

● eCommerce in Plone built on Zope3– credit card processing

– order management

– shipping, fulfillment, inventory management

– 2 releases; 10,600+ lines of code

● Community– 105 members on mailing list

– 34 contributors (15+ in 2008)

Page 5: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Why am I here?

● Voice for non-developers!● Make Plone better: software, community,

marketing● Get feedback and ideas (time for another

round of social sourcing for GetPaid!)

Page 6: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

What is Social Sourcing?

Def 1: Open Source Software for Civil Society Organizations (ie NGO/non-

profit)

Page 7: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

What is Social Sourcing?

Def. 2: A project organizing approach that gets diverse stakeholders to participate to the software making process, focusing on the value of

product.

Page 8: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Similar Process: Charrette

● Charrettes bring together people from multiple perspectives at the design stage for an intense collaboration. – Root: French for “cart”

– More than just “crunch time”, it is also core to an Integrated Design Process

Page 9: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Charrette

● Key: collaborative decision making in design

Page 10: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Data Center Charrette

● People from hardware, software, security, energy, real estate and more– Resulting design:

● 89% energy use reduction ● Equivalent computing power● Increased reliability

– See rmi.org

Page 11: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Why is this relevant?● Open Source Software projects are

driven by developers

==> Many projects naturally use agile processes (sprints, pairing)

==> Developers, like architects, often reticent to get “human” input

==> Difficult for non-developers to participate in shaping outcome

Page 12: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Why is this relevant?

● Diverse perspectives enrich the product

==> Expectations from client clarified upfront

==> Opportunities and constraints explored fully

Page 13: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Why is this relevant?

● The quality of the process determines the quality of the outcome

==> How you get it done determines what you get done

==> Position product to have a strong community

Page 14: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

● Plone:– Flexible + very useful out of the box

● 2006 PloneConf ecommerce BOF– Conclusion: Need state of the art payment

processing framework

Page 15: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

● To action! But...– /me was new to community, not a developer, and

with no ecommerce software experience...but loves problem solving!

– “Social sourcing” helped to be transparent, inclusive, and improve the product.

● <DOCTYPE FREESOFTWARE PUBLIC...><div id=”entrepreneur”> ...don't be afraid!

Page 16: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Social Source v1.0 Alpha●

– Study the market (benchmark)

– Put together a compelling plan

– Recruit the right people

– Engage a wide base in refining requirements

– Ask for money

– Celebrate successes

– Sustain it: fun, organization, motivation

– Regroup, review, and restart...

Page 17: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

● Step 1: Get oriented– What is already out there?

– What do we know about those things?

– Why do we need something else?

● Result: – Reference on Plone Commerce:

http://plonegetpaid.com/why/plone-commerce-background

– Need for the product: http://plonegetpaid.com/why/need-for-this-product

Page 18: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

● Step 2: Make a plan– What should we do?

– How can we do it?

– Who does it benefit and how?

– Make it pretty to look at...

● Results: – Goal for GetPaid M1: Donation handling

– Sponsorship plan: www.plonegetpaid.com/sponsor

Page 19: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)
Page 20: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

● Step 3: Recruit leaders and participants– The project needs a qualified “sheperd”

– Variety of expertise are needed

● Result: – Lead architect: Kapil Thangavelu

– Organizer: Christopher Johnson

– NGO Liason: Jon Stahl

– Several more have stepped up!

– Developers and UI: various (see Credits)

Page 21: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)
Page 22: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)
Page 23: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

● Step 4: Refine the requirements (participative)– Get input of users, developers, user interface

experts, consultants/supporters

● Results: – Architecture outline

– User stories

– Estimates and plan

Page 24: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

● Step 5: Ask for money!– If you don't ask, you won't get it...

– Tips for asking: ● Connect needs with value● Be transparent● Be patient and persistent

● Result: – Raised over US$12,000 for first release

– Contributions page

Page 25: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

● Step 5: Don't forget...– Be accountable and transparent

Page 26: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

● Step 6: Celebrate successes!– Reward and recognize people and their

contributions● Deployments, releases, fixes

– Communication is important!

● Results:– Blog, mailing list

– Celebrations...

Page 27: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)
Page 28: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

● Ongoing: – Make it fun!

– Keep it organized!

– Keep people motivated!

● Results: – 4 Sprints (UNC, Google, Argentina, Naples)

– Google Code (wiki, issues, code)

– Blog, mailing lists, channel (#getpaid)

Page 29: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Social Source v1.0 Alpha●

– Study the market (benchmark)

– Put together a compelling plan

– Recruit the right people

– Engage a wide base in refining requirements

– Ask for money

– Celebrate successes

– Sustain it: fun, organization, motivation

– Regroup, review, and restart...

Page 30: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

What next?

● Time for a new round of social sourcing for GetPaid!

● Encourage flow back into product of customizations and extensions

● Capture feedback from users, developers to improve project

● Need technical leaders in various areas

Page 31: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Implications for Plone?

● Plone is great!● Lots of work heading into the future...but

towards what?– Perhaps Plone could benefit from process

improvements that would: ● Clarify direction and identity● Provide more inclusive design process● Improve the overall product ● Strengthen Plone community

Page 32: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Plone Creation Process

● Overall vision:– Open process associated with vision?

● How can users be more involved?

– Place to document it?

● Features: – PLIPs process determines features...but you

have to be a “core developer” to make a PLIP● Something before PLIPs but more specific than

vision?● Way to involve non-developers?

Page 33: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Getting Involved

● Download it: http://code.google.com/p/getpaid

● GetPaid mailing list: http://groups.google.com/group/getpaid-dev

● IRC: #getpaid● Features, Sponsorship etc:

http://www.plonegetpaid.com

Page 34: Social Sourcing as a Collaborative Design Process: Story of GetPaid (Plone Symposium NOLA 2008)

Thank you!

● Special thanks: – Kapil, Perrito, Lucie, Maurits, ChrisW

– OneNW, Contextual Corp, Totsie.com, Trees for Life

● Contact info: – Christopher Johnson

– cjj (at) ifpeople.net

– www.ifpeople.net

– irc: cjj