product development in the open - openstack summit may 2014 atlanta

79
(open source isn’t just a developers’ thing) Product Development in the Open

Upload: rackerbr

Post on 08-May-2015

170 views

Category:

Technology


6 download

DESCRIPTION

In OpenStack, all our coding is done out in the open. You can read the source code and follow the peer reviews the code went through before it was merged in. Often times, however, the original intent behind a blueprint or feature request gets murky, leaving code reviewers focused on the trees instead of the forest. In this talk, join Brian Rosmaita, Cloud Images Product Manager at Rackspace, as he advocates for full features documented with use cases, prototype press releases, and preliminary FAQ lists to help articulate the vision for features. Brian will share his experiences in working in the Glance project, and offer practical advice on how developers and product managers can work together to improve the overall experience of turning OpenStack ideas into products. http://sched.co/1dJ5rrM

TRANSCRIPT

Page 1: Product Development in the Open - OpenStack Summit May 2014 Atlanta

(open source isn’t just a developers’ thing)

Product Development in the Open

Page 2: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Brian Rosmaita

– @br14nr

– IRC: rosmaita

• Cloud Images Product Manager at Rackspace

• OpenStack ATC since Folsom

– Mostly Glance and docs

• Glance driver

• Happy to be here, hope you’re enjoying the summit

About me

Page 3: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Who cares about OpenStack?

• Open source code development vs. product development

• Why product development is important for open source

• Product development in the open

• What you can do

Outline

Page 4: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Who cares about OpenStack?

• Open source code development vs. product development

• Why product development is important for open source

• Product development in the open

• What you can do

• What you should do

Outline

Page 5: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Who cares about OpenStack?

• Open source code development vs. product development

• Why product development is important for open source

• Product development in the open

• What you can do

• What you should do

• What you must do

Outline

Page 6: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

WHO CARES

ABOUT OPENSTACK?

Page 7: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do end-users care about OpenStack?

Who cares about OpenStack?

Page 8: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do end-users care about OpenStack?

– I hate to say this, but probably not

Who cares about OpenStack?

Page 9: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do end-users care about OpenStack?

– I hate to say this, but probably not

• Do end-users care about open source?

Who cares about OpenStack?

Page 10: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do end-users care about OpenStack?

– I hate to say this, but probably not

• Do end-users care about open source?

– Probably not

Who cares about OpenStack?

Page 11: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do end-users care about OpenStack?

– I hate to say this, but probably not

• Do end-users care about open source?

– Probably not

• Can we just ignore them?

Who cares about OpenStack?

Page 12: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do end-users care about OpenStack?

– I hate to say this, but probably not

• Do end-users care about open source?

– Probably not

• Can we just ignore them?

– Probably not

Who cares about OpenStack?

Page 13: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do end-users care about OpenStack?

– I hate to say this, but probably not

• Do end-users care about open source?

– Probably not

• Can we just ignore them?

– Probably not

– If you’re running a public cloud: definitely not

Who cares about OpenStack?

Page 14: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do end-users care about OpenStack?

– I hate to say this, but probably not

• Do end-users care about open source?

– Probably not

• Can we just ignore them?

– Probably not

– If you’re running a public cloud: definitely not

– If you’re running a private cloud: the “shadow IT” phenomenon

Who cares about OpenStack?

Page 15: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do providers care about OpenStack?

Who cares about OpenStack?

Page 16: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do providers care about OpenStack?

– I think current and potential cloud providers care about open-source

Who cares about OpenStack?

Page 17: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do providers care about OpenStack?

– I think current and potential cloud providers care about open-source

• Providers want

– Stability

Who cares about OpenStack?

Page 18: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do providers care about OpenStack?

– I think current and potential cloud providers care about open-source

• Providers want

– Stability

– Ongoing improvement

Who cares about OpenStack?

Page 19: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do providers care about OpenStack?

– I think current and potential cloud providers care about open-source

• Providers want

– Stability

– Ongoing improvement

– Stability

Who cares about OpenStack?

Page 20: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do providers care about OpenStack?

– I think current and potential cloud providers care about open-source

• Providers want

– Stability

– Ongoing improvement

– Stability

– Competitive features for end users

Who cares about OpenStack?

Page 21: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Do providers care about OpenStack?

– I think current and potential cloud providers care about open-source

• Providers want

– Stability

– Ongoing improvement

– Stability

– Competitive features for end users

– Stability

Who cares about OpenStack?

Page 22: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• If your customer base primarily interacts with a control panel, you can swap out the control plane and customers might not even notice

Who cares about OpenStack?

2

2

Page 23: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• If your customer base primarily interacts with a control panel, you can swap out the control plane and customers might not even notice

• Or you could switch to different cloud software that has a compatible API and customers might not even notice

Who cares about OpenStack?

Page 24: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• If your customer base primarily interacts with a control panel, you can swap out the control plane and customers might not even notice

• Or you could switch to different cloud software that has a compatible API and customers might not even notice

It’s a jungle out there!

Who cares about OpenStack?

Page 25: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• (I’m kind of scared to pose this next question)

