SlideShare a Scribd company logo
open source 
product management 
with npm 
@othiym23 / Forrest L Norvell 
npm, Inc.
npm
npm is many things 
• project 
• company 
• team 
• philosophy & ethos 
• product family
npm is many 
softwares 
• registry 
• website 
• CLI
the CLI team
me
npm CLI team duties 
• meet npm, Inc.’s business 
objectives 
• fix bugs 
• support current npm users 
• keep npm moving forward
make npm the most useful 
tool it can be for the most 
people
“useful”
pragmatism > 
rigor
simplicity > 
completeness
problems > 
solutions
($ > !$)
open source product management (feat. npm)
• 356 support tickets 
• 222 bugs 
• 236 feature requests
traditional product 
management 
• own the roadmap 
• sell the strategic vision 
• mediate between business 
owners, developers, & other 
stakeholders
say no a lot, but 
be stubborn about 
what you say yes to
open-source product 
management 
• balance competing demands 
• consensus-seeking 
• but sometimes you have to say 
no
example: making 
npm more 
extensible
1. lifecycle
2. ADD M0AR 
HO0KZ
3. yay!
nope
(2. add more 
commands, like 
git)
npm is not an 
infinitely extensible 
miracle pegacorn
turn the problem 
inside out
npm as a set of 
APIs plugged into 
a CLI
LET A THOUSAND 
PACKAGE MANAGERS 
BLOOM
CAVEATS
• 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
npm’s roadmap 
• scoped packages 
• multi-stage install / dependency 
tree realization 
• npm as API 
• better Windows support 
• client-side development support
you
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
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
open source product management (feat. npm)
using the npm issue 
tracker: labels 
1. bug, support, feature request 
2. next-patch, next-minor, next-major 
3. documentation, patch-welcome, 
and novice
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
PATCHES WELCOME 
• pull requests with tests are 
landed as quickly as 
practicable 
• no patch is too small 
• …but some patches are too big
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
thanks for listening / 
thanks for helping / 
thanks for being you
nice people 
matter

More Related Content

PDF
NPM THE GUIDE
PDF
npm + browserify
PDF
Working with npm packages
PDF
Jaap : node, npm & grunt
PDF
Multiple django applications on a single server with nginx
PPTX
Deployment taken seriously with Octopus Deploy and TeamCity
PDF
Frontend Build Tools - CC FE & UX
PDF
Understanding Non Blocking I/O with Python
NPM THE GUIDE
npm + browserify
Working with npm packages
Jaap : node, npm & grunt
Multiple django applications on a single server with nginx
Deployment taken seriously with Octopus Deploy and TeamCity
Frontend Build Tools - CC FE & UX
Understanding Non Blocking I/O with Python

What's hot (20)

PDF
Octopus Deploy Tech Fest 2014
PDF
S&T What I know about Node 110817
PPTX
Infrastructure development on windows ldn cd meetup
PDF
ZendCon 2015 - DevOps for Small Teams
PDF
Making your first contribution to Foreman
PPTX
Introduction to using Grunt & Bower with WordPress theme development
PDF
ZendCon 2015 - Laravel Forge: Hello World to Hello Production
PDF
Grunt js and WordPress
PDF
DevOps tools for everyone - Vagrant, Puppet and Webmin
PDF
Web Leaps Forward
PDF
JUST EAT: Tools we use to enable our culture
PPT
Workshop For pycon13
ODP
What grunt?
PDF
Helpful pre commit hooks for Python and Django
PDF
Rubygem Dev And Workflow
PPTX
Modern Development Tools
PDF
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
PDF
Getting Started with Docker (For Developers)
PPTX
Getting started with Octopus Deploy
PPTX
Vagrant, Chef and TYPO3 - A Love Affair
Octopus Deploy Tech Fest 2014
S&T What I know about Node 110817
Infrastructure development on windows ldn cd meetup
ZendCon 2015 - DevOps for Small Teams
Making your first contribution to Foreman
Introduction to using Grunt & Bower with WordPress theme development
ZendCon 2015 - Laravel Forge: Hello World to Hello Production
Grunt js and WordPress
DevOps tools for everyone - Vagrant, Puppet and Webmin
Web Leaps Forward
JUST EAT: Tools we use to enable our culture
Workshop For pycon13
What grunt?
Helpful pre commit hooks for Python and Django
Rubygem Dev And Workflow
Modern Development Tools
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
Getting Started with Docker (For Developers)
Getting started with Octopus Deploy
Vagrant, Chef and TYPO3 - A Love Affair
Ad

Similar to open source product management (feat. npm) (20)

