I've found the biggest bottleneck is bugs. If you catch a bug during development, it takes the least time to fix.
Catch a bug during PR, you need to fix the code, and the PR needs to happen again.
Catch a bug in QA, and you need to fix the code, do another PR, and get it tested again.
This pattern goes right through UAT, and god help you when a bug makes it to Prod.
There is nothing more time consuming than code that was written quickly.