Should some constraints prove to be especially unfavorable, risky or even expensive for your system or its development, you should definitely try to negotiate them.

An example: Let’s say the company-wide constraint is: “Our software has to be developed in Java”. One of your tasks is the development of a specific smart-card reader, including the appropriate hardware device driver - you should convince your management that such software is better written in either C, Forth or Lua.