open source product management (feat. npm)
TRANSCRIPT
![Page 1: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/1.jpg)
open source product management
with npm
@othiym23 / Forrest L Norvell npm, Inc.
![Page 2: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/2.jpg)
npm
![Page 3: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/3.jpg)
npm is many things• project
• company
• team
• philosophy & ethos
• product family
![Page 4: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/4.jpg)
npm is many softwares
• registry
• website
• CLI
![Page 5: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/5.jpg)
the CLI team
![Page 6: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/6.jpg)
me
![Page 7: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/7.jpg)
npm CLI team duties• meet npm, Inc.’s business objectives
• fix bugs
• support current npm users
• keep npm moving forward
![Page 8: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/8.jpg)
make npm the most useful tool it can be for the most
people
![Page 9: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/9.jpg)
“useful”
![Page 10: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/10.jpg)
pragmatism > rigor
![Page 11: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/11.jpg)
simplicity > completeness
![Page 12: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/12.jpg)
problems > solutions
![Page 13: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/13.jpg)
($ > !$)
![Page 14: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/14.jpg)
![Page 15: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/15.jpg)
• 356 support tickets
• 222 bugs
• 236 feature requests
![Page 16: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/16.jpg)
traditional product management
• own the roadmap
• sell the strategic vision
• mediate between business owners, developers, & other stakeholders
![Page 17: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/17.jpg)
say no a lot, but be stubborn about
what you say yes to
![Page 18: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/18.jpg)
open-source product management
• balance competing demands
• consensus-seeking
• but sometimes you have to say no
![Page 19: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/19.jpg)
example: making npm more
extensible
![Page 20: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/20.jpg)
1. lifecycle
![Page 21: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/21.jpg)
2. ADD M0AR HO0KZ
![Page 22: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/22.jpg)
3. yay!
![Page 23: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/23.jpg)
nope
![Page 24: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/24.jpg)
(2. add more commands, like
git)
![Page 25: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/25.jpg)
npm is not an infinitely extensible
miracle pegacorn
![Page 26: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/26.jpg)
turn the problem inside out
![Page 27: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/27.jpg)
npm as a set of APIs plugged into
a CLI
![Page 28: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/28.jpg)
LET A THOUSAND PACKAGE MANAGERS
BLOOM
![Page 29: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/29.jpg)
CAVEATS
![Page 30: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/30.jpg)
• looked at a lot of different requests
• came up with a global solution for many local problems
• try to keep each goal supporting the others
![Page 31: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/31.jpg)
npm’s roadmap• scoped packages
• multi-stage install / dependency tree realization
• npm as API
• better Windows support
• client-side development support
![Page 32: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/32.jpg)
you
![Page 33: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/33.jpg)
the npm release process
• new release every Thursday
• new releases published to npm@next for about a week of burn-in
• `npm@latest` for safe production release, `npm@next` if you want to help test the next release
![Page 34: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/34.jpg)
supporting npm• the CLI team doesn’t have much time for support
• `npm report` will make crowdsourcing that easier, but it’s a ways out
• answering questions with the `support` label is ❤️ by me
![Page 35: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/35.jpg)
![Page 36: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/36.jpg)
using the npm issue tracker: labels
1.bug, support, feature request
2. next-patch, next-minor, next-major
3. documentation, patch-welcome, and novice
![Page 37: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/37.jpg)
using the npm issue tracker: best practices• don’t add your bug to a closed issue
• …but please do add specific details that helped you
• no such thing as too much information, but gists are useful
• use cases are useful, +1s are terrible
![Page 38: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/38.jpg)
PATCHES WELCOME• pull requests with tests are landed as quickly as practicable
• no patch is too small
• …but some patches are too big
![Page 39: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/39.jpg)
developing npm• `npm test` while developing
• `npm run test-all` before submitting PR
• update the docs, plz
• people who add tests are my favorite people
![Page 40: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/40.jpg)
thanks for listening / thanks for helping / thanks for being you
![Page 41: open source product management (feat. npm)](https://reader034.vdocuments.net/reader034/viewer/2022052602/55a065f21a28ab3f728b4790/html5/thumbnails/41.jpg)
nice people matter