Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
(open source isn’t just a developers’ thing)
Product Development in the Open
#rackstackatl
• Brian Rosmaita
– @br14nr
– IRC: rosmaita
• Cloud Images Product Manager at
Rackspace
• OpenStack ATC since...
#rackstackatl
• Who cares about OpenStack?
• Open source code development vs. product development
• Why product developmen...
#rackstackatl
• Who cares about OpenStack?
• Open source code development vs. product development
• Why product developmen...
#rackstackatl
• Who cares about OpenStack?
• Open source code development vs. product development
• Why product developmen...
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
WHO CARES
ABOUT OPENSTACK?
#rackstackatl
• Do end-users care about OpenStack?
Who cares about OpenStack?
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
Who cares about OpenStack?
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open s...
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open s...
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open s...
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open s...
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open s...
#rackstackatl
• Do end-users care about OpenStack?
– I hate to say this, but probably not
• Do end-users care about open s...
#rackstackatl
• Do providers care about OpenStack?
Who cares about OpenStack?
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
...
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
...
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
...
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
...
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
...
#rackstackatl
• Do providers care about OpenStack?
– I think current and potential cloud providers care about open-source
...
#rackstackatl
• If your customer base primarily interacts with a control panel, you can swap out
the control plane and cus...
#rackstackatl
• If your customer base primarily interacts with a control panel, you can swap out
the control plane and cus...
#rackstackatl
• If your customer base primarily interacts with a control panel, you can swap out
the control plane and cus...
#rackstackatl
• (I’m kind of scared to pose this next question)
Who cares about OpenStack?
#rackstackatl
• Are software developers committed to OpenStack?
Who cares about OpenStack?
#rackstackatl
• Are software developers committed to OpenStack?
– It’s pretty scary to even think about this question
Who ...
#rackstackatl
• Are you committed to OpenStack?
Who cares about OpenStack?
#rackstackatl
• Am I committed to OpenStack?
Who cares about OpenStack?
#rackstackatl
• Am I committed to OpenStack?
– What I’m committed to is the ongoing shared project of developing excellent...
#rackstackatl
• Am I committed to OpenStack?
– What I’m committed to is the ongoing shared project of developing excellent...
#rackstackatl
• Am I committed to OpenStack?
– What I’m committed to is the ongoing shared project of developing excellent...
#rackstackatl
• Am I committed to OpenStack?
– What I’m committed to is the ongoing shared project of developing excellent...
#rackstackatl
• The community isn’t something to observe …
The OpenStack community
TRUST + CONTRIBUTION
#rackstackatl
• The community isn’t something to observe …
• … it’s something to participate in
The OpenStack community
TR...
#rackstackatl
• The community isn’t something to observe …
• … it’s something to participate in
• The community requires c...
#rackstackatl
• What am I going to do with OpenStack?
The OpenStack community
TRUST + CONTRIBUTION
#rackstackatl
• What am I going to do with OpenStack?
• What am I going to do with OpenStack?
The OpenStack community
TRUS...
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
ASK NOT WHAT
OPENSTACK
CAN DO FOR YOU,
BUT WHAT YOU CAN
DO FOR OPENSTA...
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
OPENSOURCE CODE DEVELOPMENT
VS. PRODUCT DEVELOPMENT
#rackstackatl
• Coding is done in the open
Open source code development
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
–...
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
–...
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
–...
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
–...
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
–...
#rackstackatl
• Coding is done in the open
• Anyone – cloud provider, ops team, developers, end-users, random passers-by
–...
#rackstackatl
• The history of the ideas behind a piece of code is important when reviewing it
Open source code archaeology
#rackstackatl
• The history of the ideas behind a piece of code is important when reviewing it
• This code is acceptable b...
#rackstackatl
• The history of the ideas behind a piece of code is important when reviewing it
• This code is acceptable b...
#rackstackatl
• The history of the ideas behind a piece of code is important when reviewing it
• This code is acceptable b...
#rackstackatl
• It would be good if the archaeology were not so “archaeological”
Open source code archaeology
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
WHY PRODUCT DEVELOPMENT
IS IMPORTANT FOR OPEN SOURCE
#rackstackatl
• Customer-validated
Modern product development
#rackstackatl
• OpenStack has two customer segments:
– Deployers (consumers of OpenStack software)
– End-users (consumers ...
#rackstackatl
• Customer-validated
– We’ve got data indicating that a proposed feature will actually be used by real custo...
#rackstackatl
• Software development goes better when developers understand:
– The purpose of the feature they’re developi...
#rackstackatl
• Software development goes better when developers understand:
– The purpose of the feature they’re developi...
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
PRODUCT DEVELOPMENT
IN THE OPEN
#rackstackatl
• Product-type people have a skill set that can contribute to the community
Product development in the open
#rackstackatl
• Product-type people have a skill set that can make a serious contribution to the
community
Product develop...
#rackstackatl
• Product-type people have a skill set that can make a serious contribution to the
community
• We can decrea...
#rackstackatl
• Product-type people have a skill set that can make a serious contribution to the
community
• We can decrea...
#rackstackatl
• Product-types have a skill set that can make a serious contribution to the
community
• We can decrease the...
#rackstackatl
• Product-types have a skill set that can make a serious contribution to the
community
• We can decrease the...
#rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM
WHAT YOU CAN DO
#rackstackatl
• Chris Vander Mey, Shipping Greatness (O’Reilly, 2012)
What you can do
#rackstackatl
• Press release before the product is built
What you can do
#rackstackatl
• Press release before the product is built
• FAQ before the product is built
What you can do
#rackstackatl
• Press release before the product is built
• FAQ before the product is built
• Documented use cases
What yo...
#rackstackatl
• Press release before the product is built
• FAQ before the product is built
• Documented use cases
• Custo...
#rackstackatl
• Press release before the product is built
• FAQ before the product is built
• Documented use cases
• Custo...
#rackstackatl
• Examples
–https://wiki.openstack.org/wiki/Glance-property-protections-product
–http://tinyurl.com/ATL-BR-1...
#rackstackatl
• OpenStack is more than code
• Community is key
• Product-type people can contribute to OpenStack
Take-aways
#rackstackatl
• OpenStack is more than code
• Community is key
• Product-type people can contribute to OpenStack
• Product...
#rackstackatl
• OpenStack is more than code
• Community is key
• Product-type people can contribute to OpenStack
• Product...
#rackstackatl
RACKSPACE® HOSTING | 5000 WALZEM ROAD | SAN ANTONIO, TX 78218
US SALES: 1-800-961-2888 | US SUPPORT: 1-800-9...
#rackstackatl
• I just wanted to address a few questions that came up
– The example docs are in their final state.
• What ...
#rackstackatl
•Brian Rosmaita
–@br14nr
–IRC: rosmaita
–brian.rosmaita@rackspace.com
About me
Upcoming SlideShare
Loading in …5
×

Product Development in the Open - OpenStack Summit May 2014 Atlanta

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

  • Be the first to comment

  • Be the first to like this

Product Development in the Open - OpenStack Summit May 2014 Atlanta

  1. 1. (open source isn’t just a developers’ thing) Product Development in the Open
  2. 2. #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
  3. 3. #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
  4. 4. #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
  5. 5. #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
  6. 6. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM WHO CARES ABOUT OPENSTACK?
  7. 7. #rackstackatl • Do end-users care about OpenStack? Who cares about OpenStack?
  8. 8. #rackstackatl • Do end-users care about OpenStack? – I hate to say this, but probably not Who cares about OpenStack?
  9. 9. #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?
  10. 10. #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?
  11. 11. #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?
  12. 12. #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?
  13. 13. #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?
  14. 14. #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?
  15. 15. #rackstackatl • Do providers care about OpenStack? Who cares about OpenStack?
  16. 16. #rackstackatl • Do providers care about OpenStack? – I think current and potential cloud providers care about open-source Who cares about OpenStack?
  17. 17. #rackstackatl • Do providers care about OpenStack? – I think current and potential cloud providers care about open-source • Providers want – Stability Who cares about OpenStack?
  18. 18. #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?
  19. 19. #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?
  20. 20. #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?
  21. 21. #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?
  22. 22. #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
  23. 23. #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?
  24. 24. #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?
  25. 25. #rackstackatl • (I’m kind of scared to pose this next question) Who cares about OpenStack?
  26. 26. #rackstackatl • Are software developers committed to OpenStack? Who cares about OpenStack?
  27. 27. #rackstackatl • Are software developers committed to OpenStack? – It’s pretty scary to even think about this question Who cares about OpenStack?
  28. 28. #rackstackatl • Are you committed to OpenStack? Who cares about OpenStack?
  29. 29. #rackstackatl • Am I committed to OpenStack? Who cares about OpenStack?
  30. 30. #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?
  31. 31. #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?
  32. 32. #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?
  33. 33. #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
  34. 34. #rackstackatl • The community isn’t something to observe … The OpenStack community TRUST + CONTRIBUTION
  35. 35. #rackstackatl • The community isn’t something to observe … • … it’s something to participate in The OpenStack community TRUST + CONTRIBUTION
  36. 36. #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
  37. 37. #rackstackatl • What am I going to do with OpenStack? The OpenStack community TRUST + CONTRIBUTION
  38. 38. #rackstackatl • What am I going to do with OpenStack? • What am I going to do with OpenStack? The OpenStack community TRUST + CONTRIBUTION
  39. 39. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM ASK NOT WHAT OPENSTACK CAN DO FOR YOU, BUT WHAT YOU CAN DO FOR OPENSTACK
  40. 40. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM OPENSOURCE CODE DEVELOPMENT VS. PRODUCT DEVELOPMENT
  41. 41. #rackstackatl • Coding is done in the open Open source code development
  42. 42. #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
  43. 43. #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
  44. 44. #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
  45. 45. #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
  46. 46. #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
  47. 47. #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
  48. 48. #rackstackatl • The history of the ideas behind a piece of code is important when reviewing it Open source code archaeology
  49. 49. #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
  50. 50. #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
  51. 51. #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
  52. 52. #rackstackatl • It would be good if the archaeology were not so “archaeological” Open source code archaeology
  53. 53. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM WHY PRODUCT DEVELOPMENT IS IMPORTANT FOR OPEN SOURCE
  54. 54. #rackstackatl • Customer-validated Modern product development
  55. 55. #rackstackatl • OpenStack has two customer segments: – Deployers (consumers of OpenStack software) – End-users (consumers of cloud services) Modern product development
  56. 56. #rackstackatl • Customer-validated – We’ve got data indicating that a proposed feature will actually be used by real customers Modern product development
  57. 57. #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
  58. 58. #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
  59. 59. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM PRODUCT DEVELOPMENT IN THE OPEN
  60. 60. #rackstackatl • Product-type people have a skill set that can contribute to the community Product development in the open
  61. 61. #rackstackatl • Product-type people have a skill set that can make a serious contribution to the community Product development in the open
  62. 62. #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
  63. 63. #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
  64. 64. #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
  65. 65. #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
  66. 66. #rackstackatlRACKSPACE® HOSTING | WWW.RACKSPACE.COM WHAT YOU CAN DO
  67. 67. #rackstackatl • Chris Vander Mey, Shipping Greatness (O’Reilly, 2012) What you can do
  68. 68. #rackstackatl • Press release before the product is built What you can do
  69. 69. #rackstackatl • Press release before the product is built • FAQ before the product is built What you can do
  70. 70. #rackstackatl • Press release before the product is built • FAQ before the product is built • Documented use cases What you can do
  71. 71. #rackstackatl • Press release before the product is built • FAQ before the product is built • Documented use cases • Customer validation What you can do
  72. 72. #rackstackatl • Press release before the product is built • FAQ before the product is built • Documented use cases • Customer validation • and … What you can do
  73. 73. #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
  74. 74. #rackstackatl • OpenStack is more than code • Community is key • Product-type people can contribute to OpenStack Take-aways
  75. 75. #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
  76. 76. #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
  77. 77. #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.COMRACKSPACE® 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
  78. 78. #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
  79. 79. #rackstackatl •Brian Rosmaita –@br14nr –IRC: rosmaita –brian.rosmaita@rackspace.com About me

×