A team of seniors can still be a team of juniors.
I wrote my first line of code for an iOS app in 2009 (yes, Objective-C back in the days). I've worked at an agency where we did many releases every month. Some of them were automated, but most of them we released manually.
You'll not be surprised to hear that I've got many examples of releases that went wrong: - Using the wrong commit for the release - Releasing with a debug scheme - Targetting staging instead of production
And so on!
What you might expect is that these failures no longer happen in a team of primarily experienced engineers. Though, for those just getting started with iOS development: we still make mistakes!
We did a release manually this time since our CI didn't work. Suddenly, our local configuration was used for delivering a new App Store build. In this case, we forgot to update our local private keys file, which resulted in us releasing an outdated tracking identifier.
The mistake is not the critical part here; it can happen. It's much more important how you deal with these events. For us, this meant writing down a manual for performing releases manually. The first thing this manual states is to make sure our local keys are up to date before performing the release.
Enjoy this week's SwiftLee Weekly! |