Who cares about OpenStack?

Page 26: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Are software developers committed to OpenStack?

Who cares about OpenStack?

Page 27: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Are software developers committed to OpenStack?

– It’s pretty scary to even think about this question

Who cares about OpenStack?

Page 28: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Are you committed to OpenStack?

Who cares about OpenStack?

Page 29: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Am I committed to OpenStack?

Who cares about OpenStack?

Page 30: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Am I committed to OpenStack?

– What I’m committed to is the ongoing shared project of developing excellent open-source cloud software

Who cares about OpenStack?

Page 31: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Am I committed to OpenStack?

– What I’m committed to is the ongoing shared project of developing excellent open-source cloud software

– OpenStack is the best game in town

Who cares about OpenStack?

Page 32: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Am I committed to OpenStack?

– What I’m committed to is the ongoing shared project of developing excellent open-source cloud software

– OpenStack is the best game in town

• “ongoing shared project” == the community

Who cares about OpenStack?

Page 33: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Am I committed to OpenStack?

– What I’m committed to is the ongoing shared project of developing excellent open-source cloud software

– OpenStack is the best game in town

• “ongoing shared project” == the community

Who cares about OpenStack?

TRUST + CONTRIBUTION

Page 34: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• The community isn’t something to observe …

The OpenStack community

TRUST + CONTRIBUTION

Page 35: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• The community isn’t something to observe …

• … it’s something to participate in

The OpenStack community

TRUST + CONTRIBUTION

Page 36: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• The community isn’t something to observe …

• … it’s something to participate in

• The community requires constant care and nurturing if it’s to remain the vibrant and exciting entity it is today

The OpenStack community

TRUST + CONTRIBUTION

Page 37: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• What am I going to do with OpenStack?

The OpenStack community

TRUST + CONTRIBUTION

Page 38: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• What am I going to do with OpenStack?

• What am I going to do with OpenStack?

The OpenStack community

TRUST + CONTRIBUTION

Page 39: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

ASK NOT WHAT

OPENSTACK

CAN DO FOR YOU,

BUT WHAT YOU CAN

DO FOR OPENSTACK

Page 40: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

OPENSOURCE CODE DEVELOPMENT

VS. PRODUCT DEVELOPMENT

Page 41: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Coding is done in the open

Open source code development

Page 42: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Coding is done in the open

• Anyone – cloud provider, ops team, developers, end-users, random passers-by

– Can read the source code

– Can see the peer reviews

– Can see the history of code development

Open source code development

Page 43: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Coding is done in the open

• Anyone – cloud provider, ops team, developers, end-users, random passers-by

– Can read the source code

– Can see the peer reviews

– Can see the history of code development

– Can look up the history of the ideas behind this piece of code

Open source code development

Page 44: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Coding is done in the open

• Anyone – cloud provider, ops team, developers, end-users, random passers-by

– Can read the source code

– Can see the peer reviews

– Can see the history of code development

– Can look up the history of the ideas behind this piece of code

• Mailing list archives

Open source code development

Page 45: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Coding is done in the open

• Anyone – cloud provider, ops team, developers, end-users, random passers-by

– Can read the source code

– Can see the peer reviews

– Can see the history of code development

– Can look up the history of the ideas behind this piece of code

• Mailing list archives

• IRC meeting logs

Open source code development

Page 46: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Coding is done in the open

• Anyone – cloud provider, ops team, developers, end-users, random passers-by

– Can read the source code

– Can see the peer reviews

– Can see the history of code development

– Can look up the history of the ideas behind this piece of code

• Mailing list archives

• IRC meeting logs

–“official” IRC meeting channels

» #openstack-meeting , #openstack-meeting-alt

Open source code development

Page 47: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Coding is done in the open

• Anyone – cloud provider, ops team, developers, end-users, random passers-by

– Can read the source code

– Can see the peer reviews

– Can see the history of code development

– Can look up the history of the ideas behind this piece of code

• Mailing list archives

• IRC meeting logs

–“official” IRC meeting channels

» #openstack-meeting , #openstack-meeting-alt

–Project-specific meeting channels

»E.g., #openstack-glance

Open source code development

Page 48: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• The history of the ideas behind a piece of code is important when reviewing it

Open source code archaeology

Page 49: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• The history of the ideas behind a piece of code is important when reviewing it

• This code is acceptable because:

– It has no obvious flaws

– It doesn’t break compatibility with other parts of the code

Open source code archaeology

Page 50: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• The history of the ideas behind a piece of code is important when reviewing it

• This code is acceptable because:

– It has no obvious flaws

– It doesn’t break compatibility with other parts of the code

– It implements the feature correctly

Open source code archaeology

Page 51: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• The history of the ideas behind a piece of code is important when reviewing it

• This code is acceptable because:

– It has no obvious flaws

– It doesn’t break compatibility with other parts of the code

– It implements the feature correctly

– … and if there’s a migration path, it’s well thought-out

Open source code archaeology

Page 52: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• It would be good if the archaeology were not so “archaeological”

Open source code archaeology

