Seth says embrace the constraints absolutely. Some of the best design (in s/w and elsewhere) I have ever seen has had to deal with serious constraints of different forms. Some of the worst design (in s/w and elsewhere) I have seen has been in situations where there were few constraints on the designers.
A very common form of constraint in s/w design is the unknown. "I cannot progrsss the design because I don't know enough about X or Y or Z"...
It is often best to embrace these rather than allow them to slow you down. Make assumptions, document your assumptions and then proceed with the design. Rank assumption variants in terms of their probability and do variant designs based on the high probabilities first.
Unknowns are a fact of life. Deal with it.