Before we start talking about Behavioral design patterns, let's talk about your behavior as a developer. Earlier in this book I've talked about how often development failures emerge as a result of bad management practices.
Let's imagine two scenarios:
A company introduces Scrum as a methodology (or another Agile methodology that is lacking in technical knowledge), without their code being agile enough to withstand code. In these scenarios, when a code is added, it is often botched into place and it will almost certainly be the case that the code takes far longer to implement than it would without technical debt. This leads to a slow development speed.
Alternatively, a company follows a strictly pre-defined process and that methodology is set in stone. These processes are often unjustifiable but developers often follow them as they aren't educated in better processes, don't want to enter a bureaucratic dispute to alter them, or may even fear disciplinary...