I'm reviewing best practices articles for WCF versioning. A lot of the recommendations revolve around one decision: "Are you using strict versioning? If so, treat every contract as immutable. If not, .. [list of additional recommendations..]"
The problem is that none of these articles really explain scenarios where you would assume strict versioning. That is, with two exceptions: 1) having no clue whatsoever as to what the client deploy base looks like (could be explicitly strict, could be Java, could be anything), and 2) not using WCF to begin with. But in a scenario where clients are carefully distributed within an enterprise, and only WCF is used, are there any other scenarios where one would choose to establish strict validation?