Trade-offs
In the real world, there is no implementation project that does not involve significant trade-offs in terms of design and completion. Even when resources are ample, trade-offs can significantly curtail choices and final selection. Far from being a bad thing, recognizing and learning to deal effectively with trade-offs is welcome, as it is the only means we have, beyond trial and error and making a lot of mistakes, for optimizing our solutions to a point that we achieve satisfactory results.
How to deal with trade-offs? Mapping out alternative directions of development, at each step of the way, and comparing the lists of things required at each alternative step, permits us to gain insight into the calculus of possibilities open to us and the possible costs of adopting one set of alternatives over any other.