PDF
Bringing Open-Source Practices to Your Day Job
KEY
Nodeconf npm 2011
PDF
State of the CLI- Kat Marchan
PPTX
Practical Methods for Adopting DevOps - Michael Stahnke
PDF
Get lean tutorial
ODP
Building an Open Source AppSec Pipeline
PPTX
Diving into SngularJS
PDF
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
PDF
Building a custom cms with django
PPTX
Building Open-source React Components
PPTX
Building Open-Source React Components
ODP
Lessons from DevOps: Taking DevOps practices into your AppSec Life
PDF
perlbrew yapcasia 2010
ODP
Matt tesauro Lessons from DevOps: Taking DevOps practices into your AppSec Li...
ODP
CONFidence 2015: Lessons from DevOps: Taking DevOps practices into your AppSe...
PPTX
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
PDF
Implementation Assistance
PPTX
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
PPTX
Continuous Delivery Decision points
ODP
Making security-agile matt-tesauro
Bringing Open-Source Practices to Your Day Job
Nodeconf npm 2011
State of the CLI- Kat Marchan
Practical Methods for Adopting DevOps - Michael Stahnke
Get lean tutorial
Building an Open Source AppSec Pipeline
Diving into SngularJS
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
Building a custom cms with django
Building Open-source React Components
Building Open-Source React Components
Lessons from DevOps: Taking DevOps practices into your AppSec Life
perlbrew yapcasia 2010
Matt tesauro Lessons from DevOps: Taking DevOps practices into your AppSec Li...
CONFidence 2015: Lessons from DevOps: Taking DevOps practices into your AppSe...
Agile Gurgaon 2016 | Thinking Beyond :: Marry Agile and DevOps for Phenomenal...
Implementation Assistance
Choosing Automation for DevOps & Continuous Delivery in the Enterprise
Continuous Delivery Decision points
Making security-agile matt-tesauro
Ad

Recently uploaded (20)

PPTX
web development for engineering and engineering
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPT
Project quality management in manufacturing
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Sustainable Sites - Green Building Construction
PPTX
Lecture Notes Electrical Wiring System Components
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
UNIT 4 Total Quality Management .pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
DOCX
573137875-Attendance-Management-System-original
web development for engineering and engineering
additive manufacturing of ss316l using mig welding
Internet of Things (IOT) - A guide to understanding
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Project quality management in manufacturing
CYBER-CRIMES AND SECURITY A guide to understanding
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Sustainable Sites - Green Building Construction
Lecture Notes Electrical Wiring System Components
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Embodied AI: Ushering in the Next Era of Intelligent Systems
bas. eng. economics group 4 presentation 1.pptx
UNIT 4 Total Quality Management .pptx
Operating System & Kernel Study Guide-1 - converted.pdf
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
573137875-Attendance-Management-System-original

open source product management (feat. npm)

  • 1. open source product management with npm @othiym23 / Forrest L Norvell npm, Inc.
  • 2. npm
  • 3. npm is many things • project • company • team • philosophy & ethos • product family
  • 4. npm is many softwares • registry • website • CLI
  • 6. me
  • 7. npm CLI team duties • meet npm, Inc.’s business objectives • fix bugs • support current npm users • keep npm moving forward
  • 8. make npm the most useful tool it can be for the most people
  • 15. • 356 support tickets • 222 bugs • 236 feature requests
  • 16. traditional product management • own the roadmap • sell the strategic vision • mediate between business owners, developers, & other stakeholders
  • 17. say no a lot, but be stubborn about what you say yes to
  • 18. open-source product management • balance competing demands • consensus-seeking • but sometimes you have to say no
  • 19. example: making npm more extensible
  • 21. 2. ADD M0AR HO0KZ
  • 23. nope
  • 24. (2. add more commands, like git)
  • 25. npm is not an infinitely extensible miracle pegacorn
  • 26. turn the problem inside out
  • 27. npm as a set of APIs plugged into a CLI
  • 28. LET A THOUSAND PACKAGE MANAGERS BLOOM
  • 30. • 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
  • 31. npm’s roadmap • scoped packages • multi-stage install / dependency tree realization • npm as API • better Windows support • client-side development support
  • 32. you
  • 33. 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
  • 34. 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
  • 36. using the npm issue tracker: labels 1. bug, support, feature request 2. next-patch, next-minor, next-major 3. documentation, patch-welcome, and novice
  • 37. 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
  • 38. PATCHES WELCOME • pull requests with tests are landed as quickly as practicable • no patch is too small • …but some patches are too big
  • 39. 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
  • 40. thanks for listening / thanks for helping / thanks for being you