The team I’m on recently released a new product. We’ll call it ShinyNewThing. Several weeks of work and discussion and a soft roll-out to some beta users and we were feeling pretty good about ourselves. People were excited about ShinyNewThing.
Oh, sure, testing had revealed an issue early on, but that was clearly an invalid test, the product would never work like that in the wild, right?
Of course it would.
ShinyNewThing only works on root domains and a lot of people want to put it on subdomains. In retrospect, we’re left asking why we ever assumed they wouldn’t in the first place. In fact, noticing the “bug” (as people were still calling it at the time) was kind of embarrassing.
So the team looked into it and started work on fixing it and included it in our weekly status report. Item six of six, tucked in right at the bottom:
ShinyNewThing for Subdomains
And it hit me.
By labeling it that, we had accidentally created a new product. Retroactively we had eliminated our mistake.
If we’re working on ShinyNewThing for Subdomains now, clearly ShinyNewThing was never meant for subdomains. We didn’t make an assumption, we simply followed a business decision. That that business decision never happened doesn’t matter.
It’s an example of the importance of branding. Nevermind that we’ll never actually use this name publicly, that we’ll own up to it as a bug caught while the product was in beta, and that it’s not intended as a brand. It’s pretty clear that we could hide behind this name if we wanted and no one would be the wiser.