On Flexibility in System Design