Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Feature Nirvana

Matt Baker
February 01, 2019

Feature Nirvana

When you start a new project, there is a tendency to try and do all the infrastructure work up front, before you begin shipping features. I call this "feature nirvana" and I don't think it ever works. My assertion is that each feature you ship will inform your infrastructure needs, therefore you should only build the infrastructure necessary to ship the feature you're currently working on.

Matt Baker

February 01, 2019
Tweet

More Decks by Matt Baker

Other Decks in Programming

Transcript

  1. Assertion If I build most of the infrastructure up front,

    I can then focus on delivering features. I can be in feature nirvana.
  2. Rationale each feature you ship will inform your infrastructure. If

    you build all your infrastructure first, you are guessing what infrastructure you need. If you are wrong, you have to rework.
  3. Rationale each feature you build informs what you should build

    next. If you can’t know what features you will build, how can you know what infrastructure to build?
  4. When building an api write a test for health-check. Pass

    those tests locally, then build all the infrastructure necessary to ship it to production.
  5. When building UI page write a test for displaying meaningful

    data from the database. Pass the test locally, then build all the infrastructure necessary to ship to production.