The thing we don't always recognize is, there are constraints either way. Part of the process or designing or solving any problem is to realize what the constraints are - you're unlikely to fulfill any constraints you're not sure about! By focusing on what the constraints should be from the start, you have a clear idea of what problem you're trying to solve