So we work in a structure with three week sprints, and we want to give testers time to test.
Currently our process is, write functionality > write unit tests > code review > deploy to testing environment.
What I thought of is that when we have functional code, why are we not deploying it to give testers more time to test things, of course still have a code review, but often writing unit tests can take another day or a few if it's something complex.
So the idea being, write functionality > code review > deploy > write unit tests (and fix bugs) > code review > deploy to testing environment.
The only thing here being that you've got two separate code reviews which takes more time from the code reviewer. Additionally, there is the risk a developer just doesn't write the unit tests afterwards.
Perhaps the answer to this question is not take in work that has the potential to run over, or get better at estimating etc. but when this situation does occur, what's the problem with using this as a backstop?