In addition to the guides that Abhinav referenced, if possible try to coolect performance data on the clients you are trying to virtualize. Even if you don't yet have actual VMs but just traditional desktops, try to gather as much data as you can on the desktops, you can then use that data when you are sizing the environment. Several tools work well, VMware Capacity planner is a common on to use though. Try to gather CPU stats, memory stats, Disk and network stats essentially as much IO related as you can gather. Also try to note when the peak loads occur, you will want to know when they work loads will hit your Virtual and Storage environments the hardest.