@phil_t I haven't checked that out yet. Will give it a read now. Thanks for the link!
@Apoch Part of my approach is changing code design to fit project management to get the game finished because that's the goal. If the game has some inefficiencies but is completed and completed quickly, I'll take that over perfect code design but becomes messier and harder to ever complete (again in indie more so). So even if we have game specific components, building those components in isolation is still better for project management. It's easier to make and easier to test/debug and easier to change. It doesn't require waiting on other components and when those components change it doesn't require my component to change just because that one did even if the functionality in mine stays the same. That's my take on it anyway.