Controversial idea:<p>Technical debt is something that 'business users' don't need to or want to care about.<p>If you're having conversations about technical debt, you've messed up, and you will continue to have unsatisfactory outcomes until you stop doing so.<p>You can't tell people; here is a dial, you can pick 'fast and you're screwed later' or 'slow and careful now'. You're setting yourself up for failure; they <i>cannot</i> pick 'slow and careful', because that's not their job; their job is to quickly deliver value/outcomes/whatever.<p>Almost no one has a job of 'go do this really slowly and carefully'.<p>They will always pick fast, and it's your problem later.<p>So... don't do that. Instead, say: this is how long it will take to do.<p>Not "if we rush we could probably do it in..."; no, if you say that, then why are you not rushing now? Do you not care what the business wants? Do you not have 'skin in the game'?<p>Say: This is how long it will take, we estimate. If you want it faster, we can cut some features.<p>Then, do enough of a good job so you can continue to deliver value in the future.<p>That's literally your job.<p>Doing a rubbish job as quickly as you can is not your job. Not ever.<p>You cannot abrogate responsibility for doing your job properly by saying "but I was told to do this", if you <i>literally gave them the choice</i> of A or B, where one of those options was "you have to pick this one, and it lets me get away with doing a rubbish job of it".<p>That's <i>YOU</i> choosing to do a rubbish job.<p>...and to be fair, yeah, there are situations where someone will come and tell you "no, do it now", and that's what you have to do... but you also have to come and clean up afterwards. Not because you're told to, explicitly, because... it's your job.