Test everything that’s important

We’re just trying out a few things, no need to write tests for them.

Testing out A/C

Have you ever heard some variation of this? It falls under the general category ship more faster but this one is particularly insidious.

As developers, we’re used to prototyping things or spiking on them to see if they’re feasible. But truly disciplined developers will never let these hastily-built creations go to production without going back and (ideally) re-building them TDD-style or at the very least back filling with tests.

This whole idea originates from a perversion of Eric Reis’ Lean Startup, in which he encourages startups to validate their hypotheses before heavily investing in them. There are 2 pieces that are often missed when PMs think they’re doing things “lean”:

  1. Test your hypothesis prior to investing engineering time in it. This means don’t build it till you’ve (lightly) marketed it and promised “Coming soon!” to anyone who actually clicked on the CTA. If no one (or not enough) people click on the CTA then maybe you don’t need to actually build that shiny new feature you dreamed up.

  2. When you do build that shiny new feature, it’s important to build it well. It can’t be broken for 50% of your users – that is not actually allowed by the Lean Startup.

Just build 5 variations of this feature real quick – we want to test them all out. No need to write tests. Deploy! Deploy now!

Whoa there nelly. It’s important to do things right. You owe it to your customers. You owe it to your colleagues who will be expected to enhance and maintain your work. You owe it to yourself to build something you’re proud of.

But it’s not even important yet, it’s just a test.

If it’s not important, why are we building it?

 
4
Kudos
 
4
Kudos

Now read this

This code sucks

Why you should care # Developers tend to be an opinionated bunch. After all, it’s far easier to recognize bad code than it is to write good code. I imagine this isn’t unique to writing code, but rather a shared experience in most... Continue →