The design team should be building designs in tandem with input from developers and product, so that the final agreed-upon design takes into account business requirements and technical constraints.
Nor should this be "final" in the sense that during implementation there may be unexpected problems that require modification of that design - "hey, turns out this widget doesn't work in Safari, we're going to have to come up with a workaround". As long as what comes out in the end is a usable implementation of the business requirement, it doesn't matter whether it matches some arbitrary design ideas from three months ago.