I've seen this pattern so many times in my time doing development (although I haven't done game development professionally), and why I tell people to avoid early development optimization. Trying to get things working correct and fast at the same time is an insane ammount of work, by the time you're done the requirements probably changed or the project flops, you'd be better off just getting something to satisfy minimum requirements first then make it fast.
I've seen this pattern so many times in my time doing development (although I haven't done game development professionally), and why I tell people to avoid early development optimization. Trying to get things working correct and fast at the same time is an insane ammount of work, by the time you're done the requirements probably changed or the project flops, you'd be better off just getting something to satisfy minimum requirements first then make it fast.