An example of the consequences of what I mean follows. It is systems engineering doctrine that the system should be matched throughout; that is to say, it is regarded as poor practice to have, for example, high reliability components matched with low reliability components since system reliability will really be set by the low reliability components whereas system cost is likely to be set by the high reliability components.
This ignores the fact that since the system will have to change in time it may be very sensible to build in high reliability components in some parts of the system, even though the technology does not provide them for other parts of the system. During the course of the lifetime of the system, there may be a high probability of bringing the low reliability parts up to an equivalent reliability
with the high reliability parts for a reasonable cost. Thus the system could be designed for great improvement in reliability from the very beginning, whereas if
everything is matched to the lower reliability, the cost of improvement becomes gigantic, because the changes are extensive.
In fact, the rule of thumb may not be good engineering at all if the system is designed considering change with time. We should design for growth and a process of technological leapfrogging in the system.