There should be no need for 'wars' or even 'negotiation'.
It's the managers decision - not the developers, really.
The devs can lay out what can be done, and describe what the results will be if various paths are chosen.
'Skip the tests' - you get quality issues, but better schedule.
'Write perfect code' - you get quality, but it could take to long.
The old saying: 'fast' 'quality' or 'cheap' -> pick 2.
If your team is having problems because of bike-shedding over details, or messed up code - this is altogether another issue and needs to be addressed differently.
It's the managers decision - not the developers, really.
The devs can lay out what can be done, and describe what the results will be if various paths are chosen.
'Skip the tests' - you get quality issues, but better schedule.
'Write perfect code' - you get quality, but it could take to long.
The old saying: 'fast' 'quality' or 'cheap' -> pick 2.
If your team is having problems because of bike-shedding over details, or messed up code - this is altogether another issue and needs to be addressed differently.