I recently ran into a conflict of interest scenario in two separate situations.
Situation 1 had product management pitched against engineering. Product management wanted to get more bug fixes into the next release. Engineering wanted to stop changing the code so SQA could actually finish what they were doing. The issue? I was filling in for the product manager while serving as the head of engineering. In the end, the conservative voice of engineering won, simply because we didn’t have the resources to run yet another full set of regression tests on a new deployment. But I am not sure the best decision was made about the stuff we left out this go-around – maybe I could have made it work if someone else was there to push back on my decision.
Situation 2 had development pitched against SQA. Development wanted to get a beta release out for field testing sooner than later, to hit an externally imposed deadline. SQA thought it was absurd, as the beta release hasn’t been put through its paces in beta testing. The issue? I was filling in for both development AND SQA. I wrote the code myself and badly wanted to see it exercised in the field. I ended up ceding the release decision to Sales (with predictable results – the beta release is now in field testing.) In hindsight, I pretty much made the de-facto decision to release the beta build myself. No sales organization I know would turn down a demo build with new features, as long as it looked like it worked at least once. Just thinking about this makes me cringe.
My key takeaway is that no matter how short staffed we get, it is absolute lunacy to have the same person fill roles which are meant to check on each other. It’s a recipe for bad decision making. Better to let deliverables slide out in time than give up on the healthy tension that helps ensure a high quality of output.
I’m OK with the first decision, but I feel nauseous each time I think about the second. I hope to God that Murphy’s Law is kind to me just this once, and that nothing bad happens with my horrifically under-tested beta release.