Let me start by saying that expectations are something that will be a constant battle.
Whether it be security vs usability or stability vs performance, there is also some sort of expectation or trade off that has to be given.
Keys to managing expectations
Generally start in the form of planing and planning well. If you are not going to put the time into researching what you are going to deploy then don’t bother. You are just asking for stress and expectations that are completely blow out.
Although not always possible being able to test what ever is being deployed is a good start in getting a clear indercation if your plan is going to work. You can do all the research in the verse and have a clear layed out plan but with out at least some testing you can still find that things will not always always live up to expectations.
Be realistic. Your a Systems Administrator not a sales person even though you do have to sell your plan. Do it in a factual way, be clear about what you know you can and what you think can to provide. Promising the world and not able to deliver will be an instant failing.
Know who the end user is, normally this will not be the person you are submitting your plan to. The person that you are submitting the plan to may had much different expectations once deployed compared to the end user.
Comparative, remember that implementations of a great new system that runs a billion times faster has great reporting but adds 10 more steps and takes the user 5 mins longer to complete the same task is not an improvement. Compare what they were using to what you have planned. Is it matching their expectations.
Normally when I fail in doing any of these is when things don’t go as planed.