Go to Prod, Go to Prod, Go to Prod

Marina Guvenc
3 min readApr 19, 2021

In software product development, the most important thing to focus on is how to get to production as fast as possible, and then keep getting to production often. Production — meaning live, in the real world and being used and seen by real users. For many years, this was not the case. In fact going to production was seen as a great risk. What if something goes wrong? What if something breaks and users see it?

So why is getting a very early slice of your product out into production so important?

At the most fundamental level there is human psychology. Believing that what you are building is actually going to immediately affect production adds urgency to the work. Even if no users are expected to see or use the new product slice, it will still be out there merged with other production code. And that realization that this new code can break things which are already being used and relied on creates a sense of gravitas. In a world where distractions are everywhere (work included), your project is competing with so many other things for your team members’ attention. If you want it to stand out as something that must be prioritized, you have to frame the process that way.

Every thing on planet Earth is unique. Twins are very similar, but they still have unique traits and genes. Even clones are never truly identical because everything has mutations. Development environments are no different. Dev, QA and staging environments are very useful and I do recommend getting them as identical to production as possible. But they will never truly replicate production. Not all production bugs and glitches can be caught in testing environments. Better to go to prod with a slim slice where bugs can be addressed right away, so that you can move on to further iterations knowing that this piece is stable in prod and bug free.

Most organizations do not develop digital products in a technological vacuum. In some way or another, this new code will live in an already established environment. It’s kind of like using an app to try out new hairstyles. The hairstyles are shown around your face in the app. But if you really want to know how you would look and feel with that new hairstyle, you would actually have to get it. The app only gives you an approximation. In the real world, your head is a certain shape, you live in a certain climate (humid or dry), your hair may be thin or thick. You get the picture. There is no substitution for the real world. And there is no substitution for going to production.

And lastly, there is what I call the Send Phenomenon. Ever write an email and proofread it a few times. But then you press send, re-read it one more time and see typos that you didn’t see before? Only when the email is no longer retractable do those typos show themselves to you. I know we’ve all experienced this. And it’s the same for software. Some things just don’t reveal themselves until they are pushed to production.

A solid testing framework, feature flagging, and having a flawless rollback strategy are all key to going to production safely. It can be done, and it should be done. Go to prod quickly and often and you will see your product thrive!

--

--