What kind of processes and/or tools do you use to design OSPF cost on links in your environments?
Not sure this is a question that can get a really good answer but it's important to know the preference order of OSPF:
intra area routes inter area routes external type 1 external type 2 NSSA type 1 NSSA type 2
So in some cases adjusting the metric has no effect on traffic engineering. It's important to change the auto-cost reference-bandwidth on Cisco devices so that there is a difference in cost between higher speed interfaces. By default this might be set to 100 Mbit. This would mean that 100 Mbit, gig and 10 gig interfaces would have the same cost.
For faster convergence it's good to have equal cost routes (ECMP) so if you are peering iBGP to a loopback you two paths and if one goes down the impact should not be that big.
I used to work for a large ISP and they set all the costs manually on the transit interfaces. The basic design was to choose the path that had the fewest core hops. The network was designed with access, distribution and core levels with dual links between each level. If there are multiple paths with same number of core hops then choose the path with the lowest delay.
So based on this they designed the paths and set costs on the interfaces. This might require a lot of planning. The bad thing about link state protocols is that they only use the bandwidth of the interface to calculate the metric. So you could have a case where the metric is the same but the distance is significantly longer via one of the paths.
We are talking quite large networks before this would have an impact though.
So I would design it based on bandwidth, number of devices to go through, physical distance (delay) and of course money could be a factor if one path is more expensive than the other.
Costing is often used to merge traffic flows together and achieve better utilization of available bandwidth, but costing can also be used to divide traffic and promote symmetry. Consider this campus design in which each building has two distribution switches and two fiber uplinks. A combination of spanning tree root, hsrp and ospf cost provides perfect separation and symmetry across the uplinks. The key to achieving inbound separation lies in costing of the SVIs on the voice and data vlans.
In our network, we use the line latency to determine the cost. We measure the latency in microseconds and apply that as the cost of the line. It doesn't matter if you use one way or round trip latency, of course. You just need to be consistent. This works for us because our WAN links are almost always 10G, so we don't need take capacity issues into consideration.
This then, builds the lowest latency forwarding topology and if there is a failure of the primary path, then we know we'll get forwarded on the next fastest path available.
Latency is obviously the most important aspect to consider for our network, that's why this works for us. Other networks might prefer cheaper or higher capacity lines over low latency lines. Whatever the business requires is where you should start.