When I hit the final Submit button to push our first iPhone application up to Apple for review, I was nervous. Had I remembered everything? Had I done it all correctly? The confusing way that Apple handles certificates and signing your binaries did not help.
Happily, the app submission was correct, and the working application showed up on the App Store a few days later. Still, the trepidation of being the final person to touch something before pushing it live is very real, especially when pushing to an environment where you don’t have the control to make an instant fix if something goes wrong.
It appears that no one is too big to get bitten by a missed last-minute error. Today, Google finally released a native Gmail client for iOS to the App Store. However, this release contained a bug, which, along with breaking notification functionality, generates an error message for every user when first running the application:
Earlier today we launched a new Gmail app for iOS. Unfortunately, it contained a bug which broke notifications and caused users to see an error message when first opening the app. We’ve removed the app while we correct the problem, and we’re working to bring you a new version soon.
I don’t know if this makes me feel better, or simply justified all over again for feeling nervous.
QA (Quality Assurance) is an ongoing process. As we have grown at Jaguar, our QA practices have required revisiting and revising. We have added to our practices incrementally, and we continue to add to them. The challenge is in introducing changes with minimal disruption. It used to be a no-brainer to make changes during quieter times between large projects, but we don’t seem to have those anymore! (A good problem to have, but a challenge for revising practices)
Much like your technology stack, your QA processes isn’t something you can just “set and forget “. They’re either being continuously improved, or they’re decaying.