Page 53: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

WHY PRODUCT DEVELOPMENT

IS IMPORTANT FOR OPEN SOURCE

Page 54: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Customer-validated

Modern product development

Page 55: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• OpenStack has two customer segments:

– Deployers (consumers of OpenStack software)

– End-users (consumers of cloud services)

Modern product development

Page 56: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Customer-validated

– We’ve got data indicating that a proposed feature will actually be used by real customers

Modern product development

Page 57: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Software development goes better when developers understand:

– The purpose of the feature they’re developing

– How it fits into the Big Picture

– That it will actually be used

Modern software development

Page 58: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Software development goes better when developers understand:

– The purpose of the feature they’re developing

– How it fits into the Big Picture

– That it will actually be used

• And, of course, code reviews can be more meaningful when these things are understood

Modern software development

Page 59: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

PRODUCT DEVELOPMENT

IN THE OPEN

Page 60: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Product-type people have a skill set that can contribute to the community

Product development in the open

Page 61: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Product-type people have a skill set that can make a serious contribution to the community

Product development in the open

Page 62: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Product-type people have a skill set that can make a serious contribution to the community

• We can decrease the necessary amount of “archaeology” by treating OpenStack code development as part of product development

Product development in the open

Page 63: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Product-type people have a skill set that can make a serious contribution to the community

• We can decrease the necessary amount of “archaeology” by treating OpenStack code development as part of product development

• … rather than as an artifact around which to build a product

Product development in the open

Page 64: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Product-types have a skill set that can make a serious contribution to the community

• We can decrease the necessary amount of “archaeology” by treating OpenStack code development as part of product development

• … rather than as an artifact around which to build a product

• Increase

– Developer satisfaction

– Deployer awareness

– Documentation readiness

Product development in the open

Page 65: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Product-types have a skill set that can make a serious contribution to the community

• We can decrease the necessary amount of “archaeology” by treating OpenStack code development as part of product development

• … rather than as an artifact around which to build a product

• Increase

– Developer satisfaction

– Deployer awareness

– Documentation readiness

– User delight!

Product development in the open

Page 66: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl RACKSPACE® HOSTING | WWW.RACKSPACE.COM

WHAT YOU CAN DO

Page 67: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Chris Vander Mey, Shipping Greatness (O’Reilly, 2012)

What you can do

Page 68: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Press release before the product is built

What you can do

Page 69: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Press release before the product is built

• FAQ before the product is built

What you can do

Page 70: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Press release before the product is built

• FAQ before the product is built

• Documented use cases

What you can do

Page 71: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Press release before the product is built

• FAQ before the product is built

• Documented use cases

• Customer validation

What you can do

Page 72: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Press release before the product is built

• FAQ before the product is built

• Documented use cases

• Customer validation

• and …

What you can do

Page 73: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• Examples

–https://wiki.openstack.org/wiki/Glance-property-protections-product

–http://tinyurl.com/ATL-BR-1

–https://wiki.openstack.org/wiki/Glance-tasks-api-product

–http://tinyurl.com/ATL-BR-E2

–https://wiki.openstack.org/wiki/Glance-v2-community-image-sharing

–http://tinyurl.com/ATL-BR-3

What you can do

Page 74: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• OpenStack is more than code

• Community is key

• Product-type people can contribute to OpenStack

Take-aways

Page 75: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• OpenStack is more than code

• Community is key

• Product-type people can contribute to OpenStack

• Product-type people should contribute to OpenStack

Take-aways

Page 76: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• OpenStack is more than code

• Community is key

• Product-type people can contribute to OpenStack

• Product-type people should contribute to OpenStack

• Product-type people must contribute to OpenStack

Take-aways

Page 77: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218

US SALES: 1-800-961-2888 | US SUPPORT: 1-800-961-4454 | WWW.RACKSPACE.COM

RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM RACKSPACE® HOSTING | © RACKSPACE US, INC. | RACKSPACE® AND FANATICAL SUPPORT® ARE SERVICE MARKS OF RACKSPACE US, INC. REGISTERED IN TH E UNITED STATES AND OTHER COUNTRIES. | WWW.RACKSPACE.COM

Page 78: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

• I just wanted to address a few questions that came up

– The example docs are in their final state.

• What you don’t see is that there were several revisions as the discussion developed on the mailing list and in IRC meetings.

• Keep in mind the “archaeology” metaphor—the point of the “product” docs is to record community consensus, not to impose a particular view or to deliver a pre-designed API.

• You want to document the consensus enough so that a core reviewer can look them over and understand whether or not the code being reviewed meets the consensus requirements for the feature.

– Have a thick skin

• Expect to see eyes roll (or whatever the IRC equivalent is) when you first start participating in IRC meetings and design discussions.

• Some developers are more receptive to this kind of help than others. It may take some time to earn trust, don’t get discouraged.

Postscript

Page 79: Product Development in the Open - OpenStack Summit May 2014 Atlanta

#rackstackatl

•Brian Rosmaita –@br14nr

–IRC: rosmaita

[email protected]

About me