For years, I've been going on and on about untested releases. I hated them with a passion. Every opportunity, I would corner someone and tell them that we had to do something about the problem presented by the number of untested binaries we were releasing.
Recently, I've started to change my opinion. Unprecedented!
First off, the problems.
- The releases aren't packaged
- They aren't consistently versioned
- They aren't tested
- They can cause regressions
- When they go bad, they go _really_ bad
- They may not be reproduceable
- They aren't tracked very well
- They result in a mish-mash of software versions on the customer's platform
Now, the benefits...
- They aren't tested! This saves the company a LOT of money!
- The customer only gets the one fix they are looking for. No side effects!
- The customer accepts the risk for failure!
In my current view, those benefits more than likely outweigh all of the problems! So what if the customer has a mish-mash of software versions? So what if they aren't tested - it's the customer's problem! The customer refuses to sign the "Risk Acceptance Form"? Doesn't change the fact that they have tacitly accepted the risk - they installed it, didn't they?
So, I'm changing my opinion. I'm coming to the point of view that the plethora of untested unpackaged releases isn't a procedural failure in the company, but a good way to get the job done quickly and cheaply.
Since untested releases are SOP, that means that when the process goes wrong, panic isn't required! It isn't a slight against my performance if it fails, it's an accepted risk. Ah, I can feel the stress fading away already.