Speaking generally, what things do you need to check about your bike (e.g. rear hub width and type, braze-on vs clamp on front derailleur attachment points, etc) in order to determine what groupsets are compatible with it?
Background/ specific example
I have a 2010 Specialized Tricross. It came stock with a 3x9 Shimano groupset with Tiagra shifters & front derailleur, and Deore rear derailleur. It's got about 10,000km on it now, all original parts (yes, I should have replaced the chain and casette long ago but that's a discussion I've already had elsewhere).
I am interested in upgrading the whole groupset, and am leaning towards Shimano 105, 10 or 11 spd. It feels like anything more than that is overkill for this bike. However, I'm not clear if I can just buy one of those groupsets and expect everything to play nice with my frame or are there a bunch of measurements I need to check against first. The only thing I can think of is crank length which I would match to the existing ones.
I'm hoping any answers are generic enough to apply to others in the same situation, but feel free to use my Tricross situation for examples :)