|
That, my friend, sounds a lot like The Cat Ate My Source Code [The Pragmatic Programmer] Price, lead time, quality, (and scope) — pick any two. When the stakes are high, don't rely on your manager to pick quality — that is your responsibility. And if you can't convince your "boss" to give you enough time to deliver something that meets your bar, quit. |
I did this and while it solved my moral dilemma it made things worse for our users.
Many years ago I started my career working for a startup that got bought by a big government contractor. The most incredible people I've ever worked with tried harder than you can imagine to deliver reliable, usable software for the American taxpayer that met the very high bar we set for ourselves.
Because the incentives weren't aligned, most of the good people eventually quit to work at places where they could deliver something that met their bar and were replaced with junior devs and senior clock-watchers.
Every good person who left made that problem slightly harder for those of us who stayed because there was one less person fighting for quality and usability, but the contracts were as big as ever and the new people were less likely to rock the boat so management didn't care that product quality was dropping off a cliff.
In the end it was primarily our users who suffered.