Dear dev team,
Remember how I was confused on our last call? It took me a while but I figured a few things out…
“Production” isn’t staging
When you said you’d push the new code into production and test it and I flipped out? And you said, “Don’t worry, it’ll be fine.” I didn’t realize you were referring to the staging server as “production.”
I take it back, you were right, I shouldn’t have flipped out.
Staging isn’t “mock production” either
On a similar note, when you talk about untested, unaccepted code changes, it’s probably smart not to call the staging environment “mock production.” For one thing, the word “production” is pretty loaded even for your less-technical partners like me. Let’s not use that word unless we’re discussing the public environment where customers interact with our code.
(By the way, what do you call that? “Post-production” or “release” like we’re a Hollywood studio?)
Let’s call the test environment “test,” not “sandbox”
Maybe at this point you think I’m just picking on you. Seriously, though, words are important for a few reasons:
- When we agree on the words we use, we know we’re talking about the same thing. (Remember that time when you were a kid and you started wondering whether everyone else in the world actually saw the same color as you did when you called something blue? It’s like that, only we’re grownups now.)
- Speaking of agreed-upon words, it’s not just me. Professionals have defined these terms.
- It’s hard to take the word “sandbox” seriously. Like when you said, “Frank’s changes caused some real problems in the sandbox,” remember how I laughed at you? It’s because I imagined a middle-aged guy with an unfortunate mustache stomping on sand castles while toddlers cried around him. (Granted, that was unprofessional. I apologize.)
I mean, it’s not like I’m asking you to call the test environment Narnia or i<3c0d3 or anything.
QA is not UAT
One final note — when you say, “Yes it’s ready to go, we just finished UAT and we’ll push the changes right away,” you really should expect me to say, “No.”
UAT means user acceptance testing. I’m the user. I look for problems the way a child does, by interacting with the thing. I try to think of things a confused customer might do. I do dumb things on purpose to try to break it. Malicious things, too, to see whether you already thought of them. (Sorry about that JavaScript injection, but come on, if I could figure out how to do it, anyone could.)
What your testers do is QA: quality assurance. They’re supposed to make sure nothing’s broken in the code itself before you hand it off to me. To make sure the code does what it’s supposed to with the appropriate inputs.
If the code doesn’t work properly without the appropriate inputs, I shouldn’t see it.
As always, appreciate your hard work.
Sincerely,
Your client & end user