I think you probably understated the importance of a culture of refactoring.
In one of my roles, the focus was solely on velocity. That meant no technical releases and an incessant rush to get the features out while still blaming people for issues. All that did was to instill a fear of breaking things and encouraged blind copy/paste and doing the bare minimum. One repo had scores of scripts that were several hundreds of LOC each while the difference between them was maybe 10-100 lines. People copied with misalignment/typos intact. When I attempted to refactor some stuff out to a library, the tech lead gave me a scolding citing the discomfort to Support team due to "lack of familiarity" (even though there wasn't any objection from Support team themselves) i.e. better propagation of the familiar ball of mud rather than the unfamiliar cleanliness (the unfamiliarity is usually only temporarily, until people catch up, and eventually results in eminently more readable code and actually speeds up dev velocity). This was just one example of out of a much larger ecosystem that had all sorts of issues built up over many years due to complete disinterest in refactoring.
One of the senior managers told us to focus on speed and that it was ok to break some things and we could fix it iteratively while ignoring and/or being unaware of the ground reality that doing so requires:
- avoiding blame game (not the case in this example)
- having sufficient manpower (again not the case in this example)
- having a culture of fearless refactoring based on technical judgement (definitely not the case in this example).
Apparently it is easy to think you can copy Facebook's move-fast-and-break-things and reap the benefits without fulfilling any of the prerequisites.
Even today, the technically undisciplined management still keeps chasing velocity and keeps being more frustrated that deliveries are progressively getting slower.