I haven’t gone to theatre much, and rarely with big headliners. My best experience was thirty years ago when James Earl Jones and Christopher Plummer headlined Othello. Once or twice I’ve missed a headliner because he was sick or otherwise unavailable, and saw an understudy. It’s a big disappointment.
A funny thing happens, though. Along with the rest of the audience, you try to be extra enthusiastic for the understudy as if to make up for your disgruntled annoyance at missing the headliner. The understudy is there in place, saying all the lines, doing all the actions, emoting all the emotions – but the quality isn’t there. Still you ignore it for the sake of politeness and sympathy, and try to treat the understudy like the star.
Unfortunately this happens in software development, too. There is a software component without specs, without tests, without reliability, but people won’t say anything. Everyone knows what to expect from the component, and just acts or assumes that it has those things. ”Every piece of software has bugs.” When you’re building on such a component it is pretty dicey.
I understand that they may work on something for months or years, often with frustration or long hours, but if the quality isn’t there, patting dev teams on the back is not really doing them any favors any more than stabbing them in the back.
If you expect an installer or an RPM for the software – say it, and mean it. If you want unit tests or integration tests – demand them. If you accept an understudy, that’s the quality you’ll get.