Chapter 35. Get Deployment Right on Day One
Deployment gets the code you and your team have written out into the world. Any system you’ve written that isn’t deployed and in front of a user isn’t generating value. It’s also not giving you feedback about your product and how it helps your users. Hence, getting deployment going is one of the first things most engineering teams (even if that’s just you on day one!) do when they begin to build a product.
Like most items constructed at the start of a company or product’s life, we often create the fastest, simplest solution hack as our deployment system: “I just need something that works, and I’ll worry about making it better later.”
This is a mistake.
The system that gets your code from your engineers to the customer is the most crucial piece of engineering tooling you’ll build—ever.
The capabilities, quality, and performance of your deployment system directly correlate to the speed to market of your product, both in generating value and addressing user feedback and issues. Not only this, your deployment frequency and outcomes represent one of the (rare) early measurements of engineering velocity and quality. If your product or business partners are complaining about things moving too slow, this is one of the first places you should look. Finally, getting code in front of users and seeing your product in action makes ...