Existing structure that can't reflect a new requirement is always the cause of development slowing down. Is there a way to avoid it altogether? Does that make sense in any way? Probably not. What's the closest point that actually makes sense? Make structure as general as possible? For every constraint (== structure) provide maximum flexibility == keep things orthogonal.